• 回归模型与房价预测


    from sklearn.datasets import load_boston#导入数据集
    boston=load_boston()
    #住宅平均房数与房价之间的关系
    import matplotlib.pyplot as plt
    from sklearn.linear_model import LinearRegression
    lineR=LinearRegression()
    x=boston.data[:,6]
    y=boston.target
    plt.figure(figsize=(10,6))
    plt.scatter(x,y)
    lineR.fit(x.reshape(-1,1),y)
    w=lineR.coef_
    b=lineR.intercept_
    plt.plot(x,w*x+b,'r')
    plt.show()
    

      

    # 多元线性回归模型,建立13个变量与房价之间的预测模型,并检测模型好坏
    # 划分数据集
    from sklearn.cross_validation import train_test_split  
    x_train, x_test, y_train, y_test = train_test_split(boston.data,boston.target,test_size=0.3)
    # 建立多项式性回归模型
    lineR = LinearRegression()
    lineR.fit(x_train,y_train)
    
    
    # 检测模型好坏
    import numpy as np
    x_predict = lineR.predict(x_test)
    # 打印预测的均方误差
    print("预测的均方误差:", np.mean(x_predict - y_test)**2)
    # 打印模型的分数
    print("模型的分数:",lineR.score(x_test, y_test))
    import matplotlib.pyplot as plt
    
    x=boston.data[:,12].reshape(-1,1)
    y=boston.target
    plt.figure(figsize=(10,6))
    plt.scatter(x,y)
    from sklearn.linear_model import LinearRegression
    lineR=LinearRegression()
    lineR.fit(x,y)
    y_pred=lineR.predict(x)
    plt.plot(x,y_pred)
    print(lineR.coef_,lineR.intercept_)
    plt.show()
    

      

    #一元多项式回归模型,建立一个变量与房价之间的预测模型,
    from sklearn.preprocessing import PolynomialFeatures
    poly = PolynomialFeatures(degree=2)
    x_poly = poly.fit_transform(x)
    lp = LinearRegression()#G构建模型
    lp.fit(x_poly,y)
    y_poly_pred = lp.predict(x_poly)
    
    plt.scatter(x,y)
    plt.plot(x,y_poly_pred,'r')
    plt.show()
    
    
    lrp = LinearRegression()
    lrp.fit(x_poly,y)
    plt.scatter(x,y)
    plt.scatter(x,y_pred)
    plt.scatter(x,y_poly_pred)   #多项回归
    plt.show()
    

      

  • 相关阅读:
    MMA7660
    使用外设需要做的事情
    BH1750
    English
    2016年学习计划
    博客园
    TIM
    USART
    swift与oc的混合编程
    SVN工具如何创建分支和合并分支的
  • 原文地址:https://www.cnblogs.com/sunyubin/p/10128120.html
Copyright © 2020-2023  润新知