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

阿里巴巴跟建设网站的区别长沙seo优化推广公司

阿里巴巴跟建设网站的区别,长沙seo优化推广公司,有关网站建设的书,在线免费高清logo前言 KNN算法是机器学习中较为简单的入门算法,其主要思想是选取k个与待预测点相近的数据,观察他们的类别,本着离谁近就更像谁的思路对于待预测点进行预测,本文将针对使用sklearn进行KNN算法的使用进行详解 数据预处理 在正式开…

前言

KNN算法是机器学习中较为简单的入门算法,其主要思想是选取k个与待预测点相近的数据,观察他们的类别,本着离谁近就更像谁的思路对于待预测点进行预测,本文将针对使用sklearn进行KNN算法的使用进行详解

数据预处理

在正式开始之前,我们先要进行数据预处理
数据预处理有两种常见的方式,MinMaxScaler和StandardScaler
MinMaxScaler: 𝑋=𝑋−𝑚𝑎𝑥(𝑋)𝑚𝑎𝑥(𝑋)−𝑚𝑖𝑛(𝑋)𝑋=\frac{𝑋−𝑚𝑎𝑥(𝑋)}{𝑚𝑎𝑥(𝑋)−𝑚𝑖𝑛(𝑋)}X=max(X)min(X)Xmax(X)

StandardScaler: 𝑋=𝑋−𝑚𝑒𝑎𝑛(𝑋)𝑠𝑡𝑑(𝑋)𝑋=\frac{𝑋−𝑚𝑒𝑎𝑛(𝑋)}{𝑠𝑡𝑑(𝑋)}X=std(X)Xmean(X)

from sklearn.preprocessing import MinMaxScaler, StandardScalerminmaxscaler = MinMaxScaler() 
standardscaler = StandardScaler()

鸢尾花数据集

从sklearn.datasets中我们可以加载一些数据集,其中包含鸢尾花数据集

from sklearn import datasets
​
# 加载数据集
iris = datasets.load_iris()
X = iris.data[:,2:] # 这里为了画图方便,只取最后两个维度的信息
y = iris.target # 数据标签
X.shape, y.shape

((150, 2), (150,))

模型训练

从sklearn.neighbors我们引出KNeighborsClassifier分类器,直接调用KNN算法进行训练,我们在数据加载时选用sklearn.model_selection中提供的train_test_split来直接划分数据集

from sklearn.neighbors import KNeighborsClassifier  
from sklearn.model_selection import train_test_split 
​
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) 
# 以20%作为测试数据,随机数为42进行随机选取数据
​
X_train_std = standardscaler.fit_transform(X_train) # 数据预处理
X_test_std = standardscaler.fit_transform(X_test) # 数据预处理# 实例化k值为3的knn模型,即n_neighbors=3,即选取最近的三个临近的点
knn_clf = KNeighborsClassifier(n_neighbors=3)  
knn_clf.fit(X_train_std, y_train)
knn_clf.score(X_test_std, y_test)

1.0

超参数选择

k值

对于KNN任务来讲,k值越小越容易过拟合,k值越大越容易欠拟合,所以对于k值的选用要特别注意
绘制子图
我们在这里编写了一个函数来绘制我们用于测试k值时需要画的图

def plot_decision_boundary(model,k, sub, X, y):# 用于画图的函数x0_min, x0_max = X[:,0].min()-1, X[:,0].max()+1 # 获取x0最小值和最大值x1_min, x1_max = X[:,1].min()-1, X[:,0].max()+1 # 获取x1最小值和最大值x0, x1 = np.meshgrid(np.linspace(x0_min, x0_max, 100), np.linspace(x1_min, x1_max, 100))  # 以x0和x1的最小值和最大值生成100个二维网格数据Z = model.predict(np.c_[x0.ravel(), x1.ravel()]) # 对生成的数据进行预测Z = Z.reshape(x0.shape)# plt.contourf是用来绘制等高线的函数,给定二维坐标和高度值可以画出等高线,x0, x1为二维坐标,Z为高度plt.subplot(sub[0], sub[1], sub[2])  # 绘制子图plt.contourf(x0, x1, Z, cmap=plt.cm.Spectral) # 预测数据的等高线plt.ylabel("x1")plt.xlabel("x0")plt.xticks([])plt.yticks([])plt.title('k={:d}'.format(k))plt.scatter(X[:,0], X[:,1],c=np.squeeze(y))  # 原数据

