美文网首页人工智能/模式识别/机器学习精华专题机器学习与数据挖掘
线性回归实例——房屋价格预测1(单变量的情况)

线性回归实例——房屋价格预测1(单变量的情况)

作者: rebirth_2017 | 来源:发表于2017-07-31 06:17 被阅读460次
  1. sklearn模块的线性回归模型
    from sklearn import datasets, linear_model
    # 引入模型所在模块。
    ………………

    regr = linear_model.LinearRegression()
    # 实例化模型。
    regr.fit(X_parameters,Y_parameters)
    # 为模型赋予数据X_parameters(训练数据),Y_parameters(目标数据)。
    predict_outcome = regr.predict(predict_value)
    # 输入生成预测数据需要的参数predict_value.
    predictions = {}
    predictions['intercept'] = regr.intercept_
    # 回归模型的theta0参数
    predictions['coefficient'] = regr.coef_
    # 回归模型的theta1参数
    predictions['predicted_value']=predict_outcome

我们可以发现,回归模型需要的数据包括:


Paste_Image.png

所以,我们的任务是要找出X(训练数据)和Y(目标值),X的输入形式可以是数组或矩阵,Y只能是数组。

  1. 分析整理训练数据X和目标值Y。已知房屋平米数和价格的关系数据如下:
Paste_Image.png

用函数将input_data.csv中的数据读出来:

def get_data(file_name):
    data = pd.read_csv(file_name)
    # 读取csv文件的方法
    print data
    X_parameter = [ ]
    Y_parameter = [ ]
    for single_square_feet, single_price_value in zip(data['square_feet'],data['price']):
    # 通过列名调用数据。
        X_parameter.append([float(single_square_feet)])
        Y_parameter.append([float(single_price_value)])
    pdb.set_trace()
    return X_parameter,Y_parameter

下图显示,我们得到了想要的训练数据X和目标值Y。


Paste_Image.png
  1. 调用线性回归模型
# Function for Fitting our data to linear model
def linear_model_main(X_parameters,Y_parameters,predict_value):
    # Create linear regression object
    pdb.set_trace()
    regr = linear_model.LinearRegression()
    regr.fit(X_parameters,Y_parameters)
    predict_outcome = regr.predict(predict_value)
    predictions = {}
    predictions['intercept'] = regr.intercept_
    predictions['coefficient'] = regr.coef_
    predictions['predicted_value']=predict_outcome
    return predictions

我们构造了字典: 'predictions' ,将模型输出的 θ0(regr.intercept_) ,θ1(regr.coef_) 以及预测值都存储在字典中。

Paste_Image.png
  1. 检验一下线性回归的拟合情况,将原有的数据点用蓝色标记在图中,求出对应X_parameters的每个估计值,将其用红线连接起来。
# Function to show the results of linear fit model
def show_linear_line(X_parameters,Y_parameters):
    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()cges/4225992-b20e17ea38bacb91.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Paste_Image.png

从直观上看,拟合的直线不错!

5.这里讨论的情况是在一维的情况下进行的,也即只用一个自变量x(房屋的平米数),来估计房屋的价格。这里构造x数组还是比较简单,那如果是多个变量(平米数、房间数等)又该怎么?我们可以同理处理,看下一集。

6.参考文献:
http://dataconomy.com/2015/02/linear-regression-implementation-in-python/

相关文章

  • 线性回归实例——房屋价格预测1(单变量的情况)

    sklearn模块的线性回归模型 我们可以发现,回归模型需要的数据包括: 所以,我们的任务是要找出X(训练数据)和...

  • 线性回归实例——房屋价格预测2(两变量的情况)

    上一集,我们讨论了单变量的情况下,如何利用sklearn模块的线性回归模型预测房价,拟合出了一条回归直线。在上一集...

  • 线性回归---with multiple variables(吴

    详细代码可参考:github 多变量线性回归 实例:已知房屋面积和卧室数量,预测房价 计算公式:Price = t...

  • 多变量线性回归问题

    房价的例子,当只有一个特征变量时,线性回归的预测函数: 现在有了多个特征变量: 尺寸房间数房屋年份价格210454...

  • 学习笔记——机器学习(八)

    线性回归算法 第一点:原理 单变量线性回归算法 1.预测函数方程 y = k * x + b 模型参数 k b...

  • 《机器学习》第3章

    回归和分类的区别 对连续型变量做预测叫回归,对离散型变量做预测叫分类(好瓜坏瓜) 线性回归 1、 线性回归的任务 ...

  • 《机器学习》第3章

    回归和分类的区别 对连续型变量做预测叫回归,对离散型变量做预测叫分类(好瓜坏瓜) 线性回归 1、 线性回归的任务 ...

  • 回归专题-1 | 线线性回归基础

    回归专题-1 | 线线性回归基础 导读 ① 线性回归(又称线性模型),通过一个或者多个预测变量(X)来预测定量结局...

  • 线性回归

    单变量线性回归 多变量线性回归 局限性 梯度下降法 优点 缺点 单变量线性回归 模型线性回归假设数据集中每个yi和...

  • 线性回归 2020-02-11

    3.1 线性回归概念 线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际生活中很常见,如预测房屋价格、气...

网友评论

    本文标题:线性回归实例——房屋价格预测1(单变量的情况)

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