以下代码在pycharm+pyhton 2.7+anaconda环境测试通过。
#!/usr/bin/python
#-*- coding:UTF-8 -*-
from sklearn import datasets
from sklearn.cross_validation import train_test_split
from sklearn.neighbors import KNeighborsClassifier
iris = datasets.load_iris() #从python库里面下载iris的数据咯,150朵花的数据
iris_X = iris.data #iris数据集里面的每朵花的属性值(说白了就是花瓣尺寸之类的),先拿下来,放在iris_X变量,记住,后面但凡X的就是花的属性值
iris_y = iris.target #iris数据集里面的每朵花的类别名字(说白了就是这朵花是iris里面的哪一类),也拿下来,放在iris_y变量
"""
#来来,如果你还是好奇他们到底是什么东东的话,自己打印出来看看
print(iris_X)
print(iris-y)
"""
#在我们抡起算法前,我们还要对拿下来的数据做点事情,1.把数据打散啊;2.数据里面拿30%出来做测试数据啊;
X_train,X_test,y_train,y_test = train_test_split(
iris_X,iris_y,test_size=0.3 #150朵花里面,拿出30%出来做实验用的。
)
knn = KNeighborsClassifier() #定义模块方式
knn.fit(X_train,y_train) #用fit函数来训练上面准备好的训练集数据啦
print(knn.predict(X_test)) #训练完数据,就有模型了,这一步就是用训练好的模型去预测测试集的数据,也就是让模型自己去判断这30%的花朵是属于什么类别
print("=================")
print(y_test) # 这一行是打印出测试集的分类数据,用来跟上面预测的数据做对比的,说白了就是你在开发环境肉眼对比一下,是不是大概都对得上
版权声明:本文为Derek Wong 原创文章,转载请注明来源网址。