找到最好的那个参数lmbda。

  1. from mlxtend.regressor import StackingCVRegressor
  2. from sklearn.datasets import load_boston
  3. from sklearn.svm import SVR
  4. from sklearn.linear_model import Lasso
  5. from sklearn.ensemble import RandomForestRegressor
  6. from sklearn.model_selection import cross_val_score
  7. import numpy as np
  8. RANDOM_SEED = 42
  9. X, y = load_boston(return_X_y=True)
  10. svr = SVR(kernel='linear')
  11. lasso = Lasso()
  12. rf = RandomForestRegressor(n_estimators=5,
  13. random_state=RANDOM_SEED)
  14. # The StackingCVRegressor uses scikit-learn's check_cv
  15. # internally, which doesn't support a random seed. Thus
  16. # NumPy's random seed need to be specified explicitely for
  17. # deterministic behavior
  18. np.random.seed(RANDOM_SEED)
  19. stack = StackingCVRegressor(regressors=(svr, lasso, rf),
  20. meta_regressor=lasso)
  21. print('5-fold cross validation scores:\n')
  22. for clf, label in zip([svr, lasso, rf, stack], ['SVM', 'Lasso','Random Forest','StackingClassifier']):
  23. scores = cross_val_score(clf, X, y, cv=5)
  24. print("R^2 Score: %0.2f (+/- %0.2f) [%s]" % (scores.mean(), scores.std(), label))
  25. 5-fold cross validation scores:
  26. R^2 Score: 0.45 (+/- 0.29) [SVM]
  27. R^2 Score: 0.43 (+/- 0.14) [Lasso]
  28. R^2 Score: 0.52 (+/- 0.28) [Random Forest]
  29. R^2 Score: 0.58 (+/- 0.24) [StackingClassifier]
  30. # The StackingCVRegressor uses scikit-learn's check_cv
  31. # internally, which doesn't support a random seed. Thus
  32. # NumPy's random seed need to be specified explicitely for
  33. # deterministic behavior
  34. np.random.seed(RANDOM_SEED)
  35. stack = StackingCVRegressor(regressors=(svr, lasso, rf),
  36. meta_regressor=lasso)
  37. print('5-fold cross validation scores:\n')
  38. for clf, label in zip([svr, lasso, rf, stack], ['SVM', 'Lasso','Random Forest','StackingClassifier']):
  39. scores = cross_val_score(clf, X, y, cv=5, scoring='neg_mean_squared_error')
  40. print("Neg. MSE Score: %0.2f (+/- %0.2f) [%s]"

  1. from mlxtend.regressor import StackingCVRegressor
  2. from sklearn.datasets import load_boston
  3. from sklearn.linear_model import Lasso
  4. from sklearn.linear_model import Ridge
  5. from sklearn.ensemble import RandomForestRegressor
  6. from sklearn.model_selection import GridSearchCV
  7. X, y = load_boston(return_X_y=True)
  8. ridge = Ridge()
  9. lasso = Lasso()
  10. rf = RandomForestRegressor(random_state=RANDOM_SEED)
  11. # The StackingCVRegressor uses scikit-learn's check_cv
  12. # internally, which doesn't support a random seed. Thus
  13. # NumPy's random seed need to be specified explicitely for
  14. # deterministic behavior
  15. np.random.seed(RANDOM_SEED)
  16.  
  17. stack = StackingCVRegressor(regressors=(lasso, ridge),
  18. meta_regressor=rf,
  19. use_features_in_secondary=True)
  20. params = {'lasso__alpha': [0.1, 1.0, 10.0],
  21. 'ridge__alpha': [0.1, 1.0, 10.0]}
  22.  
  23. grid = GridSearchCV(
  24. estimator=stack,param_grid={'lasso__alpha': [x/5.0 for x in range(1, 10)],
  25. 'ridge__alpha': [x/20.0 for x in range(1, 10)],
  26. 'meta-randomforestregressor__n_estimators': [10,100]},
  27. cv=5,
  28. refit=True
  29. )
  30.  
  31. grid.fit(X, y)
  32.  
  33. print("Best: %f using %s" % (grid.best_score_, grid.best_params_))
  34.  
  35. #Best: 0.673590 using {'lasso__alpha': 0.4, 'meta-randomforestregressor__n_estimators': 10, 'ridge__alpha
  36.  
  37. cv_keys = ('mean_test_score', 'std_test_score', 'params')
  38. for r, _ in enumerate(grid.cv_results_['mean_test_score']):
  39. print("%0.3f +/- %0.2f %r"
  40. % (grid.cv_results_[cv_keys[0]][r],
  41. grid.cv_results_[cv_keys[1]][r] / 2.0,
  42. grid.cv_results_[cv_keys[2]][r]))
  43. if r > 10:
  44. break
  45. print('...')
  46.  
  47. print('Best parameters: %s' % grid.best_params_)
  48. print('Accuracy: %.2f' % grid.best_score_)

  

boxcox1p归一化+pipeline+StackingCVRegressor的更多相关文章

  1. 1.3:Render Pipeline and GPU Pipeline

    文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本系列原更新于作者的github博客,这里给出链接. 在学习SubShader之前,我们有必要对 Render Pipeline ...

  2. sklearn pipeline

    sklearn.pipeline pipeline的目的将许多算法模型串联起来,比如将特征提取.归一化.分类组织在一起形成一个典型的机器学习问题工作流. 优点: 1.直接调用fit和predict方法 ...

  3. 机器学习:多项式回归(scikit-learn中的多项式回归和 Pipeline)

    一.scikit-learn 中的多项式回归 1)实例过程 模拟数据 import numpy as np import matplotlib.pyplot as plt x = np.random. ...

  4. GPU上创建目标检测Pipeline管道

    GPU上创建目标检测Pipeline管道 Creating an Object Detection Pipeline for GPUs 今年3月早些时候,展示了retinanet示例,这是一个开源示例 ...

  5. 【笔记】多项式回归的思想以及在sklearn中使用多项式回归和pipeline

    多项式回归以及在sklearn中使用多项式回归和pipeline 多项式回归 线性回归法有一个很大的局限性,就是假设数据背后是存在线性关系的,但是实际上,具有线性关系的数据集是相对来说比较少的,更多时 ...

  6. 多项式回归 & pipeline & 学习曲线 & 交叉验证

    多项式回归就是数据的分布不满足线性关系,而是二次曲线或者更高维度的曲线.此时只能使用多项式回归来拟合曲线.比如如下数据,使用线性函数来拟合就明显不合适了. 接下来要做的就是升维,上面的真实函数是:$ ...

  7. redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作

    前段时间在做用户画像的时候,遇到了这样的一个问题,记录某一个商品的用户购买群,刚好这种需求就可以用到Redis中的Set,key作为productID,value 就是具体的customerid集合, ...

  8. Building the Testing Pipeline

    This essay is a part of my knowledge sharing session slides which are shared for development and qua ...

  9. 数据预处理中归一化(Normalization)与损失函数中正则化(Regularization)解惑

    背景:数据挖掘/机器学习中的术语较多,而且我的知识有限.之前一直疑惑正则这个概念.所以写了篇博文梳理下 摘要: 1.正则化(Regularization) 1.1 正则化的目的 1.2 正则化的L1范 ...

