网站大量收购闲置独家精品文档,联系QQ:2885784924

《Python机器学习》 课件 第5章 KNN分类算法.pptx

《Python机器学习》 课件 第5章 KNN分类算法.pptx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;第5章 KNN分类算法 ;5.1 KNN分类 ;;计算距离;KNN方法有三个核心要素:;计算距离;那么K值到底怎么选取呢?涉及到距离的度量问题。 ;2.距离的度量 不同的距离所确定的近邻点不同。平面上比较常用的是欧式距离。此外还有曼哈顿距离、余弦距离、球面距离等。;?;;5.2 初识KNN——鸢尾花分类 ;;3.使用散点矩阵查看数据特征关系 在数据分析中,同时观察一组变量的散点图是很有意义的,这也被称为散点图矩阵(scatter plot matrix)。创建这样的图表工作量巨大,可以使用scatter_matrix函数。scatter_matrix函数是Pandas提供了一个能从DataFrame创建散点图矩阵的函数。 函数格式: scatter_matrix(frame, alpha=0.5, c,figsize=None, ax=None, diagonal=hist, marker=., density_kwds=None,hist_kwds=None, range_padding=0.05, **kwds) 重要参数解释: frame:Pandas dataframe对象。 alpha:图像透明度,一般取(0,1) 。 figsize:以英寸为单位的图像大小,一般以元组 (width, height) 形式设置。 Diagonal:必须且只能在{‘hist’,‘kde’}中选择1个,’hist’表示直方图(Histogram plot),’kde’表示核密度估计(Kernel Density Estimation);该参数是scatter_matrix函数的关键参数。 marker:Matplotlib可用的标记类型,如’.’,’,’,’o’等。;【例】对鸢尾花数据结果,使用scatter_matrix显示训练集与测试集的散点图矩阵。 pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15), marker=o, hist_kwds={bins: 20}, s=60, alpha=.8) ;4.建立KNN模型 在Python中,实现KNN方法使用的是KNeighborsClassifier类,KNeighborsClassifier类属于Scikit-learn的neighbors包。 ;KNeighborsClassifier使用很简单,核心操作包括三步: 1)创建KNeighborsClassifier对象,并进行初始化。 基本格式: sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,?weights=’uniform’,?algorithm=’auto’,?leaf_size=30,p=2,?metric=’minkowski’,?metric_params=None,?n_jobs=None,?**kwargs) 主要参数: n_neighbors:int型,可选,缺省值是5,代表KNN中的近邻数量k值。 weights:计算距离时使用的权重,缺省值是“uniform”,表示平等权重。也可以取值“distance”,则表示按照距离的远近设置不同权重。还可以自主设计加权方式,并以函数形式调用。 metric:距离的计算,缺省值是“minkowski”。当p=2,?metric=’minkowski’时,使用的是欧式距离。p=1,metric=’minkowski’时为曼哈顿距离。 ;;;from sklearn import datasets from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split #导入鸢尾花数据并查看数据特征 iris = datasets.load_iris() print(数据集结构:,iris.data.shape) # 获取属性 iris_X = iris.data # 获取类别 iris_y = iris.target # 划分成测试集和训练集 iris_train_X,iris_test_X,iris_train_y,iris_test_y=train_test_split(iris_X,iris_y,test_size=0.2, random_state=0) #分类器初始化 knn = KNeighborsClassifier() #对训练集进行训练 knn.fit(iris_train_X, iris_train_y) #对测试集数据的鸢尾花类型进行预测 predict_result

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档