基于线性回归预测糖尿病
1、实验描述
-
使用Python编程,利用diabetes
dataset,一个糖尿病数据集,主要包括442行数据,10个属性值,分别是:Age(年龄)、性别(Sex)、Body
mass index(体质指数)、Average Blood
Pressure(平均血压)、S1~S6一年后疾病级数指标。Target为一年后患疾病的定量指标。首先将数据集划分为训练集和测试集,创建线性回归模型,然后训练数据集,得到每个特征下的参数。绘图表示出真实值和预测值之间的对比。 -
实验时长:35分钟
-
主要步骤:
-
数据集的划分
-
创建普通线性回归模型
-
将训练数据输入学习模型中进行训练
-
将测试数据输入模型,获得预测结果
-
绘图进行效果评估
-
2、实验环境
-
系统版本:CentOS7
-
Python版本:3.6.6
-
Matplotlib版本:2.2.2
-
Anaconda版本:4.3.30
-
Numpy版本:1.13.1
-
scikit-learn版本:0.18.2
3、相关技能
-
Python编程
-
线性回归模型
4、相关知识点
-
LinearRegression
-
是scikit-learn提供的线性回归模型,其原型为:
-
class sklearn.linear_model.LinearRegression(fit_intercept=True,
normalize=False, copy_X=True, n_jobs=1) -
导入:from sklearn.linear_model import LinearRegression
-
参数
-
-
(1)fit_intercept :
一个布尔值,指定是否需要计算b值。如果为False,那么不计算b值。 -
(2)normalize : 一个布尔值。如果为True,那么训练样本会在回归之前被归一化。
-
(3)copy_X : 一个布尔值。如果为True,则会被复制。
-
(4)n_jobs :
一个正数。任务并行时指定的CPU数量。如果为-1则使用所有可用的CPU。- 属性
-
(1)coef_ : 权重向量。
-
(2)intercept_ : 截距b值。
- 方法
-
(1)fit(X,y) : 训练模型。
-
(2)predict(X) : 用模型预测,返回预测值。
-
(3)score(X,y) : 返回性能得分。设预测集为
> ,真实值为
> ,真实值的均值为
> ,预测值为
> ,则:
-
线性回归
-
在统计学中,线性回归(Linear
Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。 -
回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
-
建立函数模型
-
-
训练数据
- 采用矩阵表示
-
最小二乘法
-
我们有很多的给定点,这时候我们需要找出一条线去拟合它,那么我先假设这个线的方程,然后把数据点代入假设的方程得到观测值,求使得实际值与观测值相减的平方和最小的参数。对变量求偏导联立便可求。