【sklearn练习】鸢尾花

一、

import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

第二行:导入datasets数据集

第三行:train_test_split 的作用是将数据集随机分配训练集和测试集。

第四行:采用的模型是,KNeighborsClassifier,实现 k 最近邻投票的分类器。

二、

iris = datasets.load_iris()
iris_X = iris.data
iris_y = iris.target

第一行,获取鸢尾花数据集

第二行,将data存入iris_X

第三行,将标签存入iris_y 

三、

print(iris_X[:2, :])
print(iris_y)

第一行,打印数据的前两行

第二行,打印标签

输出结果为:

[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]]
[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]

四、

X_train, X_test, y_train, y_test = train_test_split(
    iris_X, iris_y, test_size=0.3)
print(y_train)

第一行,函数 train_test_split 将数据集乱序分为训练集和测试集。

第三行,打印y_train查看

输出结果为:

[1 1 2 0 0 2 2 0 0 0 1 0 2 0 2 1 0 1 0 2 2 2 0 1 0 2 2 2 1 0 0 1 0 0 0 0 2
 2 1 0 1 0 0 1 2 2 2 2 2 2 1 2 1 1 1 2 1 1 2 0 2 1 0 2 2 0 1 1 1 2 2 1 1 0
 1 0 1 1 2 2 2 2 1 1 0 0 0 2 1 0 0 1 1 2 0 0 0 2 2 0 2 1 0 0 2]

五、

knn = KNeighborsClassifier()
knn.fit(X_train, y_train)

第一行,类实例化

第二行,完成模型训练

六、

print(knn.predict(X_test))
print(y_test)

对比模型预测的标签和原标签

输出结果为:

[1 2 0 0 0 2 2 0 2 1 1 0 1 2 1 1 0 1 0 1 1 0 0 0 2 1 0 0 1 1 2 2 2 0 2 1 2
 1 2 2 2 1 0 2 1]
[1 2 0 0 0 2 2 0 2 1 1 0 1 2 1 1 0 1 0 1 1 0 0 0 2 1 0 0 1 1 2 2 2 0 1 1 2
 1 2 1 2 1 0 2 1]

你可能感兴趣的:(机器学习,sklearn,人工智能,python)