目录
一、机器学习
(一)介绍
相较于传统算法,机器学习算法不需要人为给予计算公式,而是由机器自动计算出公式从而预测结果。
——>机器学习就是一种实现人工智能的方法。从数据中寻找规律,建立关系,根据建立的关系去解决问题
(二)机器学习的类别
1.监督学习
训练数据包括正确结果
2.无监督学习
训练数据不包括正确结果
3.半监督学习
训练数据包括少量正确结果
4.强化学习
根据每次结果收获的奖惩进行学习,实现优化
二、回归分析
定义:根据数据,确定两种或两种以上变量间相互依赖的定量关系
函数表达式:y=f(x1,x2.......,xn)
三、线性回归
(一)定义
回归分析中,变量和因变量存在线性关系
(二)描述
函数表达式:
y=ax+b
就是根据两个变量的数据集合,做一个坐标轴将,坐标点在坐标轴上,找到最接近这些点的直线 ,也就是找到a和b。
(三)拟合度
1.公式
怎么找到最合适的a,b呢
y'就是找的直线,y是实际结果,想要y和y'越接近
然后再进行一个转化,在于后面求导
2.梯度下降法
为了寻找损失函数的极小值。通过向函数上当前点对应梯度(或者是近似梯度)的反方向规定步长距离点进行迭代搜索,直到再极小点收敛
阿尔法:步长
偏导:梯度
梯度:增长速率最快的方向
反方向:就是减少最快的
如果p(i)=p(i+1)
哪此p点就是极小点
例子:
线性回归中呢:
创建一个临时变量a,不断重复计算,直到收敛,b也一样
四、线性回归实战
(一)使用库
numpy,pandas:针对数组,读取excel等功能。Matplotlib:实现可视化,画一个坐标轴
Scikit-learn:Python语言针对机器学习尔发展起来的一款开源构架(算法库),可以实现数据预处理,分类,回归,降维,模型选择等常用的机器学习算法
(二)单因子线性回归实战
1.数据集
首先我们需要有一个数据集对不对:使用csv文件。
注意:直接将wps创建的excel表格,后缀改为csv在jupyter不能使用,可以创建txt文本,改完后缀再添加数据
2.数据加载
(1)导包
(2)读取csv文件返回给data
(3)为x坐标,y坐标赋值
data.loc[:,'x']
前面[:]代表从第一行到最后一行,'x'代表是x列
[1:3]也就是第一行到第三行
3.数据可视化
导入matploylib的包
先创建坐标系,在括号内可以修改参数改变,背景,颜色,大小等到
然后scatter散点图
plot就是直线了
最后show展示
4.线性回归
首先创建对象,通过对象方法进行计算
因为计算时候参数只能是二维数组,用reshape转为二维数值(1,2)转为1行二列。而(-1,1)代表是一列,行是自动计算出来
然后就是将x,y导入计算
然后就可以计算出此时的系数a和b了
当然也可以预测新的数值
5.模型检测
(三)多因子线性回归实战
data里面有很多数据,drop方法,在轴1找到price,删除这一列
X_multi代表除了price的其他列,作为自变量
然后直接训练就行