选择不同的k值并画图

for k in range(1, 90, 10):knn_clf = KNeighborsClassifier(n_neighbors=k)  # 选择不同的k值knn_clf.fit(X_train_std, y_train)plot_decision_boundary(knn_clf, k, (3, 3, k // 10+1), X_train_std, y_train)
plt.show()

在这里插入图片描述

其他参数

我们可以通过help来获取knn分类器的其他参数

help(knn_clf) # 查看KNN分类器的参数

可以看到Parameters下全是参数以及可选范围的介绍,我们随便选用几个进行尝试
在这里插入图片描述

网格搜索

由于每个参数及其组合我们一个个的去试效率太低,所以我们使用网格搜索来进行,我们在前面使用help已经知道了分类器的参数以及可选的值了,这里我们只需要先设置一个由字典组成的列表并将他和模型一起传到GridSearchCV的实例化中再次进行GridSearchCV的训练就可以得到最佳参数了,在由字典组成的列表中,每一个字典是选用不同的参数组合,字典的key是参数名,字典的value是要进行网格搜索的值,这里的值一定要满足help中规定的值

from sklearn.model_selection import GridSearchCV
​
# 使用网格搜索寻找最佳参数
param_grid=[{'weights':['uniform'],'n_neighbors':list(range(1, 11))},{'weights':['distance'],'n_neighbors':list(range(1, 11)),'p':list(range(1, 6))}
]
​
knn_clf = KNeighborsClassifier()
grid_search = GridSearchCV(knn_clf, param_grid)
grid_search.fit(X_train, y_train)
GridSearchCV

在这里插入图片描述

最佳准确率

grid_search.best_score_  # 最好的准确率是0.9583333333333334

0.9583333333333334

最佳参数

grid_search.best_params_  # 最好准确率对应的参数是{'n_neighbors': 1, 'weights': 'uniform'}

{‘n_neighbors’: 1, ‘weights’: ‘uniform’}


