这是菜鸟学Python的粉丝第1篇原创投稿
阅读本文大概需要3分钟
下面是小郑同学的投稿
线性回归是数据挖掘中的基础算法之一,也是重要的算法之一,基本上第一次接触的机器学习算法就是线性回归了。因为相对其他算法而言,我觉得线性回归是相对比较容易的算法,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那个时候并没有涉及到误差项,其实在中学的时候就有接触了,学习的最小二乘法就是啦~~
1).对于坐标系中给定的点,我们希望用一条线或是一个类似于:f(x)=θ0+θ1*x1+θ2*x2_...θn*xn 方程来拟合这写数据点,这就是我们说的回归了
2).这次我们要用的是Python中一个有名的库sklearn,这个库里面集成了大部分常用的机器学习算法,使用起来也相对方便,只需调用相关类和函数,就可以完成一个基本的机器学习模型了
3).首先感受下本文要用到的线性回归算法,大致核心的代码如下:
4).只要简单的几行代码,你就可以建立一个线性回归的模型
- 这里的from sklearn.linear_model import LinearRegression为导入相关的算法类,视具体情况而导入不同的算法类
- 第二句是初始化该模型;接着是用fit函数完成训练你的数据,得到一个可以用于预测的模型
- 最后用predict函数进行预测
下面先举一个小例子,在原来的基础上加上了数据集,需要注意的是,X_train可以是一维的,二维的,也可以是多维的
即X1,X2,X3,……这里是二维的,所以是一个大的列表中包含一个个小列表,每个小列表包含两个数
用fit函数后直接predict新的数据X_test,最后打印出结果。print(linreg.coef_)这句是打印出该模型的参数
比如这里对数据拟合之后就是[ 0.5 0.5],写出来就是y=0.5*X1+0.5*X2
在这个例子中,用到的数据集来自sklearn中自带的数据集,首先简单看一下数据大致情况:
可以看到该数据集共有442条数据,每一条数据有10个特征值(feature),在这里我们不做任何处理,统统把数据扔进去(哈哈哈,我有点懒)
- 读取sklean 自带的diabete数据集
- 使用全部特征,区分开x和y
- 把数据集分为训练集和测试集,其中test_size=0.3,即测试集占数据的30%
- 使用线性回归
- 进行训练集 和测试集的匹配,即是训练的过程
- 打印出相关系数和截距等信息
- 打印出模型的score值
>>
参数为 [ -17.33584015 -133.4430929 556.52334063 257.93937783 -851.30658803 535.61270222 109.61905444 56.42194824 795.39454829 163.07702816]
0.487947429125
(PS:这里画风突变是用了不同的IDE)
其实,对于该例子,或者说是其他算法而言,从代码上来看,大致遵循这样的“套路”:
- model = linear_model.LinearRegression() #使用线性回归
- model.fit(X_train, y_train) #训练获得一个model
- model.predict(X_test) # 预测
- model.score(X_test, y_test) # 获取模型的score值
1).换成其他算法只需修改相应的算法类即可
2).另外,对于该例子或者说其他例子而言,完成一个实战 大致上的思路为:
获取相关数据—>特征选择—>模型选择—>训练数据—>评价模型—>预测结果
3).但在本文中主要是想让读者了解如何使用sklearn中的线性回归模型,所以并没有按照一个具体的流程完整的做出来,以后有机会也会写一写其中的一小个步骤。
4).至此,关于sklearn的线性回归基本用法就结束了,但需要注意的是,有些模型你得到后的参数是一个列表,外加列表外单独的一个数,列表外的那个数其实是截距,也就是常数,列表里面的则是系数
小郑感悟:
最后,本文是我第一次写此类文章,虽然内容不算多,也是忙活了一个下午(但我想主要还是我菜,心累。。。)首先是感受到提供技术文章的作者确实不易,在此十分感谢能无私提供学习文章的广大作者(译者)们。另外,我也是刚刚接触机器学习不久,过程中难免有疏忽、漏洞和错误的地方,也希望各位大神朋友们能不吝赐教,共同进步!
菜鸟学Python入门教程大盘点|7个多月的心血总结 同学,学Python真的不能这样学 全网爬取6500多只基金|看看哪家基金最强 用Python破解微软面试题|24点游戏 2道极好的Python算法题|带你透彻理解装饰器的妙用 一道Google的算法题 |Python巧妙破解
用Python炒股|10年翻400倍的量化投资策略 用Python来分析股票|发现炒股软件里惊人内幕 长按二维码,关注【菜鸟学python】
来源 | 菜鸟学Python
作者 | xinxin
本文章为菜鸟学Python独家原创稿件,未经授权不得转载
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 谷歌开发者大会,3000字记录,好看好吃好玩,还有独家面试...04/06
- ♥ python中字符和ascll代码之间的转换09/01
- ♥ 如何计算python程序的运行时间10/22
- ♥ 我应该学习Java还是Python?08/16
- ♥ python如何调用自己的函数09/10
- ♥ 如何在python中使用空格10/08
内容反馈