资源经验分享K最近邻算法项目实战

K最近邻算法项目实战

2019-12-06 | |  56 |   0

原标题:K最近邻算法项目实战

原文来自:博客园      原文链接:https://www.cnblogs.com/weijiazheng/p/10860496.html


这里我们用酒的分类来进行实战练习

下面来代码

1.把酒的数据集载入到项目中


1
2
3
from sklearn.datasets import load_wine
#从sklearn的datasets模块载入数据集
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
#使用.shape来打印数据的概况
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
#导入KNN分类模型
from sklearn.neighbors import KNeighborsClassifier
#指定模型的n_neighbors参数值为1
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]])
#使用.predict进行预测
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


上一篇:nltk的安装和简单使用

下一篇:TensorFlow从1到2(十四)评估器的使用和泰坦尼克号乘客分析

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...