机器学习项目实战——06KNN算法之水果分类
数据集说明:
一共58个数据样本
因为水果的名字是字符串,对其进行编码。
labelencoder = LabelEncoder()
data.iloc[:,0] = labelencoder.fit_transform(data.iloc[:,0])
对水果进行分类,最后预测正确值。一共有四类。
对于KNN算法,K的取值是需要自己设置的,sklearn中默认是5,水果分类实验中从1到30进行了选择,选取最好的那个k值再用于预测。
最终输出的是模型的得分。
整体代码:
from sklearn.neighbors import KNeighborsClassifier
import numpy as np
import pandas as pd
from sklearn.preprocessing import LabelEncoder
import matplotlib.pyplot as pltdata = pd.read_csv('fruit_data.csv')
# print(data)labelencoder = LabelEncoder()
data.iloc[:,0] = labelencoder.fit_transform(data.iloc[:,0])
# print(data)# print(labelencoder.classes_)from sklearn.model_selection import train_test_split
# 切分数据集,stratify=y表示切分后训练集和测试集中的数据类型的比例跟切分前y中的比例一致
# 比如切分前y中0和1的比例为1:2,切分后y_train和y_test中0和1的比例也都是1:2
# 设置random_state,使用同样的随机方式来切分数据
x_train,x_test,y_train,y_test = train_test_split(data.iloc[:,1:], data.iloc[:,0], test_size=0.3, stratify=data.iloc[:,0], random_state=20)# 保存不同k值测试集准确率
test_scores = []
# 保存不同k值训练集准确率
train_scores = []# 设置30个k值
k = 30
for i in range(1,k):knn = KNeighborsClassifier(i)knn.fit(x_train,y_train)# 保存测试集准确率test_scores.append(knn.score(x_test,y_test))# 保存训练集准确率train_scores.append(knn.score(x_train,y_train))plt.title('k-NN Varying number of neighbors')
plt.plot(range(1,k),test_scores,label="Test")
plt.plot(range(1,k),train_scores,label="Train")
plt.legend()
plt.xticks(range(1,k))
plt.xlabel('k')
plt.ylabel('accuracy')
plt.show()# 选择一个最好的k值作为模型参数
k = np.argmax(test_scores)+1
knn = KNeighborsClassifier(k)
knn.fit(x_train,y_train)
print(k)
print(knn.score(x_test,y_test))
机器学习项目实战——06KNN算法之水果分类相关推荐
- 机器学习项目实战——15Kmeans算法之NBA球队实力聚类分析
聚类是无标签的 就是无监督学习 整体代码: from sklearn.cluster import KMeans import numpy as np import matplotlib.pyplot ...
- 【机器学习项目实战】Python基于协同过滤算法进行电子商务网站用户行为分析及服务智能推荐
说明:这是一个机器学习实战项目(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取. 1.项目背景 电子商务网站数量迅速上升,将电子商务网站浏览者变为实际消费者,满 ...
- 机器学习项目实战——02回归算法之葡萄酒质量与时间的关系
数据集,机器学习项目实战--数据集与代码-机器学习文档类资源-CSDN文库 采用的是一元线性回归模型 import numpy as np import matplotlib.pyplot as pl ...
- 【机器学习项目实战】Python实现聚类(Kmeans)分析客户分组
说明:这是一个机器学习实战项目(附带数据+代码),如需数据+完整代码可以直接到文章最后获取. 1.问题定义 在日常银行.电商等公司中,随着时间的推移,都会积累一些客户的数据.在当前的大数据时代.人工智 ...
- python智慧城市_智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- 智慧城市背景下Python机器学习项目实战案例分享
首先,何为智慧城市?智慧城市的"智慧"源自何处? 智慧城市的特征在于运用大数据和数字技术提高居民生活质量. 机构获得的数据越全面.越实时,它们就越有能力观测事件发生的详情.分析需求 ...
- 机器学习项目实战-能源利用率 Part-3(特征工程与特征筛选)
博主前期相关的博客可见下: 机器学习项目实战-能源利用率 Part-1(数据清洗) 机器学习项目实战-能源利用率 Part-2(探索性数据分析) 这部分进行的特征工程与特征筛选. 三 特征工程与特征筛 ...
- 机器学习项目实战(五) 住房价格预测
机器学习项目实战系列 住房价格预测 目录 机器学习项目实战系列 住房价格预测 一.概述 二.分析数据 1.数据导入 2.基础统计运算 3.特征观察 4.建立模型 5.分析模型表现 (1)学习曲 ...
- 【机器学习项目实战案例目录】项目详解 + 完整源码
前言 大家好,我是阿光. 本专栏整理了<机器学习项目实战案例>,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码. 正在更新中~ ✨
最新文章
- 模式设计概述:反应器(Reactor)模式
- python七:编码
- 相机标定获得内参矩阵及其他参数
- NSNumber 以及NSInteger,NSNumber以及Int的区别
- Python中的time、datetime、calendar模块(时间模块)
- JavaScript 访问对象属性和方法及区别
- 设计模式:单例和简单工厂
- eclipse中添加插件的方法
- 非功能性需求_非接触式喷射自动点胶机的优势在哪儿?
- JavaScript之继承(原型链)
- bat代码如何处理中文目录
- python三大器物---装饰器
- 微信小程序+“芝麻小客服”可设自动关注公众号,助力运营闭环
- 【Java 8 新特性】Java CompletableFuture thenApply()
- html如何制作圣诞树,分享用HTML5来实现一个3D逼真的圣诞树
- 巨杉数据库MySQL_【SequoiaDB】5 巨杉数据库SequoiaDB基本操作
- ts的.d.ts和declare究竟是干嘛用的
- 今日芯声 | 大大大!世界上最大的移动电源将前往北极圈
- 电影「哪吒之魔童降世」免 费 高 清 完 整 版 在 线 观 看
- IBM developerWorks linux 技术论坛