zoukankan      html  css  js  c++  java
  • Python回归分析五部曲(三)—一元非线性回归

    (一)基础铺垫

    • 一元非线性回归分析(Univariate Nonlinear Regression)

      • 在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条曲线近似表示,则称为一元非线性回归分析。

      • 一元二次方程:

    y=a2x2+a1x1+a0x0


      • 一元三次方程:

    y=a3x3a2x2+a1x1+a0x0


      • 一元 n 次方程:

    y=anxn......+a1x1+a0x0

    (二)案例-金融场景为例

    产品编号 手续费(%) 金融产品销售额
    1 2.2 25.5
    2 2.3 22.5
    3 2.4 19.5
    4 2.5 16.5
    5 2.7 13.5
    6 3.1 10.5
    7 3.6 7.5
    8 4.8 4.5
    9 7.0 1.5

    1.建模逻辑

    • 一元非线性回归方程转为多元一次回归方程

    y=a2x2+a1x1+a0x0

    y=a2x¯2+a1x¯1+a0x¯0

    shujudata

    x¯0=x0

    x¯1=x1

    x¯2=x2

    2.实操

    • jacky关键点提示:把一元非线性方程转化为多元线性方程的方法

      • 转化的方法是PolynomialFeatures类

      • 要确定是一元几次方程(从图形中观察),然后确定degree是几(多少阶的方程)

    #---author:朱元禄---
    import pandas
    data = pandas.read_csv(
        'file:///Users/apple/Desktop/jacky_1.csv',encoding='GBK'
    )
    
    x = data[["手续费(%)"]]
    y = data[["金融产品销售额"]]
    
    import matplotlib
    font = {
        'family':'SimHei'
    }
    matplotlib.rc('font',**font)
    matplotlib.rcParams['axes.unicode_minus'] = False
    from pandas.plotting import scatter_matrix
    
    scatter_matrix(
        data[["手续费(%)","金融产品销售额"]],
        alpha = 0.8,figsize =(10,10),diagonal = 'kid'
    )
    
    from sklearn.linear_model import LinearRegression
    from sklearn.preprocessing import PolynomialFeatures
    
    pf = PolynomialFeatures(degree=2)
    x_2_fit = pf.fit_transform(x)
    
    lrModel = LinearRegression()
    lrModel.fit(x_2_fit,y)
    
    lrModel.score(x_2_fit,y)
    
    x_2_predict = pf.fit_transform([9],[10])
    lrModel.predict(x_2_predict)
    
  • 相关阅读:
    《ActionScript 3 CookBook 简体中文完整版》下载
    打开组件服务超慢,打不开属性窗口。
    无法引用Microsoft.Office.Interop.Excel的解决
    HttpWebResponse类
    反射性能优化 标记个
    配置文件入门 WebConfig.config常用配置节点介绍
    配置文件的读写
    HTTP权威指南阅读记录 第一章
    IIS
    锁机制与原子操作 <第四篇>
  • 原文地址:https://www.cnblogs.com/shujufenxi/p/9054435.html
Copyright © 2011-2022 走看看