zoukankan      html  css  js  c++  java
  • mooc机器学习第九天-多项式回归

    Mooc上一篇的房屋和价格回归预测使用的一元线性回归,这次该用多项式看看拟合效果有什么变化。

    1.多项式原理简单介绍

    (1).基本概念

    多项式回归(Polynomial Regression)是研究一个因变量与一个或多个自变量间多项式的回归分析方法。如果自变量只有一个 时,称为一元多项式回归;如果自变量有多个时,称为多元多项式回归。 

            

    在一元回归分析中,如果依变量y与自变量x的关系为非线性的,但是又找不到适当的函数曲线来拟合,则可以采用一元多项式回归。 

    多项式回归的最大优点就是可以通过增加x的高次项对实测点进行逼近,直至满意为止。 

    事实上,多项式回归可以处理相当一类非线性问题,它在回归分析 中占有重要的地位,因为任一函数都可以分段用多项式来逼近。

     

     

    2.代码

    import matplotlib.pyplot as plt
    import numpy as np
    from sklearn.preprocessing import PolynomialFeatures
    from sklearn import  linear_model
    plt.rcParams['font.sans-serif']=['SimHei']
    
    datasets_X=[]
    datasets_Y=[]
    fr=open('./prices.txt',
            'r')
    lines=fr.readlines()
    for line in lines:
        items = line.strip().split(',')
        datasets_X.append(int(items[0]))
        datasets_Y.append(int(items[1]))
    
    length=len(datasets_X)
    datasets_X=np.array(datasets_X).reshape([length,1])
    datasets_Y=np.array(datasets_Y)
    # print(datasets_X)
    
    maxX=np.max(datasets_X)
    minX=np.min(datasets_X)
    X=np.arange(minX,maxX).reshape([-1,1])
    
    
    #调用算法
    poly_reg=PolynomialFeatures(degree=2)
    #degree=2表示建立datasets_X的二 次多项式特征X_poly。
    #更该数值可以提高曲线向真实点的逼近效果
    X_poly=poly_reg.fit_transform(datasets_X)#利用创建好的特称来训练
    
    #创建线性回归器
    lin_reg_2=linear_model.LinearRegression()
    lin_reg_2.fit(X_poly,datasets_Y)
    
    
    
    #图像
    plt.scatter(datasets_X,datasets_Y,color='r')
    plt.plot(X,lin_reg_2.predict(poly_reg.fit_transform(X)),color='b')
    plt.xlabel('Area')
    plt.title('房屋价格和面积关系非线性拟合')
    plt.ylabel('Price')
    plt.show()
    

      

     图示效果为4次多项式特征

    参考:https://blog.csdn.net/bxg1065283526/article/details/80043049

  • 相关阅读:
    Centos安装webbench
    schema://host[:port#]/path/.../[?query-string][#anchor]
    ab压力测试报错: apr_socket_recv: Connection reset by peer (104)
    Nginx配置proxy_pass转发的/路径问题
    压力测试的轻量级具体做法
    jquery删除动态增加的li
    css如何li中选中后加上class属性js控制
    JQuery中两个ul标签的li互相移动实现方法
    xcode生成的IOS安装文件的位置
    xcode生成文件路径
  • 原文地址:https://www.cnblogs.com/cheflone/p/13308408.html
Copyright © 2011-2022 走看看