python_sklearn机器学习算法系列之LinearRegression线性回归

        本文主要是通过程序来学习python 中sklearn的LinearRegression线性回归这一函数的基本操作和使用,注意不是用python纯粹从头到尾自己构建线性回归,既然sklearn提供了现成的我们直接拿来用就可以了,至于线性回归的原理非常简单,这里不做进一步解释(可以参考https://blog.csdn.net/sxf1061926959/article/details/66976356?fps=1&locationNum=9)

        LinearRegression的使用非常简单,主要分为两步:

一:使用 fit(x_train,y_train)对训练集x, y进行训练。

二:使用predict(x_test) 训练得到的估计器对输入为x_test的集合进行预测(x_test可以是测试集,也可以是需要预测的数 据)。

      本次用的源数据是 datasets.load_diabetes数据,这是一个糖尿病的数据集,data部分主要包括442行数据,10个属性值,分别是:Age(年龄)、性别(Sex)、Body mass index(体质指数)、Average Blood Pressure(平均血压)、S1~S6一年后疾病级数指标;Target为一年后患疾病的定量指标。为了后面绘图方便本程序中只用了data中的一个参数作为自变量(实际自变量中并不限于一个属性或特征值)

代码如下:

#LinearRegression线性回归
from sklearn import datasets,linear_model
import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl

diabetes=datasets.load_diabetes()
diabetes_x=diabetes.data[:,np.newaxis ,2]               #取第三列数据

diabetes_x_train=diabetes_x[:-20]
diabetes_x_test=diabetes_x[-20:]

diabetes_y_train=diabetes.target[:-20]
diabetes_y_test=diabetes.target[-20:]

#核心代码
regr=linear_model.LinearRegression()
regr.fit(diabetes_x_train,diabetes_y_train)             #用训练集进行训练模型

print('Input Values')
print(diabetes_x_test)

#核心代码
diabetes_y_pred=regr.predict(diabetes_x_test)
print('Predicted Output Values')
print(diabetes_y_pred)

#绘图
mpl.rcParams['font.sans-serif'] = [u'SimHei']            #用来正常显示中文标签    
mpl.rcParams['axes.unicode_minus'] = False               #用来正常显示负号

plt.scatter(diabetes_x_test,diabetes_y_test,color='black')
plt.plot(diabetes_x_test,diabetes_y_pred,color='red',linewidth=1)

plt.xlabel('体质指数', fontsize=12)  
plt.ylabel('一年后患疾病的定量指标', fontsize=12)
plt.title(u'LinearRegression线性回归', fontsize=12)

plt.show()

运行结果:



更多算法可以参看博主其他文章,或者github:https://github.com/Mryangkaitong/python-Machine-learning

猜你喜欢

转载自blog.csdn.net/weixin_42001089/article/details/79950520