针对“python中scikit-learn机器代码实例”,我整理了以下完整攻略:
Scikit-learn简介
Scikit-learn是一个用于机器学习的Python库,它基于NumPy、SciPy和matplotlib等科学计算工具,提供了各种机器学习算法的实现,包括分类、回归、聚类、降维等。它的特点是简单易用、功能齐全、高效稳定、开源免费,是Python机器学习领域的重要工具之一。Scikit-learn的主要模块包括数据预处理、模型选择、特征提取、模型评估等。
Scikit-learn安装
使用Scikit-learn之前,需要先安装Scikit-learn库及其依赖库。可以通过以下命令安装:
pip install scikit-learn
Scikit-learn示例1:鸢尾花分类
鸢尾花是常用的机器学习数据集之一,它包含3个品种的数据,每个品种样本数是50个,每个样本包含4个特征(萼片长度、萼片宽度、花瓣长度、花瓣宽度),共150个样本。我们可以使用Scikit-learn库中的KNN算法对鸢尾花进行分类,下面是代码实现:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data # 特征矩阵
y = iris.target # 目标向量
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
# 训练KNN分类器
clf = KNeighborsClassifier(n_neighbors=3, p=2)
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 打印分类准确率
accuracy = clf.score(X_test, y_test)
print("分类准确率:", accuracy)
在上面的代码中,我们通过load_iris
函数加载鸢尾花数据集,将数据集划分成训练集和测试集,并使用KNN算法建立分类器。最后输出了分类准确率。运行代码后,可以看到分类准确率约为95%左右。
Scikit-learn示例2:手写数字识别
手写数字识别是经典的机器学习问题之一,它的任务是将手写数字图片自动识别为对应的数字。我们可以使用Scikit-learn库中的SVM算法对手写数字进行识别,下面是代码实现:
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载手写数字数据集
digits = load_digits()
X = digits.data # 特征矩阵
y = digits.target # 目标向量
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
# 训练SVM分类器
clf = SVC(kernel='rbf', C=1.0, gamma='scale')
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算分类准确率
accuracy = accuracy_score(y_test, y_pred)
print("分类准确率:", accuracy)
在上面的代码中,我们通过load_digits
函数加载手写数字数据集,将数据集划分成训练集和测试集,并使用SVM算法建立分类器。最后输出了分类准确率。运行代码后,可以看到分类准确率约为97%左右。
以上就是“python中scikit-learn机器代码实例”的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中scikit-learn机器代码实例 - Python技术站