python机器学习库sklearn——线性回归
全栈工程师开发手册 (作者:栾鹏)
python数据挖掘系列教程
线性回归的相关的知识内容可以参考
http://blog.csdn.net/luanpeng825485697/article/details/78933084
这里只讲述sklearn中如何使用线性回归进行估值预测。
参数:
fit_intercept: 布尔型,默认为true
说明:是否对训练数据进行中心化。如果该变量为false,则表明输入的数据已经进行了中心化,在下面的过程里不进行中心化处理;否则,对输入的训练数据进行中心化处理
normalize布尔型,默认为false
说明:是否对数据进行标准化处理
copy_X 布尔型,默认为true
说明:是否对X复制,如果选择false,则直接对原数据进行覆盖。(即经过中心化,标准化后,是否把新数据覆盖到原数据上)
n_jobs 整型, 默认为1
说明:计算时设置的任务个数(number of jobs)。如果选择-1则代表使用所有的CPU。这一参数的对于目标个数>1(n_targets>1)且足够大规模的问题有加速作用。
返回值:
coef_ 数组型变量, 形状为(n_features,)或(n_targets, n_features)
说明:对于线性回归问题计算得到的feature的系数。如果输入的是多目标问题,则返回一个二维数组(n_targets, n_features);如果是单目标问题,返回一个一维数组 (n_features,)。
intercept_ 数组型变量
说明:线性模型中的独立项。
注:该算法仅仅是scipy.linalg.lstsq经过封装后的估计器。
方法:
decision_function(X) : 对训练数据X进行预测
fit(X, y[, n_jobs]) : 对训练集X, y进行训练。是对scipy.linalg.lstsq的封装
get_params([deep]) : 得到该估计器(estimator)的参数。
predict(X): 使用训练得到的估计器对输入为X的集合进行预测(X可以是测试集,也可以是需要预测的数据)。
score(X, y[,]sample_weight): 返回对于以X为samples,以y为target的预测效果评分。
**set_params(params): 设置估计器的参数
decision_function(X) 和predict(X)都是利用预估器对训练数据X进行预测,其中decision_function(X)包含了对输入数据的类型检查,以及当前对象是否存在coef_属性的检查,是一种“安全的”方法,而predict是对decision_function的调用。
score(X, y[,]sample_weight)
定义为(1-u/v),其中 u = ((y_true - y_pred)**2).sum(),而v=((y_true-y_true.mean())**2).mean()
最好的得分为1.0,一般的得分都比1.0低,得分越低代表结果越差。
其中sample_weight为(samples_n,)形状的向量,可以指定对于某些sample的权值,如果觉得某些数据比较重要,可以将其的权值设置的大一些。
import numpy as np # 快速操作结构数组的工具
import matplotlib.pyplot as plt # 可视化绘制
from sklearn.linear_model import LinearRegression # 线性回归# 样本数据集,第一列为x,第二列为y,在x和y之间建立回归模型
data=[[0.067732,3.176513],[0.427810,3.816464],[0.995731,4.550095],[0.738336,4.256571],[0.981083,4.560815],[0.526171,3.929515],[0.378887,3.526170],[0.033859,3.156393],[0.132791,3.110301],[0.138306,3.149813],[0.247809,3.476346],[0.648270,4.119688],[0.731209,4.282233],[0.236833,3.486582],[0.969788,4.655492],[0.607492,3.965162],[0.358622,3.514900],[0.147846,3.125947],[0.637820,4.094115],[0.230372,3.476039],[0.070237,3.210610],[0.067154,3.190612],[0.925577,4.631504],[0.717733,4.295890],[0.015371,3.085028],[0.335070,3.448080],[0.040486,3.167440],[0.212575,3.364266],[0.617218,3.993482],[0.541196,3.891471]
]#生成X和y矩阵
dataMat = np.array(data)
X = dataMat[:,0:1] # 变量x
y = dataMat[:,1] #变量y# ========线性回归========
model = LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
model.fit(X, y) # 线性回归建模
print('系数矩阵:\n',model.coef_)
print('线性回归模型:\n',model)
# 使用模型预测
predicted = model.predict(X)# 绘制散点图 参数:x横轴 y纵轴
plt.scatter(X, y, marker='x')
plt.plot(X, predicted,c='r')# 绘制x轴和y轴坐标
plt.xlabel("x")
plt.ylabel("y")# 显示图形
plt.show()
系数矩阵:
[[ 1.6314263]]
线性回归模型:
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
图形:
python机器学习库sklearn——线性回归相关推荐
- Python机器学习库sklearn的安装
Python机器学习库sklearn的安装 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上能够为用户提供各种机器学习算法接口 ...
- python机器学习库sklearn——决策树
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 决策树的相关的知识内容可以参考 http://blog.csdn.net/luanpeng825485697/article/deta ...
- python机器学习库sklearn与graphlab与opencv的安装
1.安装python 首先安装python3.5 Link 然后安装python2.7 Link 注意选择合适的版本(记得之后安装的GraphLab只能用64位,也只能使用python2) 2.安装使 ...
- python机器学习库keras——线性回归、逻辑回归、一般逻辑回归
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 线性回归 import numpy as npfrom keras.models import Sequential from ker ...
- python机器学习库sklearn——特征提取
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 注意:特征特征提取与 特征选择 有很大的不同:前者包括将任意数据(如文本或图像)转换为可用于机器学习的数值特征.后者是将这些特征应用到 ...
- python机器学习库sklearn——SGD梯度下降法
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- python机器学习库sklearn——集成方法(Bagging、Boosting、随机森林RF、AdaBoost、GBDT)
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...
- python机器学习库sklearn——模型评估
全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 各类模型评估详细意思参考:https://blog.csdn.net/luanpeng825485697/article/detail ...
- python机器学习库sklearn——交叉验证(K折、留一、留p、随机)
分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 全栈工程师开发手册 (作者:栾鹏) python数据挖掘系列教程 学习预测函数的参数,并在相 ...
最新文章
- 谷歌提出「卷积+注意力」新模型,超越ResNet最强变体
- php 数组美化_PHP格式化输出数组,一目了然
- 绘制课本中的根轨迹图与零极点分布图
- 【LeetCode】19. Remove Nth Node From End of List
- 关于万能头文件的使用
- node.js JavaScript 严格模式
- 1748. The Most Complex Number/LG的数学计划~~~持续更新ing(反素数求解)
- [Machine Learning Algorithm] 决策树与迭代决策树(GBDT)
- JS随机打乱数组的方法小结
- JS CKEditor使用setData后绑定click事件
- L3-013 非常弹的球 (30 分)
- tcs标准编写软件_tcs2010(中国标准编写模板)免费版
- Must Know Tips/tricks in DNN
- 物联网(lot)特定场景最佳实践
- php postgresql 数组,8.14. 数组 - [ PostgreSQL 手册 ] - 在线原生手册 - php中文网
- 黄素单核苷酸小麦麦清白蛋白纳米粒|石杉碱甲乳清白蛋白纳米粒Huperzine-whey protein|化学试剂
- esponse from attempted peer comms was an error: Error: REQUEST_TIMEOUT
- HDU 6080 2017百度之星程序设计大赛 - 资格赛
- windows10桌面图标异常,显示为白色图标
- echarts 3D圆柱形图 实现简单 带图例完美显示隐藏