Python机器学习应用(中国mooc)-摘1

mac2025-09-12  5

机器学习的目标: 机器学习是实现人工智能的手段,其主要研究内容如何利用数据或经 验进行学习,改善具体算法的性能 • 多领域交叉,涉及概率论、统计学算法复杂度理等门科 • 广泛应用于 网络搜索、垃圾邮件过滤 、推荐 系统、广告投放信用 评价 、 欺诈检测、股票交易 和医疗诊断等 应用  

 

机器学习分类: 机器学习一般分为下面几种类别 • 监督学习 (Supervised Learning Supervised Learning ) • 无监督学习 (Unsupervised Learning ) • 强化学习( Reinforcement Learning Reinforcement Learning ,增强学习) • 半监督学习( Semi -supervised Learning supervised Learning ) • 深度学习 (Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)(Deep Learning)

 

sklearn库: sklearn 是scikit scikit -learn 的简称,是一个基于 Python Python 的第三方模块。  sklearn 库集成了一些常用的机器学习方法, 在进行任务时并不需要实现算法,只简单的调用 sklearn 库中提供的模块就能 完成大多数的机器学习任务。 sklearn 库是在 Numpy 、Scipy Scipy 和matplotlib matplotlib 的基础上开发而成, 因此在介绍sklearn的安装前,需要先安装这些依赖库。

 

 

安装顺序如下: 1. Numpy 库 2. Scipy 库 3. matplotlib 库 4. sklearn 库  

 

 

sklearn中的标准数据集:

 

波士顿房价数据集: 波士顿房价数据集包含 506 组数据,每条包含房屋 以及周围的详细信息。其中包括城镇犯罪率、一氧化氮浓度住宅平均房间数、到中心区域的加权距离以及自住房平均价等。因此,波士顿房价数据集能够应用到回归问题上。

 

使用sklearn.datasets .load_boston即可加载相关数据集 其重要参数为: •return_X_y:表示是否返回target(即价格),默认为False, 只返回data(即属性)。

波士顿房价数据集-加载示例: 示例一: from sklearn.datasets import load_boston boston=loan_boston() print(boston.data.shape) 示例二: from sklearn.datasets import load_boston data,target=loan_boston(return_x_y=True) print(data.shape) print(target.shape)

 

鸢尾花数据集:

鸢尾花数据集采集的是鸢尾花的测量数据以及其所属的类别。 测量数据包括:萼片 长度、宽度、花瓣长。 类别共分为三类: Iris Setosa, Iris Versicolour,Iris Virginica。该数据集可用于多分类问题。

使用sklearn.datasets.load_iris即可加载相关数据集。 其参数有: return_x_y:若为True,即以(data,target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target)。

 

鸢尾花数据集-加载示例:

from sklearn.datasets import loan_iris iris=loan_iris() print(iris.data.shape) print(iris.target.shape) list(iris.target_names)

 

 

手写数字数据集:

手写数字数据集包括1797个0-9的手写数字数据,每个数字由8*8大小的矩阵构成,矩阵中值的范围是0-16,代表颜色的深度。

使用sklearn.datasets.load_digits即可加载相关数据集。 其参数包括: return_x_y:若为True,则以(data,target)形式返回数据;默认为False,表示以字典形式返回数据全部信息(包括data和target); n_class:表示返回数据的类别数,如n_class=5,则返回0到4的数据样本。

 

手写数字数据集-加载示例:

from sklearn.datasets import load_digits digits=load_digits() print(digits.data.shape) print(digits.target.shape) print(digits.images.shape) import matplotlib.pyplot as plt plt.matshow(digits.images[0]) plt.show()

 

 

 

sklearn库的基本功能:

sklearn库共分为6大部分,分别用于完成分类任务、回归任务、聚类任务、降维任务、模型选择以及数据的预处理。

 

 

无监督学习的目标:

利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习。 有监督学习和无监督学习的最大区别在于数据是否有标签。 无监督学习最常应用的专题是聚类(clustering)和降维(Dimension Reduction)  

聚类(clustering): 聚类,就是根据数据的“相似性”将数据分为多类的过程。 评估两个不同样本之间的“相似性”,通常使用的方法就是计算两个样本之间的“距离”。使用不同的方法计算样本间的距离会关系到聚类结果的好坏。

 

 

Sklearn vs. 聚类: scikit -learn 库(以后简称sklearn库)提供的常用聚类算法函数包含在sklearn.cluster这个模块中,如:K-Means, 近邻传播算法,DBSCAN等。 以同样的数据集应用于不算法,可能会得到不同的结果,算法所耗费时间也不尽相同,这是由算法的特性决定的。  

sklearn.cluster: sklearn.cluster 模块提供的各聚类算法函数可以使用不同据形式作为输入 : 标准数据输入格式 :[ 样本个数 ,特征]定义的矩阵形式。 相似性矩阵输入格式:即由 [样本数目 ,样本数目]定义的矩阵形式,矩阵中的每一个元素为两样本相似度, 如DBSCAN ,AffinityPropagation(近邻传 播算法 )接受这种输入。如果以余弦相似度为例,则对角线元素全为1. 矩阵中每个元素的取值范围为[0,1] 。

 

降维: 降维,就是在保证数据所具有的代表性特性或者分布的情况下,将高维数据转化为低维数据的过程: 数据的可视化; 精简数据。

 

 

聚类 VS 降维: 聚类和降维都是无监督学习的典型任务,任务之间存在关联,比如某些高维数据的聚类可以通过降维处理更好地获得,另外学界研究也表明代表性的聚类算法如K-means与降维算法如NMF之间存在等价性,在此我们就不展开讨论了,有兴趣的同学可以参考我们推荐的阅读内容。

sklearn vs 降维: 降维是机器学习领域的一个重要研究内容,有很多被工业界和学术界接受的典型算法,截止到目前sklearn库提供7种降维算法。 降维过程也可以被理解为对数据集的组成成份进行分解(decomposition)的过程,因此sklearn为降维模块命名为decomposition,在对降维算法调用需要使用sklearn.decomposition模块。

 

最新回复(0)