python一元回归分析(一元回归分析的步骤)

2024-11-10 09:54 - 立有生活网

大家好,今日小天来为大家解答以上的问题。python一元回归分析,一元回归分析的步骤很多人还不知道,现在让我们一起来看看吧!

python一元回归分析(一元回归分析的步骤)python一元回归分析(一元回归分析的步骤)


python一元回归分析(一元回归分析的步骤)


1、数据挖掘中的预测问题通常分为2类:回归与分类。

2、简单的说回归就是预测数值,而分类是给数据打上标签归类。

3、本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误进行分析。

4、本例中使用一个2次函数加上随机的扰动来生成500个点,然后尝试用1、2、100次方的多项式对该数据进行拟合。

5、拟合的目的是使得根据训练数据能够拟合出一个多项式函数,这个函数能够很好的拟合现有数据,并且能对未知的数据进行预测。

6、代码如下:importmatplotlib.pyplot as pltimportnumpy as npimportscipy as spfromscipy.stats importnormfromsklearn.pipeline importPipelinefromsklearn.linear_model importLinearRegressionfromsklearn.preprocessing importPolynomialFeaturesfromsklearn importlinear_model''''' 数据生成 '''x = np.arange(0, 1, 0.002)y = norm.rvs(0, size=500, scale=0.1)y = y + x2''''' 均方误根 '''defrmse(y_test, y):returnsp.sqrt(sp.mean((y_test - y) 2))''''' 与均值相比的程度,介于[0~1]。

7、0表示不如均值。

8、1表示完美预测.这个版本的实现是参考scikit-learn文档 '''defR2(y_test, y_true):return1- ((y_test - y_true)2).sum() / ((y_true - y_true.mean())2).sum()''''' 这是Conway&White《机器学习使用案例解析》里的版本 '''defR22(y_test, y_true):y_mean = np.array(y_true)y_mean[:] = y_mean.mean()return1- rmse(y_test, y_true) / rmse(y_mean, y_true)plt.scatter(x, y, s=5)degree = [1,2,100]y_test = []y_test = np.array(y_test)ford indegree:clf = Pipeline([('poly', PolynomialFeatures(degree=d)),('linear', LinearRegression(fit_intercept=False))])clf.fit(x[:, np.newaxis], y)y_test = clf.predict(x[:, np.newaxis])print(clf.named_steps['linear'].coef_)print('rmse=%.2f, R2=%.2f, R22=%.2f, clf.score=%.2f'%(rmse(y_test, y),R2(y_test, y),R22(y_test, y),clf.score(x[:, np.newaxis], y)))plt.plot(x, y_test, linewidth=2)plt.grid()plt.legend(['1','2','100'], loc='upper left')plt.show()该程序运行的显示结果如下:[-0.16140183 0.99268453]rmse=0.13, R2=0.82, R22=0.58, clf.score=0.82[ 0.00934527 -0.035245 1.03065829]rmse=0.11, R2=0.88, R22=0.66, clf.score=0.88[ 6.07130354e-02 -1.02247150e+00 6.66972089e+01 -1.85696012e+04......-9.43408707e+12 -9.78954604e+12 -9.99872105e+12 -1.00742526e+13-1.00303296e+13 -9.88198843e+12 -9.64452002e+12 -9.33298267e+12-1.00580760e+12]rmse=0.10, R2=0.89, R22=0.67, clf.score=0.89显示出的coef_就是多项式参数。

9、如1次拟合的结果为y = 0.99268453x -0.16140183这里我们要注意这几点:1、误分析。

10、做回归分析,常用的误主要有均方误根(RMSE)和R-平方(R2)。

11、RMSE是预测值与真实值的误平方根的均值。

12、这种度量方法很流行(Netflix机器学习比赛的评价方法),是一种定量的权衡方法。

13、R2方法是将预测值跟只使用均值的情况下相比,看能好多少。

14、其区间通常在(0,1)之间。

15、0表示还不如什么都不预测,直接取均值的情况,而1表示所有预测跟真实结果完美匹配的情况。

16、R2的计算方法,不同的文献稍微有不同。

17、如本文中函数R2是依据scikit-learn文档实现的,跟clf.score函数结果一致。

本文到这结束,希望上面文章对大家有所帮助。

goole翻译_google在线翻译

谷歌翻译为什么点翻译了却没有反应 谷歌浏览器8.0版之后的都集成了翻译功能了,就是一旦检测到不是中文简体的网站,就会自动提示你要不要翻译成中文。 Google 翻译是我们现在经常使用的一原···

315消费者权益有哪些 315消费者权益是什么意思

消费者有哪些权益 《中华消费者权益保》规定了消费者有以下九项权利:(1)安全权。消费者在购买、使用商品和接受服务时享有人身财产安全不受损害的权利。(2)知情权。消费者享有知悉购买、使···

水果茶怎么做 奶茶店的水果茶怎么做

小柳今天给分享水果茶怎么做的知识,其中也会对奶茶店的水果茶怎么做进行解释,希望能解决你的问题,请看下面的文章阅读吧! 水果茶怎么做 奶茶店的水果茶怎么做 水果茶怎么做 奶茶店的水···