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

唐山企业网站模板建站百度登录账号首页

唐山企业网站模板建站,百度登录账号首页,手机移动端网站是什么,商丘建网站「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:零基础快速入门人工智能《机器学习入门到精通》 K-近邻算法 1、什么是K-近邻算法?2、K-近邻算法API3、…

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:零基础快速入门人工智能《机器学习入门到精通》

K-近邻算法

  • 1、什么是K-近邻算法?
  • 2、K-近邻算法API
  • 3、K-近邻算法实际应用
    • 3.1、获取数据集
    • 3.2、划分数据集
    • 3.3、特征标准化
    • 3.4、KNN处理并评估

1、什么是K-近邻算法?

K-近邻算法的核心思想是根据「邻居」「推断」你的类别。

K-近邻算法的思路其实很简单,比如我在北京市,想知道自己在北京的哪个区。K-近邻算法就会找到和我距离最近的‘邻居’,邻居在朝阳区,就认为我大概率也在朝阳区。

在这里插入图片描述

其中 K 是邻居个数的意思

  • 邻居个数「太少」,容易受到异常值的影响
  • 邻居个数「太多」,容易受到样本不均衡的影响。

2、K-近邻算法API

sklearn.neighbors.KNeighborsClassifier( n_neighbors=5, algorithm=‘auto’ ) 是实现K-近邻算法的API

  • n_neighbors:(可选,int)指定邻居(K)数量,默认值 5
  • algorithm:(可选,{ ‘auto’,‘ball_tree’,‘kd_tree’,‘brute’})计算最近邻居的算法,默认值 ‘auto’。

算法解析

  • brute:蛮力搜索,也就是线性扫描,训练集越大,消耗的时间越多。
  • kd_tree:构造kd树(也就是二叉树)存储数据以便对其进行快速检索,以中值切分构造的树,每个结点是一个超矩形,在维数小于20时效率高
  • ball_tree:用来解决kd树高维失效的问题,以质心C和半径r分割样本空间,每个节点是一个超球体。
  • auto:自动决定最合适的算法

函数

  • KNeighborsClassifier.fit( x_train, y_train):接收训练集特征 和 训练集目标
  • KNeighborsClassifier.predict(x_test):接收测试集特征,返回数据的类标签。
  • KNeighborsClassifier.score(x_test, y_test):接收测试集特征 和 测试集目标,返回准确率。
  • KNeighborsClassifier.get_params():获取接收的参数(就是 n_neighbors 和 algorithm 这种参数)
  • KNeighborsClassifier.set_params():设置参数
  • KNeighborsClassifier.kneighbors():返回每个相邻点的索引和距离
  • KNeighborsClassifier.kneighbors_graph():返回每个相邻点的权重

3、K-近邻算法实际应用

3.1、获取数据集

这里使用sklearn自带的鸢尾花「数据集」,它是分类最常用的分类试验数据集。

from sklearn import datasets# 1、获取数据集(实例化)
iris = datasets.load_iris()print(iris.data)

输出:

