python线性回归分析看相关性_机器学习入门-相关分析之简单线性回归

论坛 期权论坛     
选择匿名的用户   2021-5-28 02:16   34   0
<div style="font-size:16px;">
<p>一.什么是机器学习?</p>
<p align="center">简单来说,机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体的说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,所以我们可以总结简单抽象机器学习的过程:输入训练数据-&gt;机器学习算法-&gt;输出结果。</p>
<p>二.机器学习步骤?提出问题.</p>
<p>理解数据</p>
<p>数据清洗</p>
<p>构建模型</p>
<p>评估</p>
<p>三.python中的机器学习工具包scikit-learn</p>
<p align="center">SK-learn中文文档:Introduction · sklearn 中文文档sklearn.apachecn.org<img alt="20d09a5ee0638d556321961acd9ebb44.png" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-04c8bad0f4d7250b5ccb90d8716a7216.png"></p>
<p>四.相关分析</p>
<p>什么是特征?什么是标签?</p>
<p>比如我们要分析人们对某首歌的喜恶。</p>
<p>特征:特征就是数据的属性,如一首歌的诸多特征:语言,节奏,风格,时长等等。</p>
<p>标签:标签是我们对数据的预测结果,喜恶就是标签。</p>
<p>什么 是训练数据?什么是测试数据?</p>
<p>一般做预测分析时,会将数据分为两大部分。一部分是训练数据,用于构建模型,一部分是测试数据,用于检验模型。有时候模型的构建过程中也需要检验模型,辅助模型构建,所以会将训练数据在分为两个部分:1)训练数据;2)验证数据(Validation Data)。验证数据用于负责模型的构建。具体的是:训练数据(Test Data):用于模型构建;验证数据(Validation Data):可选,用于辅助模型构建,可以重复使用;测试数据(Test Data):用于检测模型构建,此数据只在模型检验时使用,用于评估模型的准确率。绝对不允许用于模型构建过程,否则会导致过渡拟合。</p>
<p>相关分析-简单线性回归:</p>
<p>案例引入:探索学生学习时间和考试成绩的相关关系,通过学习时间来预测学生的考试分数?</p>
<p>通过我们刚刚对特征和标签定义,我们可以知道,在该案例中特征和标签分别对应的是:</p>
<p>特征:学习时间,也就是我们常说的自变量。</p>
<p>标签:分数,也就是我们常说的因变量。</p>
<p>输入该部分数据:</p>
<p>import sklearn</p>
<p>from collections import OrderedDict</p>
<p>import pandas as pd</p>
<p>#数据集</p>
<p>examDict&#61;{&#39;学习时间&#39;:[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,</p>
<p>2.50,2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],</p>
<p>&#39;分数&#39;:[10, 22, 13, 43, 20, 22, 33, 50, 62,</p>
<p>48, 55, 75, 62, 73, 81, 76, 64, 82, 90, 93]}</p>
<p>#将eaxmDict转成有序字典</p>
<p>examOrderDict &#61; OrderedDict(eaxmDict)</p>
<p>#将上述有序字典导入Dataframe</p>
<p>examDf &#61; pd.DataFrame(examOrderDict)</p>
<p>#查看数据集前5行</p>
<p align="center">examDf.head()</p>
<p>显然,单纯的表格,数据之间的关系还是没有那么明显,因此,我们考虑将这些数据放在坐标轴上表示出来:</p>
<p>1)提取特征和标签</p>
<p>#特征features</p>
<p>exam_X&#61;examDf.loc[:,&#39;学习时间&#39;]</p>
<p>#标签labes</p>
<p>exam_y&#61;examDf.loc[:,&#39;分数&#39;]</p>
<p>2)绘制散点图</p>
<p>#绘制散点图</p>
<p>import matplotlib.pyplot as plt</p>
<p>#确定散点图中的X轴和Y轴,scatter是散点图的意思</p>
<p>plt.scatter(exam_X,exam_y,color&#61;&#39;b&#39;,label&#61;&#39;exam &#39;)</p>
<p>#添加图标标签</p>
<p>plt.xlabel(&#39;Hours&#39;)</p>
<p>plt.ylabel(&#39;Score&#39;)</p>
<p>#显示图像</p>
<p align="center">plt.show()</p>
<p>3)从上面的散点图,我们可以很本能的猜测,学习时间和分数存在某种正的相关性,学习时间越多,分数越高。</p>
<p>如何统计衡量相关性程度?单纯看图似乎少了什么,我们期望有这样一个指标:</p>
<p>①能够表示两个变量的相关性方向【正线性相关/负线性相关/线性无关】</p>
<p>②能够表示两个标量的相关性大小。</p>
<p align="center">那么,考虑如何构建这个指标呢。</p>
<p>观察上图中,四个象限点的特点,在</p>
<p align="center"><img alt="equation?tex&#61;%5Cbar%7Bx%7D%EF%BC%9D%EF%BC%93" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-e530771099a7ab0479a94569857398bc"> 处有一条垂直的虚线,在 </p>
<p align="center"><img alt="equation?tex&#61;%5Cbar%7By%7D%EF%BC%9D51" src="https://beijingoptbbs.oss-cn-beijing.aliyuncs.com/cs/5606289-97c452f9eeeeff3f885a15d5ecc6f11b"> 处有一条虚线,两条线将上图划分为四个象限,第Ⅰ象限的点对应 </p>
<p align=
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP