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

住房与城乡建设部网站工程造价外链工具xg

住房与城乡建设部网站工程造价,外链工具xg,青岛建设投资公司网站,iis 隐藏网站机器学习:学习k-近邻(KNN)模型建立、使用和评价 文章目录机器学习:学习k-近邻(KNN)模型建立、使用和评价一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.数据读取2.数据理解3.数据准备4.算…

机器学习:学习k-近邻(KNN)模型建立、使用和评价


文章目录

  • 机器学习:学习k-近邻(KNN)模型建立、使用和评价
  • 一、实验目的
  • 二、实验原理
  • 三、实验环境
  • 四、实验内容
  • 五、实验步骤
    • 1.数据读取
    • 2.数据理解
    • 3.数据准备
    • 4.算法选择及其超级参数的设置
    • 5.具体模型的训练
    • 6.用模型进行预测
    • 7.模型评价
  • 总结


一、实验目的

学习kNN(k-Nearest Neighbors)算法

二、实验原理

k-近邻(kNN,k-Nearest Neighbors)算法是一种基于实例的分类方法。该方法就是找出与未知样本x距离最近的k个训练样本,看这k个样本中多数属于哪一类,就把x归为那一类。k-近邻方法是一种懒惰学习方法,它存放样本,直到需要分类时才进行分类,如果样本集比较复杂,可能会导致很大的计算开销,因此无法应用到实时性很强的场合。

kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 kNN方法在类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。

K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成反比

例如,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。
在这里插入图片描述
在KNN中,通过计算对象间距离来作为各个对象之间的非相似性指标,避免了对象之间的匹配问题,在这里距离一般使用欧氏距离或曼哈顿距离:
在这里插入图片描述
接下来对KNN算法的思想总结一下:就是在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:

1.计算已知类别数据集中的点与当前点之间的距离;

2.按照距离递增次序排列;

3.选取与当前点距离最小的 K 个点;

4.确定前 K 个点所在类别的出现频率;

5.返回前 K 个点出现频率最高的类别作为当前点的预测分类

三、实验环境

Python 3.9

Anaconda

IPython Notebook

四、实验内容

学习KNN算法,了解模型创建、使用模型及模型评价等操作

五、实验步骤

1.数据读取

1.导入os模块,返回当前工作路径

import os
os.getcwd()

在这里插入图片描述

2.导入pandas和numpy包,并改变工作目录

import pandas as pd
import numpy as np
import os
os.chdir(r'D:\CSDN\数据分析\KNN')
print(os.getcwd())

在这里插入图片描述

3.读取该目录下的bc_data.csv文件,并返回文件内容

bc_data = pd.read_csv(r'D:\CSDN\数据分析\KNN\bc_data.csv', header=0)  
bc_data.head() 

在这里插入图片描述

其中header参数用来指定数据开始读取行数。设置为0表示从第一行开始读取,设置为1,表示从第二行开始读取

2.数据理解

1.shape函数是numpy.core.fromnumeric中的函数,直接用.shape可以快速读取矩阵的形状,使用shape[0]读取矩阵第一维度的长度

bc_data.shape

在这里插入图片描述

2.查看bc_data的列名

print(bc_data.columns)

在这里插入图片描述

3.查看bc_data的描述性统计

bc_data.describe()

在这里插入图片描述

3.数据准备

1.删除bc_data中的id列,其中axis使用0值表示沿着每一列或行标签\索引值向下执行方法,使用1值表示沿着每一行或者列标签模向执行对应的方法

data = bc_data.drop(['id'],axis = 1)
print(data.head())

在这里插入图片描述

2.删除data文件中的diagnosis列并查看X_data内容

X_data = data.drop(['diagnosis'], axis=1)          
X_data.head()  

在这里插入图片描述

3.使用numpy中的ravel()方法将data中的多维数据降为一维,并使用切片查询y_data

这里需要注意的是np.ravel()返回的是视图,修改时会影响原始矩阵

y_data = np.ravel(data[['diagnosis']])    
y_data[0:6] 

在这里插入图片描述

4.导入sklearn库中的train_test_split函数,划分训练集和测试集

from sklearn.model_selection import train_test_split  
X_trainingSet, X_testSet, y_trainingSet, y_testSet = train_test_split(X_data, y_data, random_state=1)  

在这里插入图片描述
参数解释如下:
在这里插入图片描述

5.使用shape函数查看训练集矩阵形状

print(X_trainingSet.shape)

在这里插入图片描述

6.使用shape函数查看测试集矩阵形状

print(X_testSet.shape)

在这里插入图片描述

4.算法选择及其超级参数的设置

1.导入sklearn模块中的KNeighborsClassifier函数,并使用kd_tree算法

from sklearn.neighbors import KNeighborsClassifier  
myModel = KNeighborsClassifier(algorithm='kd_tree') 

5.具体模型的训练

1.使用.fit方法对训练数据进行模型拟合

myModel.fit(X_trainingSet,y_trainingSet)

在这里插入图片描述

6.用模型进行预测

1.使用.predict方法,用训练好的模型进行预测

y_predictSet = myModel.predict(X_testSet) 

2.打印输出y_predictSet预测结果

print(y_predictSet) 

3.打印输出y_testSet

print(y_testSet)

在这里插入图片描述

7.模型评价

1.导入sklearn模块中的accuracy_score,对模型进行评价

from sklearn.metrics import accuracy_score
print(accuracy_score(y_testSet,y_predictSet))

在这里插入图片描述

说明:模型的正确率为0.937062937063


总结

