一元非线性回归算法

一元非线性回归分析(Univariate Nonlinear Regression)
如果在回归分析中,只包含一个自变量和一个因变量,且两者的关系可用一条曲线近似表示,这种回归分析称为一元非线性回归分析.
如:一元二次方程,一元三次方程,一元n次方程
一元非线性回归方程一般都是先转成多元一次回归方程,然后建模:
如:y=a2x2+a1x1+a0x^0
转为:y=a2x2+a1x1+a0x0

案例代码:

import pandasimport numpy
data=pandas.read_csv('/Users/cenguangda/Downloads/4.3/data.csv')
x=data[['等级']]y=data[['资源']]
import matplotlib.pyplot as plt
plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel('等级')plt.ylabel('资源')
plt.title('等级&资源')
plt.plot(x,y,'k.')plt.grid(True) 
plt.show()
等级&资源
#转换成多元一次方程,degree值可多次调试以达最佳效果
from sklearn.preprocessing import PolynomialFeatures
pf=PolynomialFeatures(degree=2)
x_fit=pf.fit_transform(x)
# 建模
from sklearn.linear_model import LineaRegression
lModel=LinearRegression()
lModel.fit(x_fit,y)
lModel.score(x_fit,y)
#评估结果
lModel.score(x,y)
Out[30]: 0.93928850730154045

#绘图验证,和原图比较
plt.figure()
plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel('等级')
plt.ylabel('资源')
plt.title('等级&资源')
plt.plot(x,lModel.predict(x_fit),'k.')
等级&资源拟合曲线
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容