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

自助建站网站的宣传手册在线咨询 1 网站宣传

自助建站网站的宣传手册,在线咨询 1 网站宣传,成都响应网站建设,大型网站建设哪个好目录 一、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.khdw.cn/news/23966.html

相关文章:

  • 上海海宏建设集团网站百度云搜索引擎
  • 郑州便宜网站建设报价短视频如何引流与推广
  • 南昌医院网站建设中山口碑seo推广
  • 证明做二维码打款网站链接网站推广方法
  • 网站建设财务策划书东莞关键词优化平台
  • 公司网站建设怎么做十大seo免费软件
  • 企业管理咨询顾问优化设计电子版
  • 永久免费个人网站网络营销教学大纲
  • 微信浏览的网站怎么做一键复制白云百度seo公司
  • 网站建设 推广杭州优化排名哪家好
  • 做nba直播网站好seo长尾快速排名
  • 深圳网站制作建设2021国内最好用免费建站系统
  • 奉贤网站开发百度推广seo怎么学
  • 查做外贸客户的网站百度app推广
  • 虎门仿做网站百度上搜索关键词如何在首页
  • 南通动态网站建设做个小程序需要花多少钱
  • php可以做视频网站自动收录
  • 恩施网站制作公司成人用品推广网页
  • 备案网站ip英文seo
  • 怎么做网站自动采集数据贵州快速整站优化
  • 企业网络营销策划方案范文上海全国关键词排名优化
  • jquery win8风格企业网站模板亚马逊关键词排名查询工具
  • 音乐网站开发结语黑马培训机构可靠吗
  • 白羊影院windows优化大师好用吗
  • 网站的title必应搜索引擎国际版
  • 学校网站群建设搜索引擎网站
  • 免费自己做网站手机软件成人营销管理培训班
  • 湖北网站建设价格b2b采购平台
  • 国外建设网站情况打字赚钱平台 学生一单一结
  • 如何做购物网站推广百度快照优化排名