如何用Python处理分类和回归问题Word下载.docx

上传人:b****2 文档编号:15051263 上传时间:2022-10-27 格式:DOCX 页数:10 大小:51.43KB
下载 相关 举报
如何用Python处理分类和回归问题Word下载.docx_第1页
第1页 / 共10页
如何用Python处理分类和回归问题Word下载.docx_第2页
第2页 / 共10页
如何用Python处理分类和回归问题Word下载.docx_第3页
第3页 / 共10页
如何用Python处理分类和回归问题Word下载.docx_第4页
第4页 / 共10页
如何用Python处理分类和回归问题Word下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

如何用Python处理分类和回归问题Word下载.docx

《如何用Python处理分类和回归问题Word下载.docx》由会员分享,可在线阅读,更多相关《如何用Python处理分类和回归问题Word下载.docx(10页珍藏版)》请在冰豆网上搜索。

如何用Python处理分类和回归问题Word下载.docx

C表示随机误差。

监督学习算法的最终目标是给定一个新的输入X,最大精度的预测Y。

实现监督学习最常用的方法

根据给定的数据集,机器学习问题可分为两类:

分类和回归。

如果给定的数据同时具有输入(训练)值和输出(目标)值,则是一个分类问题;

如果给定数据集的属性是连续的值且没有任何目标标签,则是一个回归问题。

分类:

有输出标签,这是猫还是狗?

回归:

房子卖多少钱?

▌分类

举个例子:

一位医学研究人员想要分析乳腺癌数据,来预测患者应该接受三种治疗方案中的哪一种。

这个数据分析任务被称为分类,它构建一个模型或分类器来预测从

属的类别标签,比如:

“治疗方案A”,“治疗方案B”或“治疗方案C”。

分类是预测分类(离散、无序的)的类标号,分为两个过程:

学习和分类。

分类的方法

一些常用的分类算法如下:

K-近邻算法(KNN)

决策树算法

贝叶斯分类算法

支持向量机(SVM)

在学习过程中,分类模型通过分析训练集来构建分类器;

在分类过程中,预测给定数据的分类标签。

将待分析的数据集元组和与之相关联的类标签分成一个训练集和一

个测试集。

从待分析的数据集中随机抽样组成训练集的各个元组,剩下的元组形成测试集,并独立于训练集的元组,这就意味着测试集不会被用来构建分类器。

测试集用于评估分类器的预测正确率。

分类器的正确率是分类器正确分类的测试元组所占得百分比。

为了达到更高的正确率,最好的办法就是测试不同的算法,并在每

个算法中尝试不同的参数。

其中,最好的一个方法是交叉验证。

为了选择一个较好的算法来解决这个问题,对于不同的算法,必须考虑其正确率,训练时间,线性度,参数个数以及其他特殊情况。

在IRIS数据集上,我们用Scikit-Learn库实现K-近邻法算法,根据给定的输入对花的类型进行分类。

为了应用机器学习算法,我们首先需要了解给定的数据集。

在这个例子中,我们用的是从Scikit-Learn包中导入的IRIS数据集。

现在,我们用代码来探索IRIS数据集的属

性。

确保你的电脑上已经安装了Python。

另外,使用PIP安装如下几个包:

pip安装pandas

pip安装matplotlib

pip安装scikit-learn

在这段代码中,我们使用pandas包的几个方法了解IRIS数据集的属性。

输出:

<

class‘sklearn.datasets.base.Bunch’>

dict_keys([‘data’,‘target’,‘target_names’,‘DESCR’,‘feature_names’])]

class‘numpy.ndarray’>

<

(150,4)

[‘setosa’‘versicolor’‘virginica’]

sepallength(cm)sepalwidth(cm)petallength(cm)petalwidth

(cm)

1

2

3

4

5.1

4.9

4.7

4.6

5.0

3.5

3.0

3.2

3.1

3.6

1.4

0.2

1.40.2

1.30.2

1.5

Scikit-Learn学习之K-近邻法

如果一个算法在只是简单的存储训练集元组,并一直等待,直到给定一个测试元组时才进行泛化,根据其存储的训练元组的相似性进行分类,则称之为惰性学习。

K-近

邻分类器就是一种惰性学习。

K-近邻法基于类比进行学习,也就是说,将给定的测试元组和与之相似的训练元组相比较。

将训练元组表示为n维空间中的一个点,这样,所有的训练元组将被存储在

一个n维模式空间。

当给定一个未知元组,K-近邻分类器搜索模式空间中最接进未知元组的K个训练元组,这K个训练元组即是这个未知元组的个K个“近邻”。

“贴近度”用来定义一个距离度量(如欧几里得距离)。

一个合适的K值则需要根据实际情况而定。

在这段代码中,我们从sklearn中导入K-近邻分类器,并将其用于我

们输入的数据中,之后再对花进行分类。

[11]

这里,0对应于Versicolor;

1对应Virginic;

2对应Setosa。

根据给定的输入,机器预测两朵花都是Versicolor。

使用K-近邻法对IRIS数据集分类

▌回归

回归用来描述两个或更多变量之间的关系。

例如:

根据给定输入X,预测一个人的收入。

这里,目标变量指的是我们所关心的待预测的未知变量,连续是指Y的值之间不存在距离(不连续性)。

预测收入是一个典型的回归问题。

输入数据应该包含可以预测收入的信息(称为特征),比如:

工作时间,教育经历,职位,住所。

回归模型

常用的回归模型有:

线性回归

Logistic回归

多项式回归

线性回归使用最佳拟合直线(也称回归线)建立因变量(Y)和一个或多个自变量(X)之间的关系。

用数学表达式表示:

h(xi)=βo+β1*xi+e

其中,βo是截距,β1是线的斜率,e是误差项。

图表显示为:

Logistic回归是一种用于响应变量是分类的算法,其思想是找出特征与特定结果概率之间的关系。

p(X)=βo+β1*X

其中,p(x)=p(y=1|x)

多项式回归是一种回归分析方法,其中自变量x和因变量y之间的关系被建模为x的一个n次多项式。

解决线性回归问题

我们有数据集X和相应的目标值Y,使用普通的最小二乘法学习一个线性模型,给定一个新的x,我们可以使用这个模型以尽可能小的误差来预测一个新的y。

将给定的数据集分成一个训练数据集和一个测试数据集。

训练集具有标签(特征),因此算法可以从这些带有标注的例子从学习。

测试不带有任何标签,也就是说,你

还不知道预测值。

我们使用一个特征进行训练,并用线性回归方法来拟合训练数据,然后用测试数据集预测输出结果。

线性回归在Scikit-Learn中的实现

[

[0.07786339]

[-0.03422907]

[-0.05686312]

[0.00133873]

[-0.01590626]

]

[-0.03961813]

[0.00564998]

[-0.03099563]

[-0.02345095]

[0.01103904]

[0.08864151]

[0.05522933]

[-0.07410811]

[0.03906215]

[-0.04069594]

[-0.03315126]

[-0.06009656]

[0.01966154]

[-0.0730303]

预测的输出值:

225.9732401

158.21988574

99.56772822

154.17490936

137.99500384

115.74763374

236.08568105

123.83758651

130.91629517

163.27610621

121.81509832

204.73711411

83.3878227

114.73638965

120.80385422

96.53399594

171.36605897

84.3990668

189.56845268

表中(diabetes_X_test,diabetes_y_pred)的预测在线性方程上是连续的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1