Young87

SmartCat's Blog

So happy to code my life!

游戏开发交流QQ群号60398951

当前位置:首页 >跨站数据测试

手写算法-Python代码实现非线性回归

生成非线性数据集

前面我们介绍了Python代码实现线性回归,今天,我们来聊一聊当数据呈现非线性时,这时我们继续用线性表达式去拟合,显然效果会很差,那我们该怎么处理?继续上实例(我们的代码里用到的数据集尽量直接由Python生成,因此,是可以全部跑通的,有需要的同学,建议大家粘贴复现一下,多思考,多动手,才可以学的更好。)

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

#生成如下数据集
a= np.arange(1,11)
b=np.array([4500,5000,6000,8000,11000,15000,20000,30000,50000,100000])
data = np.c_[a,b]

#给x,y分别添加维度
x = data[:,0,np.newaxis]
y=data[:,1,np.newaxis]
plt.scatter(x,y)
plt.show()

在这里插入图片描述

1、用线性回归拟合

数据的分布如上图所示,这时候如果继续使用线性回归去拟合,这里继续使用上篇文章Python手写的类,和sklearn里面实现是一样的。
链接:

除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog

上一篇: 即使不会node.js,拖拽就可完成数据的可视化展示

下一篇: ThinkPHP6项目基操(12.实战部分 验证码)

精华推荐