Deep Learning学习笔记-多元线性回归实践

作者: 伊甸亚当 | 来源:发表于2017-02-08 22:58 被阅读339次

    上篇文章中,我们根据BMI来预测寿命,BMI扮演一个“预测者”的角色,统计学中一般把它叫做“自变量(independent variable)”。“预测者”是一个(用于预测其他变量的)变量,那些被预测的那些值,一般被称为“因变量(dependent variables)” ,那么,上个例子中,要预测的寿命就是因变量(dependent variable)。

    那如果说我们还有每个人的心率数据,是否能够使用 BMI 和心率两组数据来预测寿命呢?当然可以!我们可以使用“多元线性回归(multiple linear regression)”来实现。

    如果你要预测的结果依赖多个变量,你可以建立一个更复杂的模型,这时使用多个自变量可以得到更好的预测结果。

    当只有一个自变量的时候,线性回归模型可以用一条直线来表示,当你添加多个自变量的时候,相当于空间中添加了更多的维度。

    当只有一个自变量的时候,直线对应的方程式是:y=mx+b。对于的图形也许是这样的:


    一元线性回归方程

    增加一个自变量,对应的方程式是:y= m1​​x​1 ​​+ m​2​​x2 ​+ b

    这个需要一个三维图形来表示这个公式,这个时候,这个线性回归模型就是一个平面:

    有两个自变量的线性回归模型

    你也可以使用更多的自变量,实际上用的越多效果越好!如果你使用了n个自变量,那么对应模型的方程可以这样表示:y = m​1​​x​1​​ + m​2​​x​2 ​​+ m​3​​x​3 ​​+ … + m​n​​x​n ​​+ b

    使用更多的自变量,相应的模型可视化也变得更难。但幸运的是,所有的线性回归都是一样的,可以直接用方程式推导出来。我们还是使用同样的方式来进行预测。


    多元线性回归实践
    在这次实践中,我们会用到 波斯顿房价的数据(https://archive.ics.uci.edu/ml/datasets/Housing),
    这份数据已经包含在scikit-learn的数据集中,包含506所房屋的13项指标,我们使用这13项指标来建立模型,用于预测房子的价格。

    完整代码如下:

    # 导入 LinearRegression 类 和 数据集
    from sklearn.linear_model import LinearRegression
    from sklearn.datasets import load_boston
    
    # 加载数据集
    boston_data = load_boston()
    x = boston_data['data']
    y = boston_data['target']
    
    # 建立一个回归模型,并赋值给 model
    model = LinearRegression()
    # fit 函数根据数据调整模型
    model.fit(x, y)
    
    # 使用模型做出预测
    sample_house = [[2.29690000e-01, 0.00000000e+00, 1.05900000e+01, 0.00000000e+00, 4.89000000e-01,
                    6.32600000e+00, 5.25000000e+01, 4.35490000e+00, 4.00000000e+00, 2.77000000e+02,
                    1.86000000e+01, 3.94870000e+02, 1.09700000e+01]]
                    
    # 使用  sample_house 的指标进行预测
    prediction = model.predict(sample_house)
    print(prediction)
    
    

    相关文章

      网友评论

        本文标题:Deep Learning学习笔记-多元线性回归实践

        本文链接:https://www.haomeiwen.com/subject/zfwbittx.html