版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第16章数据挖掘和机器学习主讲夏敏捷计算机学院副教授scikit-learn(简称sklearn)scikit-learn(简称sklearn)是Python的一个开源机器学习模块,它建立在NumPy和SciPy模块之上能够为用户提供各种机器学习算法接口,包括分类、回归、聚类系列算法,主要算法有SVM、逻辑回归、朴素贝叶斯、Kmeans、DBSCAN等。可以让用户简单、高效地进行数据挖掘和数据分析。本章主要围绕聚类、分类和回归介绍sklearn库的一些基本使用。1.Ubuntu14.04系统上安装安装numpy首选需要安装numpy:pip3installnumpy安装scipy:pip3installscipy安装scikit-learn:pip3installsklearn16.1Python机器学习库sklearn安装2.Windows7系统上直接安装安装numpy:pip3installnumpy安装scipy:pip3installscipy安装scikit-learn:pip3installsklearn16.1Python机器学习库sklearn安装或者/~gohlke/pythonlibs/网站中下载相关包文件例如numpy文件:
numpy‑1.13.1+mkl‑cp35‑cp35m‑win32.whl(32位,Python3.5)
numpy‑1.13.1+mkl‑cp35‑cp35m‑win_amd64.whl(64位Python3.5)例如scipy文件:scipy‑0.19.1‑cp35‑cp35m‑win32.whl例如scikit-learn文件:scikit_learn‑0.18.2‑cp35‑cp35m‑win32.whl然后执行(以32位为例)pip3installnumpy‑1.13.1+mkl‑cp35‑cp35m‑win32.whlpip3installscipy‑0.19.1‑cp35‑cp35m‑win32.whlpip3installscikit_learn‑0.18.2‑cp35‑cp35m‑win32.whl16.2Python机器学习库sklearn的应用数据挖掘和机器学习通常包括数据采集,数据分析,特征选择,训练模型,模型评估等步骤。使用sklearn工具可以方便地进行特征选择和模型训练工作,图16-1所示是一个基本的数据挖掘过程。sklearn库常见的引用方式如下:fromsklearnimport<模块名>sklearn库提供了数据挖掘中涉及的数据预处理、监督学习、无监督学习、模型选择和评估等系列方法,包含众多子库或模块。本章主要围绕聚类、分类和回归介绍sklearn库的一些基本使用。sklearn常用模块和类sklearn库包含众多子库或模块16.2.1训练数据集——鸢尾花sklearn已经自带了一些数据集,先看iris和digits:fromsklearnimportdatasetsiris=datasets.load_iris()digits=datasets.load_digits()print(iris.data.shape)#print(digits.items())#.items()列出所有属性print(digits.images.shape)iris中文指鸢尾植物,这里存储了其萼片和花瓣的长宽,一共4个属性,鸢尾植物又分三类。与之相对,iris里有两个属性iris.data,iris.target,data里是一个矩阵,每一列代表了萼片或花瓣的长宽,一共4列,每一列代表某个被测量的鸢尾植物,一共采样了150条记录,所以查看这个矩阵的形状iris.data.shape,返回:(150,4)digits存储了数字识别的数据,包含了1797条记录,每条记录又是一个8行8列的矩阵,存储的是每幅数字图里的像素点信息,digits.images.shape返回:(1797,8,8)16.2.2sklearn库的聚类聚类是一个无监督学习过程,不需要进行样本数据训练。sklearn提供了多种聚类函数供不同聚类目的使用,KMeans是聚类中最为常用的算法之一,它属于基于划分的聚类方法。KMeans基本用法如下。fromsklearn.clusterimportKMeansmodel=KMeans() #输入参数建立模型model.fit(Data) #将数据集Data提供给模型进行聚类AgglomerativeClustering方法是一种聚合式层次聚类方法。DBSCAN是一个基于密度的聚类算法。关于聚类,建议读者掌握KMeans方法。【例16-1】10个点的聚类。假设有10个点(1,2),(2,5),(3,4),(4,5),(5,8),(10,13),(11,10),(12,11),(13,15),(15,14),请将它们分成2类,并绘制聚类效果。16.2.2sklearn库的聚类16.2.3sklearn库的分类最常用的分类算法是K近邻算法,该算法也是最简单的机器学习分类算法,对大多数问题都非常有效。K邻近算法的主要思想是:如果一个样本在特征空间中最相似(即特征空间中最邻近)的K个样本大多数属于某一个类别,则该样本也属于这个类别。K邻近算法在sklearn库中的基本用法如下。fromsklearn.neighborsimportKNeighborsClassifiermodel=KNeighborsClassifier() #建立分类器模型model.fit(Data,y)#为模型提供学习数据Data和数据对应的标签结果y【例16-2】基于聚类结果的坐标点分类器。例16-1中两10个点分成了2类A和B。现在有一个新的点(6,9),在分类结果A和B的基础上,新的点属于哪一类呢?采用K临近方法的分类代码如下,分类结果如图16-3所示。分类从图可以看到,点(6,9)被分为A类。这种分类采用了聚类结果。然而,分类本身并不一定使用聚类结果,聚类结果只是给出了数据点和类别的一种对应关系。只要分类器学习了某种对应关系,它就能够进行分类。16.2.4sklearn库的回归回归是一个统计预测模型,用以描述和评估应变量与一个或多个自变量之间的关系,即自变量X与因变量y的关系。最简单的回归模型是线性回归,它是数据挖掘中的基础算法之一。线性回归的思想是根据数据点形成一个回归函数y=f(X),函数的参数由数据点通过解方程获得。线性回归在sklearn库中的基本用法如下。fromsklearn.linear_modelimportLinearRegressionmodel=LinearRegression()#建立回归模型model.fit(X,y)#建立回归模型,X是自变量,y是因变量predicted=model.predict(X_new)#对新样本进行预测【例16-3】坐标点的预测器。已知10个点,此时获得信息,将在横坐标7的位置出现一个新的点,却不知道纵坐标。请预测最有可能的纵坐标值。这是典型的预测问题,可以通过回归来实现。下面给出基于线性回归模型的预测器代码,预测结果如图16-4所示,预测点采用菱形标出。16.2.5鸢尾花相关的分类将IRIS数据集随机分成140个数据的训练集和10个数据的测试集,并对预测准确率进行计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB4408-T 39-2024 二次供水工程技术规程
- 湖北省襄阳市2026-2027学年高三第一次模拟考试物理试卷(含答案解析)
- 四川省南充市2026-2027学年高考物理押题试卷(含答案解析)
- 工厂物料优化专员2026年二季度物料损耗优化总结
- 2026年秋季大学开学第一课 新起点新征程新篇章
- 2026年秋季小学开学第一课 创新思维与科学精神课件
- 2026年北师大版小学三年级英语上册Lesson3《Thisismyfriend》标准教案
- 2026年北师大版初中英语上册第9单元《HobbiesandInterests》标准教案
- 经颅磁治疗仪操作流程
- 椎间孔镜手术护理配合步骤
- 2025年教师招聘考试(心理健康教育)(中小学)综合能力测试题及答案
- 工艺纪律检查方案
- 江苏盐城东台市2026年专职网格员招聘考试试卷-含答案解析
- 2026年消化系统内镜报告规范解读手册
- 2026年南昌县医疗健康集团县120急救中心自主招聘16人考试备考题库及答案详解
- 2026年CCAA国家注册审核员考试(有机产品认证基础)复习题及答案
- 汽车维修管理制度大全
- 2026内蒙古工程建设行业供需现状调研及战略发展规划分析报告
- 2026年初级注册安全工程师《安全生产专业实务(其他安全)》真题试卷(附答案解析)
- 半月板与关节软骨损伤临床指南
- JJG 34-2008指示表(指针式、数显式)
评论
0/150
提交评论