博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sklearn学习笔记之简单线性回归
阅读量:4648 次
发布时间:2019-06-09

本文共 1597 字,大约阅读时间需要 5 分钟。

简单线性回归

线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项。线性回归的思想其实就是解一组方程,得到回归函数,不过在出现误差项之后,方程的解法就存在了改变,一般使用最小二乘法进行计算。

使用sklearn.linear_model.LinearRegression进行线性回归

sklearn对Data Mining的各类算法已经有了较好的封装,基本可以使用fitpredictscore来训练、评价模型,并使用模型进行预测,一个简单的例子如下:

>>> from sklearn import linear_model>>> clf = linear_model.LinearRegression()>>> X = [[0,0],[1,1],[2,2]] >>> y = [0,1,2] >>> clf.fit(X,y) >>> print(clf.coef_) [ 0.5 0.5] >>> print(clf.intercept_) 1.11022302463e-16

LinearRegression已经实现了多元线性回归模型,当然,也可以用来计算一元线性模型,通过使用list[list]传递数据就行。下面是LinearRegression的具体说明。

使用方法

实例化

sklearn一直秉承着简洁为美得思想设计着估计器,实例化的方式很简单,使用clf = LinearRegression()就可以完成,但是仍然推荐看一下几个可能会用到的参数:

  • fit_intercept:是否存在截距,默认存在
  • normalize:标准化开关,默认关闭

还有一些参数感觉不是太有用,就不再说明了,可以去官网文档中查看。

回归

其实在上面的例子中已经使用了fit进行回归计算了,使用的方法也是相当的简单。

  • fit(X,y,sample_weight=None)X,y以矩阵的方式传入,而sample_weight则是每条测试数据的权重,同样以array格式传入。
  • predict(X):预测方法,将返回预测值y_pred
  • score(X,y,sample_weight=None):评分函数,将返回一个小于1的得分,可能会小于0

方程

LinearRegression将方程分为两个部分存放,coef_存放回归系数,intercept_则存放截距,因此要查看方程,就是查看这两个变量的取值。

多项式回归

其实,多项式就是多元回归的一个变种,只不过是原来需要传入的是X向量,而多项式则只要一个x值就行。通过将x扩展为指定阶数的向量,就可以使用LinearRegression进行回归了。sklearn已经提供了扩展的方法——sklearn.preprocessing.PolynomialFeatures。利用这个类可以轻松的将x扩展为X向量,下面是它的使用方法:

>>> from sklearn.preprocessing import PolynomialFeatures>>> X_train = [[1],[2],[3],[4]]>>> quadratic_featurizer = PolynomialFeatures(degree=2)>>> X_train_quadratic = quadratic_featurizer.fit_transform(X_train)>>> print(X_train_quadratic)[[ 1  1  1] [ 1  2  4] [ 1  3  9] [ 1  4 16]]

经过以上处理,就可以使用LinearRegression进行回归计算了。

转载于:https://www.cnblogs.com/liuxingbusi/p/7616548.html

你可能感兴趣的文章
QT-helloworld-Qt设计师编写
查看>>
网络知识整理
查看>>
windows下搭建iphone开发环境
查看>>
远程桌面剪贴板失效的解决办法
查看>>
Mybatis框架插件PageHelper的使用
查看>>
Apache ab 压力测试工具
查看>>
C# 取二位小数点(四舍五入)
查看>>
黑马程序员——程序结构
查看>>
crawlspider
查看>>
正则表达式及其应用
查看>>
整理90部好看的经典喜剧片
查看>>
美丽的数学家:如果您讨厌数学,这些其实都是人生故事
查看>>
MVC判断用是否登录了平台
查看>>
统计剩余字数(jq版)
查看>>
HDU 4747 Mex【线段树上二分+扫描线】
查看>>
noi.ac NOIP2018 全国热身赛 第四场 T1 tree
查看>>
Apicloud——关于索引列表
查看>>
(转)linux下vi编辑器编写C语言的配置
查看>>
多线程基础知识 转
查看>>
MyBatis generator 使用方式 小结
查看>>