Python数据挖掘实战——回归

一、回归分析(Regression Analysis)

    研究自变量与因变量之间关系形式的分析方法,它主要是通过建立 因变量y 与影响它的自变量Xi(i=1,2,3....)之间的回归模型,来预测 因变量y 的发展趋势。

二、回归分析的分类
2.1线性回归分析:简单线性回归、多重线性回归

2.2非线性回归分析:逻辑回归、神经网络

三、简单线性回归模型

y = a + bx + e(一元一次方程)
1)y——因变量
2)x——自变量
3)a——常数项,截距
4)b——回归系数,斜率

5)e——随机误差

3.1回归分析的步骤
1)根据预测目标,确定自变量和因变量

2)绘制散点图,确定回归模型类型

3)估计模型参数,建立回归模型

4)对回归模型进行检验

5)利用回归模型进行预测

3.2案例

Python数据挖掘实战——回归_第1张图片

步骤一:
根据预测目标,确定自变量(已知)和因变量(未知)
问题:投入50万的广告费用,能够带来多少的销售额

因此,广告费用是自变量,销售额是因变量

步骤二:

绘制散点图,确定回归模型类型
Python数据挖掘实战——回归_第2张图片

步骤三:
估计模型参数,建立回归模型

Python数据挖掘实战——回归_第3张图片

最小2乘法(最小平方法):

实际点和估计点之间的距离的平方和达到最小。

步骤四:

Python数据挖掘实战——回归_第4张图片

步骤五:

利用回归模型进行预测:

    根据已有的自变量数据,预测需要的因变量对应的结果。

四、代码实战

data.csv:

Python数据挖掘实战——回归_第5张图片
import numpy;
from pandas import read_csv;
from matplotlib import pyplot as plt;
from sklearn.linear_model import LinearRegression

data = read_csv(
    'C:\\Python_DM\\4.1\\data.csv'
)

#第二步,画出散点图,求x和y的相关系数
plt.scatter(data.广告投入, data.销售额)

data.corr()

#第三步,估计模型参数,建立回归模型,sklearn集成的方法,直接调用
lrModel = LinearRegression()

x = data[['广告投入']]
y = data[['销售额']]

#训练模型,参数a和参数求解的过程
lrModel.fit(x, y)

#第四步、对回归模型进行检验
lrModel.score(x, y)

#第五步、利用回归模型进行预测(输入未知的因变量数组)
lrModel.predict([[50], [40], [30]])

"""
#查看截距
alpha = lrModel.intercept_[0]

#查看参数
beta = lrModel.coef_[0][0]

alpha + beta*numpy.array([50, 40, 30])
"""

你可能感兴趣的:(数据挖掘)