【线性回归原理】找到当前训练数据集中y的预测值和其真实值的平方差最小的时候,所对应的w值和b值。
#导入数据集拆分工具
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
X,y=make_regression(n_samples=100,n_features=2,n_informative=2,random_state=38)
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)
lr=LinearRegression().fit(X_train,y_train)
print('y={:2.4f}'.format(lr.coef_[0]),'x1 +','{:1.4f}'.format(lr.coef_[1]),'x2 + ','{:1.2e}'.format(lr.intercept_))
print("训练集得分:{:.2f}".format(lr.score(X_train,y_train)))
print("测试集得分:{:.2f}".format(lr.score(X_test,y_test)))
#使用含噪声的数据
from sklearn.datasets import load_diabetes#糖尿病数据集
X,y=load_diabetes().data,load_diabetes().target
X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)
lr=LinearRegression().fit(X_train,y_train)
print("训练集得分:{:.2f}".format(lr.score(X_train,y_train)))
print("测试集得分:{:.2f}".format(lr.score(X_test,y_test)))