线性回归预测房价

作者: DayDayUpppppp | 来源:发表于2017-05-27 17:04 被阅读0次

    线性回归模型应该是机器学习里面一个基本的模型,线性模型(linear model)试图学得一个属性的线性组合函数来进行预测。

    假设输入的数据是:


    image.png

    那么,根据这个输入的数据,得到一个训练模型。然后预测一下一个700平方英尺的房子,价格是多少?

    原理性的东西,我是参考周志华的《机器学习》关于线性回归的介绍和复习了一下最小二乘法思想。

    实验的部分,使用python来实现的。

    实现
    1. 需要的python库
    import matplotlib.pyplot as plt 
    import numpy as np 
    import pandas as pd 
    from sklearn import datasets,linear_model
    

    2.训练集

    x_parameter=[[150],[200],[250],[300],[350],[400],[600]]
    y_parameter=[6450,7450,8450,9450,11450,15450,18450]
    

    3.训练模型

    def linear_model_main(x_parameter,y_parameter,predict_value):
        regr=linear_model.LinearRegression()
        regr.fit(x_parameter,y_parameter)
        predict_outcome=regr.predict(predict_value)
    
        predictions={}
        predictions['intercept']=regr.intercept_
        predictions['coefficient'] = regr.coef_
        predictions['predicted_value'] = predict_outcome
        return predictions
    

    4.调用

    predict_squre=700
    result=linear_model_main(x_parameter,y_parameter,predict_squre)
    

    5.画图显示一下

    def show_linear_line(X_parameters,Y_parameters):
        # Create linear regression object
        regr = linear_model.LinearRegression()
        regr.fit(X_parameters, Y_parameters)
        plt.scatter(X_parameters,Y_parameters,color='blue')
        plt.plot(X_parameters,regr.predict(X_parameters),color='red',linewidth=4)
        plt.xticks(())
        plt.yticks(())
        plt.show()
    
    
    2017-05-27 17-00-52屏幕截图.png

    源代码:
    https://github.com/zhaozhengcoder/Machine-Learning/blob/master/linear%20model.py

    PS:
    这里调用了sklearn 的库,使用了linear_model.LinearRegression()函数,直接拟合了数据。但是,这个函数内部是怎么做的?是如何做到了?
    就设计到了如何求解代价函数的最小值,最小二乘法,梯度下降等知识。
    以后补充这个推理过程。

    相关文章

      网友评论

        本文标题:线性回归预测房价

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