前两篇博客写了在anacoda下安装tpot库和使用tpot做分类的例子,这篇是写做回归的例子

anacoda下安装tpot库

使用TPOT自动选择scikit-learn机器学习模型和参数--分类示例

环境:win10+pycharm+anacoda

数据集:sklearn自带的波士顿房价数据集

代码:

'''回归,预测波士顿房价'''from tpot import TPOTRegressorimport pandas as pdimport numpy as npfrom sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_splithousing = load_boston()X_train, X_test, y_train, y_test = train_test_split(housing.data, housing.target)# ,train_size=0.75, test_size=0.25)tpot = TPOTRegressor(generations=20, verbosity=2) #迭代20次tpot.fit(X_train, y_train)print(tpot.score(X_test, y_test))tpot.export('pipeline.py')

运行结果:

Best pipeline: XGBRegressor(RidgeCV(input_matrix), learning_rate=0.1, max_depth=5, min_child_weight=2, n_estimators=100, nthread=1, subsample=0.8)

可以看出tpot给出的模型是用XGBRegressor。

预测代码:

    import pandas as pdimport numpy as npfrom sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_splitimport xgboost as xgbhousing=load_boston()#print(housing)da=pd.DataFrame(housing.data)da.columns =housing.feature_names#print(da.head())ta=pd.DataFrame(housing.target)ta.columns=['target']#print(ta.head())boston=pd.concat([da,ta],axis=1) #记住啊,axis=0:作用对象是index; axis=1:作用对象是columns。,#print(boston.head())featuress=np.array(boston.drop(['target'],axis=1))target=np.array(boston['target'])#print(featuress)train_features,test_feratures,train_target,test_target=train_test_split(featuress,target,random_state=42)xgbr=xgb.XGBRegressor(learning_rate=0.1, max_depth=5, min_child_weight=2,n_estimators=100, nthread=1, subsample=0.8)xgbr.fit(train_features,train_target)result=xgbr.score(test_feratures,test_target)print("xgbr_result: %s"%result)

运行结果:

这个结果不是很好。

问题:

我之前分别用tpot迭代5次和10次输出模型,输出的时候cv score的值不明白为什么是负的?

迭代5次:

迭代10次:

一下是根据迭代10次的模型跑预测的代码:

gdbt = GradientBoostingRegressor(alpha=0.9, learning_rate=0.1, loss='huber',max_depth=7, max_features=0.4,min_samples_leaf=3, min_samples_split=8,n_estimators=100, subsample=0.9000000000000001)gdbt.fit(train_features,train_target)#restlt=gdbt.predict(test_feratures)restlt2=gdbt.score(test_feratures,test_target)print("gdbt_result: %s"%restlt2)

运行结果:

可以看出这个迭代20次的模型预测结果略有提升。20次是远远不够的,tpot默认的迭代次数的100次,理论上说迭代次数越多模型效果越好,特别是数据集较大的时候!但是也特别耗费时间。

问题:CV score的值为什么是负的?

参考:

TPOT的API

TPOT的github地址

TPOT自动选择机器学习模型和参数--回归示例相关推荐

  1. tpot自动训练机器学习模型

    tpot 自动训练模型包 Consider TPOT your Data Science Assistant. TPOT is a Python Automated Machine Learning ...

  2. 使用TPOT自动选择scikit-learn机器学习模型和参数

    声明:原文地址:使用TPOT自动选择scikit-learn机器学习模型和参数,此文是本人学习原文的结果,略有改动.侵删. 在上一篇博客中我们在anacoda中安装了tpot: anacoda下安装T ...

  3. 谷歌最新AI产品——AutoML Vision,可以自动设计机器学习模型

    今天凌晨时分,李飞飞通过一篇博客文章发布了谷歌最新AI产品--AutoML Vision,可以自动设计机器学习模型. 我很荣幸地宣布AutoML Vision面世.无需精通机器学习,每个人都能用这款A ...

  4. R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告、knitr常用参数

    R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告.knitr常用参数 目录

  5. 利用TPOT自动完成机器学习

    1 概述 2 使用TPOT 2.1 TPOT代码 2.2 评估函数 2.3 内置TPOT配置 2.4 定制TPOT的操作符和参数 2.5 NOTE 3 TPOT API 4 参考文献 首先,什么是自动 ...

  6. 亚马逊:自动选择AI模型,进化论方法效率更高!

    [新智元导读]亚马逊称,进化论可以帮助AI模型的选择.选择架构是构建AI模型的关键步骤.研究人员表示,鉴定遗传算法和协同进化算法的性能指标取决于彼此之间的相互作用,是寻找最佳(或接近最佳)AI模型架构 ...

  7. 5分钟掌握手动优化机器学习模型超参数

    机器学习算法具有超参数,可让这些算法针对特定的数据集进行量身定制. 尽管通常可以理解超参数的影响,但是可能不知道它们对数据集的特定影响以及它们在学习期间的交互作用.因此,作为机器学习项目的一部分,调整 ...

  8. [机器学习] 模型评价参数,准确率,召回率,F1-score

    很久很久以前,我还是有个建筑梦的大二少年,有一天,讲图的老师看了眼我的设计图,说:"我觉得你这个设计做得很紧张",当时我就崩溃,对紧张不紧张这样的评价标准理解无能.多年后我终于明白 ...

  9. 机器学习模型在线校验交互示例

    EasyDL-表格数据预测 Dataiku

最新文章

  1. linux ptrace反调试之抢占ptrace
  2. blob 图片_《你不知道的 Blob》番外篇
  3. Redis与RabbitMQ作为消息队列的比较
  4. 用 Python 手写机器学习最简单的 KNN 算法
  5. PyQt5学习--基本窗口控件--加载文件-QFileDialog
  6. 元素赋值、增加元素和删除元素
  7. 对‘cv::imread(cv::String const, int)’未定义的引用
  8. STM32F4 DMA2D_R2M
  9. 【数学建模】基于matlab模拟十字路口车辆通行【含Matlab源码 1106期】
  10. 银行卡号自动识别,包括银行名称、英文缩写代号、LOGO
  11. c语言中结构体习题,C语言之结构体练习题
  12. 技术前言 - 芯片制造工序详解
  13. Python系列9——类和对象(3)
  14. 建立数据驱动,关键字驱动和混合Selenium框架这些你了解吗
  15. NYOJ 题目772 数独
  16. C语言每日一练——第133天:打鱼还是晒网
  17. strcmp, strncmp和memcmp的区别
  18. 一篇文章普及各种ios基本知识
  19. 帧同步与状态同步:方案比较
  20. 如何积累财富[转载] 我觉得挺经典 和大家一起分享一下!

热门文章

  1. 高通QC2.0/3.0快充
  2. 7-26 最大公约数和最小公倍数 (C语言)
  3. Create React App来搭建react项目
  4. 基于功耗预算的实时绘制
  5. 使用Excel批量给数据添加单引号和逗号
  6. 关键问题可能不是出在技术上
  7. 十大经典排序算法-归并排序算法详解
  8. 使用Matlab hist函数大体估计一组随机数的概率分布
  9. 10.6 Git 内部原理 - 传输协议
  10. Linux常用命令——su命令