线性回归

Posted st-lovaer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性回归相关的知识,希望对你有一定的参考价值。

二维线性回归(作了可视化处理):

 1 from sklearn.linear_model import LinearRegression
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 X=[[1],[4],[3]]
 5 y=[3,5,3]
 6 lr=LinearRegression()
 7 model=lr.fit(X,y)
 8 z=np.linspace(0,5,20)
 9 plt.scatter(X,y,s=80)
10 plt.plot(z,model.predict(z.reshape(-1,1)),c=k)
11 plt.title(Linear Regression)
12 print("y={:.3f}x".format(model.coef_[0])++{:.3f}.format(model.intercept_))
13 plt.show()
 1 from sklearn.datasets import make_regression
 2 X,y=make_regression(n_samples=50,n_features=1,n_informative=1,noise=50,random_state=1)
 3 reg=LinearRegression()
 4 reg.fit(X,y)
 5 z=np.linspace(-3,3,200).reshape(-1,1)
 6 plt.scatter(X,y,c=b,s=60)
 7 plt.plot(z,reg.predict(z),c=k)
 8 plt.title("Linear Regression2")
 9 print("y={:.3f}x".format(reg.coef_[0])++{:.3f}.format(reg.intercept_))
10 plt.show()

多维线性回归(分别使用了自造回归数据和糖尿病人的数据集):

1 from sklearn.model_selection import train_test_split
2 from sklearn.linear_model import LinearRegression
3 from sklearn.datasets import make_regression
4 X,y=make_regression(n_samples=100,n_features=2,n_informative=2,random_state=38)
5 X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)
6 lr=LinearRegression().fit(X_train,y_train)
7 print("the coefficient:{}".format(lr.coef_))
8 print(the intercept:{}.format(lr.intercept_))
9 print("the score of this model:{:.3f}".format(lr.score(X_test,y_test)))
1 from sklearn.datasets import load_diabetes
2 X,y=load_diabetes().data,load_diabetes().target
3 X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)
4 lr=LinearRegression().fit(X_train,y_train)
5 print("the coefficient:{}".format(lr.coef_))
6 print(the intercept:{}.format(lr.intercept_))
7 print("the score of this model:{:.3f}".format(lr.score(X_test,y_test)))

 

以上是关于线性回归的主要内容,如果未能解决你的问题,请参考以下文章

线性回归详解(代码实现+理论证明)

机器学习入门 ----线性回归模型及其Python代码解析

线性回归模型|机器学习

Python应用实战线性回归(附Python代码)

如何用matlab线性回归分析?

贝叶斯线性回归和多元线性回归构建工资预测模型|附代码数据