当前位置: 首页 > news >正文

卡尺 东莞网站建设迅当网络深圳外贸网站建设

卡尺 东莞网站建设,迅当网络深圳外贸网站建设,wordpress 禁用响应,关闭网站后弹窗代码目录 一、KNN 算法简介 二、KNN算法的使用 1.读取数据 2.处理数据 三、训练模型 1.导入KNN模块 2.训练模型 3.出厂前测试 四、进行测试 1.处理数据 2.进行测试 总结 一、KNN 算法简介 KNN 是一种基于实例的学习算法。它通过比较样本之间的距离来进行预测。算法的核心…

目录

一、KNN 算法简介

二、KNN算法的使用

1.读取数据

2.处理数据

三、训练模型

1.导入KNN模块

2.训练模型

3.出厂前测试

四、进行测试

1.处理数据

2.进行测试

总结


一、KNN 算法简介

        KNN 是一种基于实例的学习算法。它通过比较样本之间的距离来进行预测。算法的核心思想是:对于一个未知样本,通过找到距离该样本最近的 (k) 个已知样本,根据这些已知样本的标签来预测未知样本的标签或数值。

 

二、KNN算法的使用

1.读取数据

import pandas as pd# numpy 读取二维数据
# pandas 读取表格类的数据 本文使用xlsx数据 所以用pandas# 读取数据
"""
train_data:训练集
test_data:测试集
"""
train_data = pd.read_excel("鸢尾花训练数据.xlsx")
test_data = pd.read_excel("鸢尾花测试数据.xlsx")

 

2.处理数据

  • 提取出特征和分类标签
"""
处理训练集数据;
数据重排;
变量与标签分离.
"""
train_x = train_data[['萼片长(cm)', '萼片宽(cm)', '花瓣长(cm)', '花瓣宽(cm)']]  # 特征
train_y = train_data[['类型_num']]  # 提取单列返回series 需要用[]将其变成列表   # 标签
  • 将每一列数据进行标准化处理,减小误差(大部分情况下能够减小误差)
"""
标准化语法       归一化:0~1 是对每一个特征列进行归一化
Z-Score标准化         -1~1
"""# 这里用的是scale模块 即Z-Score标准化方法
from sklearn.preprocessing import scaledata = pd.DataFrame()
# 对每一列数据进行标准化  目标: 让每个特征数据都在差不多大小范围内
data['萼片长标准化'] = scale(train_x['萼片长(cm)'])
data['萼片宽标准化'] = scale(train_x['萼片宽(cm)'])
data['花瓣长标准化'] = scale(train_x['花瓣长(cm)'])
data['花瓣宽标准化'] = scale(train_x['花瓣宽(cm)'])

 

三、训练模型

1.导入KNN模块

"""
使用sklearn库中的KNN模块
"""
from sklearn.neighbors import KNeighborsClassifier

 

2.训练模型

  1. knn = KNeighborsClassifier(n_neighbors=9): 创建一个 KNN 分类器对象

  2. n_neighbors=9 表示选择 9 个最近邻居来进行分类

  3. 使用交叉验证等方法选择合适的 K 值。常用的选择方式是尝试不同的 K 值,并选择表现最好的 K。
  4. 选择奇数的 K 值可以避免在分类时出现平局情况。

  5. knn.fit(data, train_y): 使用 data 作为特征数据和 train_y 作为目标标签训练 KNN 模型。训练完成后,knn 变成一个已经训练好的模型,可以用来对新数据进行预测。

knn = KNeighborsClassifier(n_neighbors=9)  # 参数最好是奇数 均值好判断
knn.fit(data, train_y)  # 训练模型  knn就是训练好的模型

 

3.出厂前测试

  • 使用训练集数据和分类对这个训练好的模型进行出厂前的测试
train_predicted = knn.predict(data)  # 用knn模型对训练集data进行预测  相当于复习
score = knn.score(data, train_y)  # 直接将使用data数据预测后的数据与data数据原分类进行对比 可以用来判断复习的正确率
print(score)
  • 测试结果:
0.9696969696969697  # 说明该模型存在一点误差

 

四、进行测试

1.处理数据

  • 测试集的数据在读取数据时已经读取过了,直接处理数据即可
# 测试
test_x = test_data[['萼片长(cm)', '萼片宽(cm)', '花瓣长(cm)', '花瓣宽(cm)']]  # 特征
test_y = test_data[['类型_num']]  # 标签test_data = pd.DataFrame()
# 对每一列数据进行标准化
test_data['萼片长标准化'] = scale(test_x['萼片长(cm)'])
test_data['萼片宽标准化'] = scale(test_x['萼片宽(cm)'])
test_data['花瓣长标准化'] = scale(test_x['花瓣长(cm)'])
test_data['花瓣宽标准化'] = scale(test_x['花瓣宽(cm)'])

 

2.进行测试

test_predicted = knn.predict(test_data) # 使用knn模型对test_data数据进行预测
print(test_predicted)
score = knn.score(test_data, test_y)    # 判断测试集正确率
print(score)

测试结果:

[0 0 0 0 0 1 0 1 1]
0.8888888888888888

 

总结

        KNN 算法是一种直观且实用的机器学习算法,适用于许多实际问题。它的优点在于简单易用,但在处理大数据集或高维数据时可能会遇到计算性能问题。通过合理选择 K 值和距离度量,可以提高 KNN 算法的效果。

http://www.yayakq.cn/news/281874/

相关文章:

  • 网站更新seo国外教做美食网站
  • wordpress整站源码带数据软件开发外包有前途吗
  • 织梦个人博客网站源码沈阳京科男科医院
  • 广东省东莞市建设培训中心网站沈阳建设网站建站
  • 完备的常州网站推广多语种网站后台
  • 吕梁市网站建设公司台州建设局网站信息价
  • 建设部网站投诉如何注册wordpress 网站播放器
  • 贵阳手机网站建设费用创建一个购物网站需要什么
  • 沈阳市网站建设企业做中介最好用的网站
  • 商业网站建设的目的关键词搜索热度查询
  • 网站建设丶金手指下拉15如何在自己电脑上做网站
  • 河北住房与建设信息网站wordpress 论坛系统
  • 佛山网站建设推广服务专业网店推广
  • 做网站和app哪个简单建设个网站需要多少钱
  • 怎样自己制作公司网站上传asp.net 网站开发视频教程
  • 郑州好的网站建设公司win 2003 网站 管理员
  • 水滴查企业查询企业网站排名提升软件智能优化
  • 网站 php .net大余县网站
  • 百度seo公司整站优化嘉兴网站建设哪家做得好
  • 2017做啥网站能致富网站维护会关闭吗
  • 料远若近网站建设四川 优质高职建设网站
  • 人防工程做资料的网站长沙市建设厅官方网站
  • 哈尔滨铁路局建设网站张家港网络推广
  • 南宁市做网站的公司优秀网站建设多少钱
  • 做粥哪个美食网站好哪种编程语言可以做网站
  • 黄页营销网站视频免费大全邢台最近发生的新闻
  • 南山网站建设深圳信科怎么做学校网站和微信公众号
  • 网站数据库清空app开发难吗
  • 适合团购报名的网站开发做网站招商需要具备什么
  • 网站详情页设计昆山外贸公司网站建设流程