随机推荐

  1. Info.plist常见的设置

    建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创 ...

  2. Scala函数高级篇

    一.匿名函数 没有名字的函数就是匿名函数,格式:(x:Int)=>{函数体} x:表示输入参数类型:Int:表示输入参数类型:函数体:表示具体代码逻辑 传递匿名函数至简原则: 参数的类型可以省略 ...

  3. Feign 动态URL 解决记录

    Feign中使用动态URL请求 (应当是spring-cloud-starter-openfeign,不知道和一般的feign有何差别) 在spring项目下,假设有这样个Feign的消费接口,原来写 ...

  4. Linux vi 命令 – 文本编辑器

    vi命令是linux系统字符界面下的最常用的文本编辑器. vi编辑器是所有linux的标准编辑器,用于编辑任何ASCⅡ文本,对于编辑源程序尤其有用.iv编辑器功能非常强大,可以对文本进行创建,查找,替 ...

  5. Solution -「HDU 5498」Tree

    \(\mathcal{Description}\)   link.   给定一个 \(n\) 个结点 \(m\) 条边的无向图,\(q\) 次操作每次随机选出一条边.问 \(q\) 条边去重后构成生成 ...

  6. ajax的发展

    ajax(Asynchronous Javascript and XML)异步javascrip和XMl. ajax只是一种web交互方法.在客户端(浏览器)和服务区段之间传输少量的信息.从而为用户提 ...

  7. Vue2.0源码学习(3) - 组件的创建和patch过程

    组件化 组件化是vue的另一个核心思想,所谓的组件化就,就是说把页面拆分成多个组件(component),每个组件依赖的css.js.图片等资源放在一起开发和维护.组件是资源独立的,在内部系统中是可以 ...

  8. Spring Data JPA应用 之查询分析

    在Spring Data JPA应用之常规CRUD操作初体验 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)尾附上了JpaRepository接口继承关系及方法,可以知道JpaRepos ...

  9. HTML5/CSS3/JS笔记

    HTML笔记: 前言: HTML无非就是围绕标签.属性.属性值这三个词展开的. (标签也可以叫做元素, 元素的内容是开始标签与结束标签之间的内容) *常规标签 <标签 属性1="属性值 ...

  10. Java高性能本地缓存框架Caffeine

    一.序言 Caffeine是一个进程内部缓存框架,使用了Java 8最新的[StampedLock]乐观锁技术,极大提高缓存并发吞吐量,一个高性能的 Java 缓存库,被称为最快缓存. 二.缓存简介 ...