欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用sklearn.linear_model.LinearRegression预测体重

程序员文章站 2022-07-14 15:17:47
...
import numpy as np
#创建数据
data = np.array([[150,50],
                [152,52],
                [160,55],
                [164,57],
                [165,58],
                [168,59],
                [170,60],
                [171,61],
                [173,61],
                [173,61],
                [176,63],
                [177,64],
                [180,67],
                [183,70],
                [184,71]], np.int32)
#提取特征和标签
x = data[:,0:-1]#从第0列开始到倒数第2列停止
y = data[:,-1] #取出最后一列

print(np.shape(x), np.shape(y))
#可视化数据
import matplotlib.pyplot as plt
%matplotlib inline

plt.scatter(x,y)
plt.show()

利用sklearn.linear_model.LinearRegression预测体重

#通过线性回归模型来拟合给定的数据
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit(x,y)
print(model.predict([[169]]))  #注意model.predict()中要预测的数据跟训练数据x的shape保持一致

print(model.coef_)#coef_:回归系数(斜率)
#对于线性回归问题计算得到的feature的系数。
#如果输入的是多目标问题,则返回一个二维数组(n_targets, n_features);
#如果是单目标问题,返回一个一维数组(n_features,)。

print(model.intercept_)#intercept_:截距项

print(model.score(x,y))# 返回预测的决定系数R^2; 
#其结果等于1-(((y_true - y_pred) **2).sum() / ((y_true - y_true.mean()) ** 2).sum())

利用sklearn.linear_model.LinearRegression预测体重
详细参数解释参考sklearn.linear_model.LinearRegressionLinearRegression().score返回的是决定系数R²-其中含义linear_model.LinearRegressionsklearn.linear_model之LinearRegression

#把学出来的直线和训练数据可视化在同一个图里面
plt.scatter(x,y)
plt.plot(x, model.predict(x))
plt.show()

利用sklearn.linear_model.LinearRegression预测体重