原标题:K最近邻算法项目实战
原文来自:博客园 原文链接:https://www.cnblogs.com/weijiazheng/p/10860496.html
这里我们用酒的分类来进行实战练习
下面来代码
1.把酒的数据集载入到项目中
1 2 3 | from sklearn.datasets import load_wine
wine_dataset = load_wine()
|
1 2 3 4 5 6 7 | print ( 'nnn' )
print ( '代码运行结果:' )
print ( '====================================' )
print ( '红酒数据集中的键:n{}' . format (wine_dataset.keys()))
print ( '====================================' )
print ( 'nnn' )
|
1 2 3 4 5 6 7 | print ( 'nnn' )
print ( '代码运行结果:' )
print ( '====================================' )
print ( '数据概况:{}' . format (wine_dataset[ 'data' ].shape))
print ( '====================================' )
print ( 'nnn' )
|
1 2 | print (wine_dataset[ 'DESCR' ])
|
2.下面我们来生成训练集和测试集来训练和测试K最近邻算法模型
后面的例子中我们用大写的X来表示数据的特征,用小写的y表示数据对应的标签.这是因为X是一个二维数组,也称为矩阵,而y是一个一维数组,或者说是一个向量
1 2 3 4 | from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(wine_dataset[ 'data' ],wine_dataset[ 'target' ],random_state = 0 )
|
1 2 3 4 5 6 7 8 9 10 11 12 13 | print ( 'nnn' )
print ( '代码运行结果:' )
print ( '====================================' )
print ( 'X_train shape:{}' . format (X_train.shape))
print ( 'X_train shape:{}' . format (X_test.shape))
print ( 'X_train shape:{}' . format (y_train.shape))
print ( 'X_train shape:{}' . format (y_test.shape))
print ( '====================================' )
print ( 'nnn' )
|
3.使用K最近邻算法进行建模
1 2 3 4 | from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors = 1 )
|
接下来使用knn方法中的"fit()"(拟合)方法来进行建模
1 2 3 4 5 6 7 8 | print ( 'nnn' )
print ( '代码运行结果:' )
print ( '====================================' )
knn.fit(X_train,y_train)
print (knn)
print ( '====================================' )
print ( 'nnn' )
|
4.训练好了模型,接下来我们使用模型对新样本的分类进行预测
先来看一下模型的评分:0.76(不算好,也不算差,只进行测试K最近邻算法,权且消遣)
1 2 3 4 5 6 7 | print ( 'nnn' )
print ( '代码运行结果:' )
print ( '====================================' )
print ( '测试数据集得分:{:.2f}' . format (knn.score(X_test,y_test)))
print ( '====================================' )
print ( 'nnn' )
|
5.接下来大餐来了,甭管准不准,先来预测一下吧
1 2 3 4 5 6 7 8 9 10 11 | import numpy as np
X_new = np.array([[ 13.2 , 2.77 , 2.51 , 18.5 , 96.6 , 1.04 , 2.55 , 0.57 , 1.47 , 6.2 , 1.05 , 3.33 , 820 ]])
prediction = knn.predict(X_new)
print ( 'nnn' )
print ( '代码运行结果:' )
print ( '====================================' )
print ( '预测新红酒的分类为:{}' . format (wine_dataset[ 'target_names' ][prediction]))
print ( '====================================' )
print ( 'nnn' )
|
结果是:
代码运行结果:
====================================
预测新红酒的分类为:['class_2']
====================================
总结:
ok,作为第一个机器学习的小实战,这的确是激动人心的,不过这远远达不到我们的要求,在求知的道路上我们永不止步
文章引自:《深入浅出python机器学习》
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com