(一)基础铺垫

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

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

    • 一元二次方程:

y=a2x2+a1x1+a0x0
    • 一元三次方程:
y=a3x3+a2x2+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)

Python回归分析五部曲(三)—一元非线性回归的更多相关文章

  1. python回归分析五部曲

    Python回归分析五部曲(一)—简单线性回归 https://blog.csdn.net/jacky_zhuyuanlu/article/details/78878405?ref=myread Py ...

  2. Python回归分析五部曲(二)—多重线性回归

    基础铺垫 多重线性回归(Multiple Linear Regression) 研究一个因变量与多个自变量间线性关系的方法 在实际工作中,因变量的变化往往受几个重要因素的影响,此时就需要用2个或2个以 ...

  3. Python回归分析五部曲(一)—简单线性回归

    回归最初是遗传学中的一个名词,是由英国生物学家兼统计学家高尔顿首先提出来的,他在研究人类身高的时候发现:高个子回归人类的平均身高,而矮个子则从另一方向回归人类的平均身高: 回归分析整体逻辑 回归分析( ...

  4. git提交代码五部曲

    From: https://jingyan.baidu.com/article/359911f5a4fe4b57fe03060d.html 正常使用git时,提交代码五部曲. 工具/原料   电脑 已 ...

  5. python学习心得第三章

    python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(o ...

  6. 机器学习算法与Python实践之(三)支持向量机(SVM)进阶

    机器学习算法与Python实践之(三)支持向量机(SVM)进阶 机器学习算法与Python实践之(三)支持向量机(SVM)进阶 zouxy09@qq.com http://blog.csdn.net/ ...

  7. Python爬虫学习:三、爬虫的基本操作流程

    本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...

  8. python机器学习实战(三)

    python机器学习实战(三) 版权声明:本文为博主原创文章,转载请指明转载地址 www.cnblogs.com/fydeblog/p/7277205.html  前言 这篇notebook是关于机器 ...

  9. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

随机推荐

  1. ts转js 并压缩

    1,在线编译,进入typescript官网http://www.typescriptlang.org/,点击里面的playground就可以直接写代码了. 2,在本地编译运行Typescript需要使 ...

  2. 核发电站 (dp前缀优化)

    大意: $n$个城市, $m$种核电站, 第$i$种假设要建在第$x$个城市, 必须满足$[x-i,x+i]$范围内无其他核电站, 求建核电站的方案数. 简单$dp$题, 设$dp[i][j]$为位置 ...

  3. Java String类源码

    String类的签名(JDK 8): public final class String implements java.io.Serializable, Comparable<String&g ...

  4. C语言存30位数字长的十进制方法

    题目:将一个长度最多为30位数字的十进制非负整数转换为二进制数输出. 首先: 1,30位数字的十进制,并没有一个数据类型可以存下30位的整数类型数字,所以考虑用字符串存储这个数据,遍历这个字符串,每个 ...

  5. Flutter 36: 图解自定义 View 之 Canvas (三)

    小菜继续学习 Canvas 的相关方法: drawVertices 绘制顶点 小菜上次没有整理 drawVertices 的绘制方法,这次补上:Vertice 即顶点,通过绘制多个顶点,在进行连线,多 ...

  6. error connection reset by peer 104

    connection reset by peer的常见原因 1.服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭:2. errno = 104错误表明你在对一个对端socket已经关闭的的 ...

  7. MyBatis 插入失败后爆出 500 ,如何捕获异常?

    我们在使用 Mybatis 的时候,会出现以下场景 数据表里有一些字段被设置为了 不可为 null 但是我们的用户在提交表单的时候没有提交所需的 字段数据 然后 Mybatis 在数据库做操作的时候就 ...

  8. 玩转springcloud(一):什么是Springcloud ,有什么优缺点? 学习顺序是什么?

    一.首先看官方解释: Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线).分布式系统的协调导致了样板模式, 使 ...

  9. (备忘)Python字符串、元组、列表、字典互相转换的方法

    #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, ...

  10. jsp下拉列表

    <c:set var="REPORT_TYPE_NORMAL" value="<%=SysIndexFormTemp.REPORT_TYPE_NORMAL%& ...