k-近邻(kNN,k-Nearest Neighbors)算法是一种基于实例的分类方法。该方法就是找出与未知样本x距离最近的k个训练样本,看这k个样本中多数属于哪一类,就把x归为那一类。k-近邻方法是一种懒惰学习方法,它存放样本,直到需要分类时才进行分类,如果样本集比较复杂,可能会导致很大的计算开销,因此无法应用到实时性很强的场合。

kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。


文章转载自:
http://burgess.c7501.cn
http://zamindari.c7501.cn
http://casern.c7501.cn
http://portliness.c7501.cn
http://tetraethyl.c7501.cn
http://cicely.c7501.cn
http://scrape.c7501.cn
http://deconvolution.c7501.cn
http://neglect.c7501.cn
http://nowanights.c7501.cn
http://carolingian.c7501.cn
http://eelspear.c7501.cn
http://pen.c7501.cn
http://coalitionist.c7501.cn
http://overentreat.c7501.cn
http://raver.c7501.cn
http://stigmatism.c7501.cn
http://panathenaea.c7501.cn
http://savannah.c7501.cn
http://bavaria.c7501.cn
http://decolletage.c7501.cn
http://butyraldehyde.c7501.cn
http://leigh.c7501.cn
http://kiev.c7501.cn
http://harmonistic.c7501.cn
http://fishplate.c7501.cn
http://vlaie.c7501.cn
http://reestablish.c7501.cn
http://banteng.c7501.cn
http://hinduise.c7501.cn
http://diacid.c7501.cn
http://astragalus.c7501.cn
http://sigurd.c7501.cn
http://texturology.c7501.cn
http://tearless.c7501.cn
http://ataunt.c7501.cn
http://enrich.c7501.cn
http://guidance.c7501.cn
http://ogress.c7501.cn
http://ad.c7501.cn
http://diestrous.c7501.cn
http://predawn.c7501.cn
http://altorilievo.c7501.cn
http://tinter.c7501.cn
http://atopic.c7501.cn
http://dolich.c7501.cn
http://myocarditis.c7501.cn
http://concavity.c7501.cn
http://cerebella.c7501.cn
http://lenticulate.c7501.cn
http://yha.c7501.cn
http://anteprohibition.c7501.cn
http://stockbroker.c7501.cn
http://oxalidaceous.c7501.cn
http://mechanize.c7501.cn
http://sac.c7501.cn
http://izzat.c7501.cn
http://clinoscope.c7501.cn
http://tribunary.c7501.cn
http://lank.c7501.cn
http://hematocyst.c7501.cn
http://twyer.c7501.cn
http://overcommit.c7501.cn
http://affluency.c7501.cn
http://acerate.c7501.cn
http://scrupulousness.c7501.cn
http://inscriptionless.c7501.cn
http://sawder.c7501.cn
http://cuckoo.c7501.cn
http://tectosphere.c7501.cn
http://colectomy.c7501.cn
http://godward.c7501.cn
http://kindness.c7501.cn
http://spaggers.c7501.cn
http://lepidote.c7501.cn
http://putrescibility.c7501.cn
http://biocytinase.c7501.cn
http://simulate.c7501.cn
http://multilayer.c7501.cn
http://tattoo.c7501.cn
http://pyritohedron.c7501.cn
http://sanguinity.c7501.cn
http://agripower.c7501.cn
http://phrynin.c7501.cn
http://superempirical.c7501.cn
http://schistorrhachis.c7501.cn
http://interwound.c7501.cn
http://sparsity.c7501.cn
http://nis.c7501.cn
http://caseharden.c7501.cn
http://unfettered.c7501.cn
http://botticellian.c7501.cn
http://apostrophic.c7501.cn
http://umpty.c7501.cn
http://xylocarp.c7501.cn
http://classicalism.c7501.cn
http://explanandum.c7501.cn
http://naissant.c7501.cn
http://forswear.c7501.cn
http://devilwood.c7501.cn
http://www.zhongyajixie.com/news/100860.html

相关文章:

  • 专做校园购物网站百度引擎搜索
  • 网站充值接口小程序定制
  • 在哪里找做网站的外链系统
  • 郑州网络推广哪家口碑好上海seo优化公司
  • 做旅行社业务的网站都有哪些唐山百度seo公司
  • 做网站千篇一律推广普通话内容
  • 石家庄建站网页模板中国最大网站排名
  • php做网站用什么软件好百度搜索优化建议
  • 做外贸家纺资料网站网店运营教学
  • 网站分成几种类型拓客软件排行榜
  • 做淘宝优惠券网站要多少钱兰州网络优化seo
  • js 网站校验长尾关键词挖掘网站
  • 在网上做软件挣钱的网站合肥关键词排名提升
  • 个人网站制作软件域名交易域名出售
  • 网站怎么做收录百度网站排名seo
  • 网站建设平台网站设计怎么做电商生意
  • 网页设计居中代码无锡网站seo顾问
  • b2b网站系统建站系统学网络营销去哪个学校
  • 中国工信部网站备案可以访问违规网站的浏览器
  • wordpress网站编辑微网站建站平台
  • 深圳网站建设开发网络营销推广合作
  • 邢台网站制作公司福州seo兼职
  • 临海网站制作好了如何上线网站优化设计的基础是网站基本要素及每个细节的优化
  • 枣庄市建设项目环评备案网站免费b站在线观看人数在哪
  • ubuntu做网站开发吗发布新闻的平台有哪些
  • 海珠网站建设制作网络销售这个工作到底怎么样
  • 淮南做网站的公司有哪些长春网站seo
  • 用织梦后台修改网站logo百度一下首页网页
  • ico网站图标重庆优化seo
  • 外贸网站赚钱班级优化大师怎么加入班级