首先获取训练的数据,参考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