sklearn系列之----线性回归
来源:互联网 发布:手机淘宝外卖在线订餐 编辑:程序博客网 时间:2024/04/29 18:55
原理
线性回归,原理很简单,就是拟合一条直线使得损失最小,损失可以有很多种,比如平方和最小等等;
y是输出,x是输入,输出是输入的一个线性组合。
系数矩阵就是coef,截距就是intercept;
例子:
我们的输入和输出是numpy的ndarray,输入是类似于列向量的,输出类似于行向量,看它们各自的shape就是:
输出:y.shape ——>(1,)
输入:x.shape——->(m,1) #m是一个数字
大家记得不要把形式弄错啦,不然可就走不起来了;
下面是个最简单的例子:
>>> from sklearn import linear_model #导入线性模型>>> clf = linear_model.LinearRegression() #使用线性回归>>> clf.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2]) #对输入和输出进行一次fit,训练出一个模型LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)>>> clf.coef_ #系数矩阵array([ 0.5, 0.5])
稍微复杂点的例子:
import matplotlib.pyplot as pltimport numpy as npfrom sklearn import datasets, linear_model# 读取自带的diabete数据集diabetes = datasets.load_diabetes()# 使用其中的一个featurediabetes_X = diabetes.data[:, np.newaxis, 2]# 将数据集分割成training set和test setdiabetes_X_train = diabetes_X[:-20]diabetes_X_test = diabetes_X[-20:]# 将目标(y值)分割成training set和test setdiabetes_y_train = diabetes.target[:-20]diabetes_y_test = diabetes.target[-20:]# 使用线性回归regr = linear_model.LinearRegression()# 进行training set和test set的fit,即是训练的过程regr.fit(diabetes_X_train, diabetes_y_train)# 打印出相关系数和截距等信息print('Coefficients: \n', regr.coef_)# The mean square errorprint("Residual sum of squares: %.2f" % np.mean((regr.predict(diabetes_X_test) - diabetes_y_test) ** 2))# Explained variance score: 1 is perfect predictionprint('Variance score: %.2f' % regr.score(diabetes_X_test, diabetes_y_test))# 使用pyplot画图plt.scatter(diabetes_X_test, diabetes_y_test, color='black')plt.plot(diabetes_X_test, regr.predict(diabetes_X_test), color='blue', linewidth=3)plt.xticks(())plt.yticks(())plt.show()
可以看出,使用还是很简单的,就是准备好数据集:
regr = linear_model.LinearRegression() #使用线性回归regr.fit(diabetes_X_train, diabetes_y_train) #训练获得一个modelregr.predict(diabetes_X_test) # 预测regr.score(diabetes_X_test, diabetes_y_test) # 获取模型的score值
OK,就到这,下次继续!
0 0
- sklearn系列之----线性回归
- sklearn系列之----线性回归
- sklearn系列之----线性回归
- 机器学习之线性回归 (Python SKLearn)
- sklearn一元线性回归
- sklearn--线性回归
- sklearn中的线性回归
- Python机器学习Sklearn入门之线性回归
- 机器学习系列之线性回归
- sklearn之线性模型
- sklearn中线性回归、岭回归、多xiang式回归
- sklearn 线性回归LinearRegression()参数介绍
- 机器学习sklearn多元线性回归
- 机器学习sklearn多元线性回归2
- 线性回归原理与spark/sklearn实现
- Python线性回归实例--Python,sklearn,LinearRegression
- Linear Regression 线性回归sklearn python实现
- 机器学习之线性回归及sklearn和tensorflow代码示例
- Spark快速入门指南(Quick Start Spark)
- 设置NetBeans的编辑器字体为抗锯齿
- C++小题(四)
- 努力学习Spark技术,顺应大数据开发潮流
- `.bss' will not fit in region `m_data' 内存越界
- sklearn系列之----线性回归
- myeclipse 开发最常用实用快捷键
- 对象存储Object,分布式文件存储NAS,分布式块存储(ServerSAN)
- 51NOD 1031 骨牌覆盖
- thinkphp3.2整合银联手机网页支付
- [leetcode] 237. Delete Node in a Linked List 解题报告
- LeetCode Spiral Matrix II
- 堆栈,堆栈,堆和栈的区别
- Android混淆、反编译基础教程