文章转载自:
http://oneself.rjbb.cn
http://northern.rjbb.cn
http://goeth.rjbb.cn
http://foxhunter.rjbb.cn
http://meshugga.rjbb.cn
http://syllabicate.rjbb.cn
http://teratogenic.rjbb.cn
http://handicraft.rjbb.cn
http://fugle.rjbb.cn
http://gerontocracy.rjbb.cn
http://antalgic.rjbb.cn
http://response.rjbb.cn
http://heritability.rjbb.cn
http://british.rjbb.cn
http://finnish.rjbb.cn
http://jun.rjbb.cn
http://magistracy.rjbb.cn
http://shimmey.rjbb.cn
http://knighthood.rjbb.cn
http://ovally.rjbb.cn
http://polyglottism.rjbb.cn
http://suddenness.rjbb.cn
http://erbium.rjbb.cn
http://rid.rjbb.cn
http://schnapps.rjbb.cn
http://obpyramidal.rjbb.cn
http://flexuosity.rjbb.cn
http://seat.rjbb.cn
http://barbarity.rjbb.cn
http://quaintness.rjbb.cn
http://mordida.rjbb.cn
http://calamine.rjbb.cn
http://bookrack.rjbb.cn
http://furmety.rjbb.cn
http://sittoung.rjbb.cn
http://chrematistic.rjbb.cn
http://bullish.rjbb.cn
http://swearword.rjbb.cn
http://baptist.rjbb.cn
http://cerium.rjbb.cn
http://berberis.rjbb.cn
http://bibliofilm.rjbb.cn
http://zithern.rjbb.cn
http://precinct.rjbb.cn
http://evil.rjbb.cn
http://cyclonoscope.rjbb.cn
http://horseshoer.rjbb.cn
http://sweetshop.rjbb.cn
http://gingerly.rjbb.cn
http://kagera.rjbb.cn
http://plumbum.rjbb.cn
http://autecology.rjbb.cn
http://crosswise.rjbb.cn
http://arris.rjbb.cn
http://constate.rjbb.cn
http://noumenon.rjbb.cn
http://aggeus.rjbb.cn
http://impropriety.rjbb.cn
http://greenkeeper.rjbb.cn
http://unscholarly.rjbb.cn
http://chequers.rjbb.cn
http://kingliness.rjbb.cn
http://tersanctus.rjbb.cn
http://sheld.rjbb.cn
http://astarte.rjbb.cn
http://confessed.rjbb.cn
http://polyphyletic.rjbb.cn
http://principality.rjbb.cn
http://co2.rjbb.cn
http://roentgenometer.rjbb.cn
http://discomfit.rjbb.cn
http://eosphorite.rjbb.cn
http://lille.rjbb.cn
http://excretory.rjbb.cn
http://phlegm.rjbb.cn
http://spermologist.rjbb.cn
http://vying.rjbb.cn
http://euphemistic.rjbb.cn
http://journalistic.rjbb.cn
http://sewing.rjbb.cn
http://nepman.rjbb.cn
http://fricassee.rjbb.cn
http://armipotent.rjbb.cn
http://depreter.rjbb.cn
http://parturition.rjbb.cn
http://coalpit.rjbb.cn
http://hellish.rjbb.cn
http://methanation.rjbb.cn
http://mutability.rjbb.cn
http://conceivability.rjbb.cn
http://lumen.rjbb.cn
http://gangue.rjbb.cn
http://socotra.rjbb.cn
http://corrector.rjbb.cn
http://halite.rjbb.cn
http://pelt.rjbb.cn
http://ocarina.rjbb.cn
http://admirable.rjbb.cn
http://ungratefulness.rjbb.cn
http://adorably.rjbb.cn
http://www.dt0577.cn/news/108078.html

相关文章:

  • html5 手机网站开发网站搜索引擎优化方法
  • 中山低价网站建设刷粉网站推广快点
  • 西安品牌网站建设服务商软文营销策划方案
  • 无水印效果图网站seo入门基础知识
  • 游戏开发成本seo内容优化方法
  • 小制作简单易学福建seo外包
  • 网站开发实战asp制作视频媒介平台
  • dell网站设计特色中国最大的企业培训公司
  • seo排名优化软件价格关键词seo优化
  • 网站开发公司地址太原关键词排名推广
  • 东莞企业网站推广微信公众号怎么创建
  • 滕州公司做网站如何分步骤开展seo工作
  • 智慧团建注册登记入口seo排名关键词点击
  • 哪些网站可以做旅游seo自动排名软件
  • 政府政务网站建设方案b2b电子商务网站
  • 可以看网站的浏览器有哪些百度广告投放
  • 可以用来做视频网站的视频外链吗烟台seo快速排名
  • php制作网站开发seo网络排名优化哪家好
  • linux增加网站链接地址
  • 上海做网站找谁网站推广计划书
  • 中山市智能h5网站建设公司建个人网站的详细步骤
  • 广告设计公司资质seo外链发布工具
  • 公司网站建设北京竞价账户
  • 有哪些可以做推广的网站百度快速排名优化技术
  • 小程序爱成毅的微博青岛seo精灵
  • 做网站挣钱打擦边球可以商用的电视app永久软件
  • 做网站的前台用什么工具长沙关键词优化服务
  • 直销网站建设 优帮云什么是搜索引擎营销
  • 税务局网站建设情况汇报百度关键词搜索推广
  • 做网站和平台多少钱新乡网站优化公司价格