Python_sklearn_回归
2016-10-23 11:19
197 查看
所用模块:
sklearn,numpy,time
实现功能:
这里只给出一般的应用方法,参数说明,源文档翻译将在后期提供。
(1)一般回归
(2)岭回归
(3)Lasso回归
(4)lars回归
(5)贝叶斯回归
(6)ARD回归
(7)RBF的逼近
一、一般的回归
http://blog.csdn.net/zhangweiguo_717/article/details/52821267
二、岭回归
岭回归使用的最小误差与一般回归中有差别,尤其注意的是,多了一个alpha参数,这个参数可人工选取,也可选用算法智能截取,常用的截取办法有交叉验证,alpha默认取1,当取alpha为0时,就是一般的回归。
三、lasso回归
lasso回归于岭回归类似,也有一个截断参数alpha
四、Lars回归
五、Bayesian回归
六、ARD回归
七、RBF逼近
参见上一期博客
sklearn,numpy,time
实现功能:
这里只给出一般的应用方法,参数说明,源文档翻译将在后期提供。
(1)一般回归
(2)岭回归
(3)Lasso回归
(4)lars回归
(5)贝叶斯回归
(6)ARD回归
(7)RBF的逼近
一、一般的回归
http://blog.csdn.net/zhangweiguo_717/article/details/52821267
二、岭回归
岭回归使用的最小误差与一般回归中有差别,尤其注意的是,多了一个alpha参数,这个参数可人工选取,也可选用算法智能截取,常用的截取办法有交叉验证,alpha默认取1,当取alpha为0时,就是一般的回归。
#-*-coding:utf-8-*- ''' created by zwg in 2016-10-21 ''' #岭回归 from sklearn import linear_model as lm from matplotlib import pyplot as pl import numpy import time x=numpy.random.rand(100,2) y=0.2*x[:,0]+x[:,1]*0.1+1 t0=time.time() F1=lm.RidgeCV() F1.fit(x,y) y1=F1.predict(x) t1=time.time() F2=lm.Ridge()#alpha=0时就是普通的回归,默认alpha=1 F2.fit(x,y) y2=F1.predict(x) t2=time.time() print 'CV交叉验证岭回归的alpha、误差和时间:',F1.alpha_,numpy.mean(numpy.abs(y1-y)),t1-t0 print '一般岭回归的alpha、误差和时间:',F2.alpha,numpy.mean(numpy.abs(y2-y)),t2-t1
三、lasso回归
lasso回归于岭回归类似,也有一个截断参数alpha
#-*-coding:utf-8-*- ''' created by zwg in 2016-10-22 ''' #lasso回归 import time from sklearn import linear_model as lm import numpy x=numpy.random.rand(100,2) y=0.2*x[:,0]+x[:,1]*0.1+1 t0=time.time() clf=lm.Lasso()#默认alpha=1 clf.fit(x,y) t1=time.time() print '默认alpha=1下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf.predict(x)-y)),t1-t0 clf_lasso1=lm.LassoCV() clf_lasso1.fit(x,y) t2=time.time() print 'CV交叉验证alpha下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf_lasso1.predict(x)-y)),t2-t1 clf_lasso2=lm.LassoLarsIC(criterion='aic') clf_lasso2.fit(x,y) t3=time.time() print 'AIC验证alpha下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf_lasso2.predict(x)-y)),t3-t2 clf_lasso3=lm.LassoLarsIC(criterion='bic') clf_lasso3.fit(x,y) t4=time.time() print 'BIC验证alpha下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf_lasso3.predict(x)-y)),t4-t3 clf_lasso4=lm.LassoLarsCV() clf_lasso4.fit(x,y) t5=time.time() print 'CV交叉验证+lars的alpha下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf_lasso4.predict(x)-y)),t5-t4
四、Lars回归
#-*-coding:utf-8-*- ''' created by zwg in 2016-10-22 ''' #least angle regression method(LARS)回归 import time from sklearn import linear_model as lm import numpy x=numpy.random.rand(100,2) y=0.2*x[:,0]+x[:,1]*0.1+1 t0=time.time() clf=lm.Lars() clf.fit(x,y) t1=time.time() print '默认下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf.predict(x)-y)),t1-t0 clf_lars1=lm.LarsCV() clf_lars1.fit(x,y) t2=time.time() <pre name="code" class="python">print 'CV交叉验证alpha下的平均绝对误差和时间:',numpy.mean(numpy.abs(clf_lars1.predict(x)-y)),t2-t1
五、Bayesian回归
#贝叶斯岭回归 from sklearn import linear_model as lm import numpy clf=lm.BayesianRidge() x=numpy.random.rand(10,2)*10 y=x[:,0]*0.1+x[:,1]*0.5+2 clf.fit(x,y) print clf.predict([[2,2]])
六、ARD回归
#ARD回归(自动确定相关回归) from sklearn import linear_model as lm import numpy import time t0=time.time() clf=lm.ARDRegression() x=numpy.random.rand(100,2) y=0.2*x[:,0]+x[:,1]*0.1+1 clf.fit(x,y) t1=time.time() print '平均绝对误差和时间:',numpy.mean(numpy.abs(clf.predict(x)-y)),t1-t0
七、RBF逼近
参见上一期博客
相关文章推荐
- 基于python3-sklearn,Flask 的回归预测系统
- Linear Regression 线性回归sklearn python实现
- 机器学习之线性回归 (Python SKLearn)
- python sklearn-04:逻辑回归及其效果评估
- 基于python3-sklearn,Flask 的回归预测系统
- python + sklearn ︱分类效果评估——acc、recall、F1、ROC、回归、距离
- python + sklearn ︱分类效果评估——acc、recall、F1、ROC、回归、距离
- 基于python的在线学习logistic回归
- 逻辑回归详解及Python实现
- [深度学习]Python/Theano实现逻辑回归网络的代码分析
- 线性回归 linear regression (implement by python)
- 数据挖掘(Python)——利用sklearn进行数据挖掘,实现算法:svm、knn、C5.0、NaiveBayes
- Python作人脸数据分解(sklearn例子)
- 机器学习经典算法详解及Python实现--CART分类决策树、回归树和模型树
- 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression
- 机器学习算法与Python实践之逻辑回归(Logistic Regression)
- 用Python开始机器学习(7:逻辑回归分类)
- Python机器学习神器:sklearn&numpy
- 机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
- 用Python的扩展作回归