sklearn 相关性分析_机器学习之相关性分析

893b1db99cfc33345a63bf02c22715e8.png

机器学习算法-相关性分析

  • 机器学习步骤:提出问题-理解数据-数据清洗-构建模型-评估
  • 特征与标签的定义

特征:数据属性,例如音乐的节奏,强度,听歌时长

标签:数据预测结果,例如对某个歌曲的喜欢和不喜欢

  • python机器学习包-sklearn
  1. 简单线性回归
  • 什么是相关性分析:

虽然变量间有着十分密切的关系,但是不能由一个或多各变量值精确地求出另一个变量的值,称为相关关系,存在相关关系的变量称为相关变量

  • 导入数据

688975b1b978def264ddfde1fd6599ed.png
  • 散点图绘制

761a1c686252c4d8fdb89c0a0e0dcfc6.png

从散点图可以看出学习时间长短似乎和分数有着联系,学习时间越长分数增长的可能性也越大

  • 3种线性相关性

1)正线性相关:直线朝上

2)负线性相关: 直线朝下

3)不是线性相关:随机分布

  • 描述线性相关的统计量(两个变量的相关性方向,相关性大小)
  1. 协方差=E[(x-ux)(y-uy)]

协方差>0:两个变量同方向变化

协方差<0:两个变量反方向变化

协方差缺点:容易被变量的变化幅度大小影响,并不能反映相关性大小

2.相关系数=协方差/x的标准差*y的标准差

相关系数又名皮尔森积矩相关系数

相关系数是标准化后的协方差,[-1,1],相关系数大于零,表示两个变量正线性相关;相关系数小于零,表示两个变量负线性相关。相关系数等于零,表示两个变量之间不存在线性相关

相关系数大小:表示两个变量每单位的相关性程度

[0,0.3]:弱相关,[0.3,0.6]:中等程度相关,[0.6,1]:强相关

  • 相关系数函数

e4cf8914fba6f766150ba59211e0fc40.png
  • 提取特征和标签

941ee882076f1e811358b0838bd5ac60.png
  • 建立训练数据和测试数据

acc6a697bb25de168d7d9c00425f6df7.png
train-size表示训练数据占据80%
  • 训练模型

7c450cd1f81eaa7ac22f07ec12e83ba5.png
  • 报错信息

reshape行的参数是-1表示什么呢?例如reshape(-1,列数)如果行的参数是-1,就会根据所给的列数,自动按照原始数组的大小形成一个新的数组,例如reshape(-1,1)就是改变成1列的数组,这个数组的长度是根据原始数组的大小来自动形成的。原始数组总共是2行*3列=6个数,那么这里就会形成6行*1列的数组

reshape列的参数是-1表示什么呢?例如reshape(行数,-1)如果列的参数是-1,就会根据所给的行数,自动按照原始数组的大小形成一个新的数组,例如reshape(1,-1)就是改变成1行的数组,这个数组的列数是根据原始数组的大小来自动形成的。原始数组总共是2行*3列=6个数,那么这里就会形成1行*6列的数组

  • 截距和回归系数

0347ef8010eeda7542fba45ba72a8b18.png
  • 模型精确度评估

1)决定系数R平方

y误差平方和=(y实际值-y预测值)2求和

数据点的多少会影响误差平方和的大小

y总波动=(y实际值-y平均值)2求和

有多少百分比的y波动没有被回归线描述:误差平方和/总波动

有多少百分比的y波动被回归线描述:1-误差平方和/总波动=决定系数R平方

R平方越高,回归模型越精确

2)用python求r平方

a85e9ab0794e37204395e178e6034a51.png
  • 相关关系和因果关系

相关关系:例如花粉量多和防晒霜销量多,只是相关关系

因果关系:花粉量说明天气好,人们会进行户外运动,因而防晒霜销量激增,户外运动和防晒霜销量增加才具有因果关系