[[5.1 3.5 1.4 0.2][4.9 3.  1.4 0.2][4.7 3.2 1.3 0.2]

从打印的数据集可以看到,鸢尾花数据集有4个「属性」,这里解释一下属性的含义

  • sepal length:萼片长度(厘米)
  • sepal width:萼片宽度(厘米)
  • petal length:花瓣长度(厘米)
  • petal width:花瓣宽度(厘米)

3.2、划分数据集

接下来对鸢尾花的特征值(iris.data)和目标值(iris.target)进行「划分」,测试集为60%,训练集为40%。

from sklearn import datasets
from sklearn import model_selection# 1、获取数据集
iris = datasets.load_iris()
# 2、划分数据集
x_train, x_test, y_train, y_test = model_selection.train_test_split(iris.data, iris.target, random_state=6)
print('训练集特征值:', len(x_train))
print('测试集特征值:',len(x_test))
print('训练集目标值:',len(y_train))
print('测试集目标值:',len(y_test))

输出:

训练集特征值: 112
测试集特征值: 38
训练集目标值: 112
测试集目标值: 38

从打印结果可以看到,测试集的样本数是38,训练集的样本数是112,划分比例符合预期。


3.3、特征标准化

接下来,对训练集和测试集的特征值进行「标准化」处理(训练集和测试集所做的处理必须完全「相同」)。

from sklearn import datasets
from sklearn import model_selection
from sklearn import preprocessing# 1、获取数据集
iris = datasets.load_iris()
# 2、划分数据集
# x_train:训练集特征,x_test:测试集特征,y_train:训练集目标,y_test:测试集目标
x_train, x_test, y_train, y_test = model_selection.train_test_split(iris.data, iris.target, random_state=6)
# 3、特征标准化
ss = preprocessing.StandardScaler()
x_train = ss.fit_transform(x_train)
x_test = ss.fit_transform(x_test)
print(x_train)

输出:

[[-0.18295405 -0.192639    0.25280554 -0.00578113][-1.02176094  0.51091214 -1.32647368 -1.30075363][-0.90193138  0.97994624 -1.32647368 -1.17125638]

从打印结果可以看到,特征值发生了相应的变化。


3.4、KNN处理并评估

接下来,将训练集特征 和 训练集目标 传给 KNN,然后评估处理结果的「准确率」

from sklearn import datasets
from sklearn import model_selection
from sklearn import preprocessing
from sklearn import neighbors# 1、获取数据集
iris = datasets.load_iris()
# 2、划分数据集
# x_train:训练集特征,x_test:测试集特征,y_train:训练集目标,y_test:测试集目标
x_train, x_test, y_train, y_test = model_selection.train_test_split(iris.data, iris.target, random_state=6)
# 3、特征标准化
ss = preprocessing.StandardScaler()
x_train = ss.fit_transform(x_train)
x_test = ss.fit_transform(x_test)
# 4、KNN算法处理
knn = neighbors.KNeighborsClassifier(n_neighbors=2)
knn.fit(x_train, y_train)
# 5、评估结果
y_predict = knn.predict(x_test)
print('真实值和预测值对比:', y_predict == y_test)
score = knn.score(x_test, y_test)
print('准确率:', score)

输出:

真实值和预测值对比: [ True  True  True  True  True  True False  True  True  True False  TrueTrue  True  True False  True  True  True  True  True  True  True  TrueTrue  True  True  True  True  True  True  True  True  True False  TrueTrue  True]
准确率: 0.8947368421052632

从输出结果可以很容易看出,准确率是89%;真实值和预测值对比的结果中,True越多,表示准确率越高。

http://www.hkea.cn/news/39575/

相关文章:

  • 建站平台入口徐州网站设计
  • 出口手工艺品网站建设方案站长统计app下载
  • 提升学历骗局武汉搜索引擎排名优化
  • wordpress+park主题上海全国关键词排名优化
  • 潍坊最早做网站的公司短链接生成网址
  • 东莞化工网站建设爱站网ip反域名查询
  • 做网站赚钱 2017哈尔滨关键词排名工具
  • 建设的网站首页微信怎么做推广
  • 建设网站导航百度信息流推广和搜索推广
  • 深圳室内设计公司招聘信息流广告优化
  • 旅游网站首页四种营销模式
  • 负责网站建设如何在百度发广告推广
  • 联通的网站是谁做的营销的主要目的有哪些
  • 衡阳微信网站地推的方法和技巧
  • 南阳做网站公司哪家好自动发外链工具
  • 潍坊网站制作最低价格网络营销案例有哪些
  • 做网站有谁做谷歌seo视频教程
  • 资深的网站推广完美日记网络营销策划书
  • 90设计网站免费素材网站seo培训
  • 整形美容网站源码上海seo优化bwyseo
  • 武威市住房和建设局网站百度app下载安装普通下载
  • 网站物理结构天津百度推广排名
  • 美容平台网站建设百度指数查询移动版
  • 工程公司手机网站建立网站怎么搞
  • 做网站软件wd惠州seo外包
  • 聊城做网站seo关键词分类
  • 网站做公司女生学网络营销这个专业好吗
  • 网络运营主要工作内容seo教程自学入门教材
  • 用其他商标在自己网站做宣传百度云网盘资源分享网站
  • 对商家而言网站建设的好处淘宝关键词查询工具哪个好