机器学习之实现、建模、训练、预测

首先获取训练的数据,参考iris数据加载

from sklearn import datasets
iris = datasets.load_iris()
x=iris.data
y=iris.target

使用k近邻算法(knn)

先调用knn算法模块

from sklearn.neighbors import KNeighborsClassifier

创建一个模型实例,先命名为knn,先设k为3

knn=KNeighborsClassifier(n_neighbors=3)

让knn模型学习训练

knn.fit(x,y)

上面这行代码等于knn=knn.fit(x,y)

也可以把他赋值给任意变量,学习后的模型是同一个模型,只不过名称不一样。

让学习训练后的模型开始预测

因为之前iris.data数据的数组里的行数有4个,所以一行的数据也要输入4个,随便输个

knn.predict([[1,2,3,4]])
array([1])

预测结果是1

换个模型,让k=7,接受同样的学习

knn_7=KNeighborsClassifier(n_neighbors=7)
knn_7.fit(x,y)

可以同时输入两个或多个数据进行预测

many=[[1,2,3,4],[4.6,3.4,1.4,0.3]]
knn_7.predict(many)
array([1, 0])
print(knn_7)
KNeighborsClassifier(n_neighbors=7)

可以看到k=7,也确认了之前的模型

kii=KNeighborsClassifier()
print(kii.n_neighbors)
5

k没有赋值,说明k的默认值是5

经验分享 程序员 微信小程序 职场和发展