sklearn 学习 1

2017-05-16  本文已影响0人  l_b_n

安装sklearn

找到自己需要的库

numpy+mkl
scipy

简单的代码学习(knn 分类)

import numpy as np
from sklearn import datasets
from sklearn.cross_validation import train_test_split
from sklearn.neighbors import KNeighborsClassifier#k 近邻算法

iris = datasets.load_iris()#是一种花的数据练习集
iris_X = iris.data# 有四个方面的数据;得到的是一个矩阵,每一行代表一朵花的数据
iris_y = iris.target

print(iris_X[:2,:])
'''
[[ 5.1  3.5  1.4  0.2]
 [ 4.9  3.   1.4  0.2]]
取前两朵花的数据
'''
#print(iris_y)
'''
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
'''
#0,1,2代表的是三种不同的花的代号,说明一共有三种


X_train,X_test,y_train,y_test = train_test_split(iris_X,iris_y,test_size = 0.3)
#找出训练集合和验证集合:通过花的四种数据来确定花的种类,其中
#训练的数据占1-test_size = 0.7
print(y_train)
'''
[0 2 0 1 2 1 2 0 2 0 0 2 2 1 1 2 2 1 0 1 2 0 1 0 1 2 2 0 0 2 0 0 0 0 2 2 1
 0 1 2 2 0 0 0 1 0 0 2 2 0 2 0 2 0 2 0 1 2 1 2 0 1 1 0 2 1 0 0 1 0 1 0 2 0
 2 1 1 2 2 1 0 2 1 1 0 2 0 2 1 1 1 0 1 0 1 1 1 2 2 1 1 0 0 1 1]
'''
#发现数据被打乱,体现数据的随机性训练效果更好(有70%的数据用来训练)
knn = KNeighborsClassifier()
knn.fit(X_train,y_train)

print(knn.predict(X_test))#用验证的数据来预测种类返回的
print(y_test)
'''
[1 0 2 2 2 2 0 0 2 0 2 2 2 1 2 1 0 0 2 0 1 1 2 1 1 2 2 1 1 1 0 2 2 0 1 0 1
 1 0 1 0 1 2 2 1]
[1 0 2 2 2 2 0 0 2 0 2 2 2 1 2 1 0 0 2 0 1 1 2 1 1 2 2 1 1 1 0 2 2 0 1 0 1
 1 0 1 0 1 2 2 1]
'''
#对比起来预测的很准确

上一篇下一篇

猜你喜欢

热点阅读