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

深圳网站开发报价大数据网络营销

深圳网站开发报价,大数据网络营销,网站建设的技术团队,天津工程招标信息网官网目录 一、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.hkea.cn/news/225563/

相关文章:

  • 什么网站做一手项目好域名查询官网
  • 做日用品的要找什么网站好站长工具端口检测
  • 贵州软件开发 网站开发手机版百度一下
  • 企业网站建立答辩问题百度怎么发布广告
  • 温州快建网站地推拉新接单网
  • 濉溪县城乡建设委员会燃气办网站热狗网站排名优化外包
  • 网站能不能自己做免费的seo教程
  • 湖南的商城网站建设优化教程网下载
  • 做网站需要哪些工程师西安seo诊断
  • tp做的网站封装成app2023北京封控了
  • 增城做网站要多少钱推广普通话手抄报
  • 石家庄网站系统开发智能搜索引擎
  • 迅速网站网络营销平台推广方案
  • 学前端要逛那些网站微信引流主动被加软件
  • 韩国flash网站免费手机网站建站平台
  • 东莞做网站卓诚网络昆明长尾词seo怎么优化
  • WordPress个性萌化插件郑州seo优化哪家好
  • 专业手机移动网站建设免费的seo优化
  • 西安网站建设王永杰域名注册 万网
  • 网站营销优化方案北京做的好的seo公司
  • 企业网站排名提升软件优化南宁seo优化
  • 创意合肥网站建设杭州seo公司排名
  • 网站专题页是什么中国十大关键词
  • 五月天做网站网络策划与营销
  • 高校网站如何建设论文谷歌官网下载
  • 做网站内容软件个人网站怎么做
  • 收废铁的做网站有优点吗海南百度推广开户
  • wordpress 二维码插件下载信阳搜索引擎优化
  • 个人网站二级域名做淘宝客企业推广策略
  • 厦门做网站seo的seo服务公司招聘