heamy之stacking和blending实例

FPGA—ZYNQ_BD Block Design学习(一) 1.第一步:打开Vivado软件,创建或打开一个工程。2.第二步:在Block Design中添加arm核心,并将其配置为IP核。3.第三步:配置arm核心的外设信息,如DDR接口、时钟频率、UART接口等。4.第四步:完成Block Design中的模块互联,生成PL端的比特流。 5.第五步:导出PS端的硬件信息,包括arm IP核的外设、速度、引脚和地址等信息。1创建bd 需要有ddr以及uart和时钟配置外设io口,这里就是zynq的管脚规定好的,根据原理图用哪个个勾选哪一个。 对外设uart的配 阅读详情

1、stacking实例

from heamy.dataset import Dataset
from heamy.estimator import Regressor, Classifier
from heamy.pipeline import ModelsPipeline
from sklearn import cross_validation
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
#加载数据集
from sklearn.datasets import load_boston
data = load_boston()
X, y = data['data'], data['target']
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.1, random_state=111)
#创建数据集
dataset = Dataset(X_train,y_train,X_test)
#创建RF模型和LR模型
model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 50},name='rf')
model_lr = Regressor(dataset=dataset, estimator=LinearRegression, parameters={'normalize': True},name='lr')
# Stack两个模型
# Returns new dataset with out-of-fold predictions
pipeline = ModelsPipeline(model_rf,model_lr)
stack_ds = pipeline.stack(k=10,seed=111)
#第二层使用lr模型stack
stacker = Regressor(dataset=stack_ds, estimator=LinearRegression)
results = stacker.predict()
# 使用10折交叉验证结果
results10 = stacker.validate(k=10,scorer=mean_absolute_error)

2、blending实例

from heamy.dataset import Dataset
from heamy.estimator import Regressor, Classifier
from heamy.pipeline import ModelsPipeline
from sklearn import cross_validation
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
#加载数据集
from sklearn.datasets import load_boston
data = load_boston()
X, y = data['data'], data['target']
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.1, random_state=111)
#创建数据集
dataset = Dataset(X_train,y_train,X_test)
#创建RF模型和LR模型
model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 50},name='rf')
model_lr = Regressor(dataset=dataset, estimator=LinearRegression, parameters={'normalize': True},name='lr')
# Blending两个模型
# Returns new dataset with out-of-fold predictions
pipeline = ModelsPipeline(model_rf,model_lr)
stack_ds = pipeline.blend(proportion=0.2,seed=111)
#第二层使用lr模型stack
stacker = Regressor(dataset=stack_ds, estimator=LinearRegression)
results = stacker.predict()
# 使用10折交叉验证结果
results10 = stacker.validate(k=10,scorer=mean_absolute_error)

3、权重加权平均

from heamy.dataset import Dataset
from heamy.estimator import Regressor, Classifier
from heamy.pipeline import ModelsPipeline
from sklearn import cross_validation
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
from sklearn.neighbors import KNeighborsRegressor
data = load_boston()
X, y = data['data'], data['target']
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.1, random_state=111)
#创建数据集
dataset = Dataset(X_train,y_train,X_test)

model_rf = Regressor(dataset=dataset, estimator=RandomForestRegressor, parameters={'n_estimators': 151},name='rf')
model_lr = Regressor(dataset=dataset, estimator=LinearRegression, parameters={'normalize': True},name='lr')
model_knn = Regressor(dataset=dataset, estimator=KNeighborsRegressor, parameters={'n_neighbors': 15},name='knn')

pipeline = ModelsPipeline(model_rf,model_lr,model_knn)

weights = pipeline.find_weights(mean_absolute_error)
result = pipeline.weight(weights)

4、简单取平均或自定义

#取平均
# get predictions for test 
result = pipeline.mean().execute()
# or Validate 
_ = pipeline.mean().validate(mean_absolute_error,10)
#自定义
result = pipeline.apply(lambda x: np.max(x,axis=0)).execute()

参考文献:
1、http://heamy.readthedocs.io/en/latest/estimator.html
2、https://github.com/rushter/heamy/blob/master/examples/walkthrough.ipynb

python 写一个简单的 telegram bot (电报机器人) replit.com 环境配置太恶心了,只能使用 poetry.poetry 这个名字是挺好听,用起来也是很垃圾,太恶心。heroku.com 注册登录不方便,需要各种验证。所以,部署的问题,目前搁置。 阅读详情

相关推荐

五大经典遥感数据集对比:LoveDA、Potsdam、Toronto、Vaihingen、Massachusetts Roads选哪个?

本文深度对比了LoveDA、Potsdam、Vaihingen、Toronto和Massachusetts Roads五大经典遥感数据集。针对城市监测、道路提取、土地分类等不同任务,从分辨率、标注质量、数据规模及场景多样性等核心维度进行分析,为研究者根据项目目标、硬件条件与应用场景选择最合适的遥感数据集提供决策指南。

weixin_29057065的博客 237

Stacking与Blending以及相关的heamy库的使用收集

参考文献 1.heamy官方文档 2.heamy的github仓库 3.heamy库中核心模块的介绍博客 4.heamy库使用示例 一、关于Stacking和Blending的比较 核心区别:前者基于交叉验证,后者基于留出法 很多人stack和blend是混着叫的,所以不必纠结这个名字,不要着相。只要知道: 【1】stack是用cv交叉验证来得出元模型的特征(一个基模型产出一个元特征作为二级模型...

zhuhongde的博客 1245

使用sklearn学习多项式回归(三)

1,什么是线性 我们无数次提到”线性“这个名词。在支持向量机中,我们也曾经提到最初的支持向量机只能够分割线性可分的数据,然后引入了”核函数“来帮助我们分类那些非线性可分的数据。我们也曾经说起过,比如说决策树,支持向量机是”非线性“模型。所有的这些概念,让我们对”线性“这个词非常熟悉,却又非常陌生——因为我们并不知道它的真实含义。接下来我们看看线性回归模型改进的核心之一:帮助线性回归解决非线性问题。 1.1,变量之间的线性关系 ”线性“这个词用于描述不同事物时有着不同的含义。我们最常使用的线性是指“变量

理科男同学 5101

图解Blending&Stacking

原文:http://www.pianshen.com/article/307957549/ 图解Blending&Stacking 目录 1. Blending 1.1 Blending 流程 1.2 Blending 图解 2. Stacking 2.1 Stacking 流程 2.2 Stacking 图解 3. Blending与Stacking对比 模型融...

Steven_Sunny的专栏 1313

OpenRadar Matlab版:毫米波雷达信号处理全流程开源库详解

毫米波雷达数据解析与信号处理是感知领域的基础能力。本文介绍毫米波雷达从ADC原始采样到距离-多普勒(Range-Doppler)热图、CFAR检测、DOA估计直至点云与生命体征参数提取的完整处理链路,并深入讲解OpenRadar(Matlab版)开源库的内核设计、核心API与实测经验。从原理上看,距离FFT与多普勒FFT构成RD谱,CFAR自适应阈值实现目标检测,相位解缠与滤波用于呼吸心跳提取。技术价值在于将繁琐的雷达数据读取、矩阵变换和算法流程标准化,免去重复造轮子。可应用于人员存在感知、生命体征监护、4

weixin_33806859的博客 322

转子动力学 | 临界速度与稳定性分析

本文深入探讨了转子动力学中的核心问题——临界速度与稳定性分析。临界速度是旋转机械发生共振的危险转速,通过模态分析和坎贝尔图可进行预测。文章还剖析了油膜涡动等稳定性问题,并结合ANSYS仿真案例,详细阐述了从建模、分析到设计优化的完整工程实践流程,为旋转机械的可靠设计与安全运行提供关键指导。

weixin_29313239的博客 518

heamy的范例

详见:https://github.com/rushter/heamy ===== Usage ===== Using heamy in a project: .. code:: python from heamy.dataset import Dataset from heamy.estimator import Regressor, Classifier fr...

Gin077的专栏 1433

SoC验证新思路:除了UVM仿真,你还可以试试Cadence JasperGold的形式化验证

本文深入探讨了Cadence JasperGold形式化验证在SoC设计中的创新应用,对比传统UVM仿真验证,详细解析了其数学穷尽性验证优势。通过实战案例展示了JasperGold在总线协议、时钟域交叉等关键场景的验证方法,并提供了混合验证流程设计与效能优化方案,帮助工程师提升验证效率30%以上。

weixin_30566063的博客 121

集成学习-模型融合学习笔记

集成学习概念个人理解是按照不同的思路来组合基础模型,在保证准确度的同时也提升了模型防止过拟合的能力。 三种常见的集成学习框架:bagging,boosting和stackingboosting算法Adaboosting(串行-减少偏差)1,基分类器权重均分分布 (每个训练数据权重一样) 最终分类器G(x)=w1G(x1)+w2G(x2)+… 2,反复学习基本分类器 2.1由当前权值学习Gm

余音丶未散的博客 1万+

双三相电机控制避坑指南:为什么你的SVPWM谐波大?四矢量调制实战解析

本文深入解析双三相电机控制中SVPWM谐波大的问题,并提供四矢量调制实战方案。通过分析谐波来源、四矢量调制原理及工程实现步骤,显著降低电流THD至3-5%,提升系统效率2.3个百分点。特别适合需要优化电机控制的工程师参考。

weixin_30645617的博客 397

stata 工具变量法【计量经济系列(七)】

stata 工具变量法【计量经济系列(七)】 1. 内生性 2. 工具变量3. 2SLS (二阶段最小二乘法) 4. 弱工具变量5. 工具变量外生性的过度识别检验 6. 豪斯曼检验6.1 传统豪斯曼 6.2 杜宾-吴-豪斯曼检验(DWH)

侯小啾技术博客 2万+

python sklearn模型融合案例分享

heamy库的blending方法和mlxtend库的Stacking 方法 # -*- coding: utf-8 -*- from heamy.dataset import Dataset from heamy.estimator import Regressor, Classifier from heamy.pipeline import ModelsPipeline from skle...

AI人工智能的学习之路 3420

Git下载与安装

一、Git下载 二、Git安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 6万+

模型堆叠(Stacking)和模型融合的原理与实现以及一个库heamy的介绍

向AI转型的程序员都关注了这个号????????????机器学习AI算法工程 公众号:datayx最近想用下stacking,搜了很多,现在把所学到的记录下比较好的一个资料是:英文版:h...

datayx的文章 2264

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

搜狗用户画像-经验分享之stacking与blending(转)

具体地址如下: http://prozhuchen.com/2016/12/28/CCF%E5%A4%A7%E8%B5%9B%E6%90%9C%E7%8B%97%E7%94%A8%E6%88%B7%E7%94%BB%E5%83%8F%E6%80%BB%E7%BB%93/ 主要借鉴一下stacking的理解思路,网上很多解释把stacking和blending搞混淆了。 stacking

data_scientist的博客 5896

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

模型融合---Stacking&Blending

模型融合是指通过分层对模型进行集成,比如以两层为例,第一层为基学习器,使用原始训练集训练基学习器,每个基学习器的输出生成新的特征,作为第二层模型的输入,这样就生成了新的训练集;第二层模型在新的训练集上再进行训练,从而得到融合的模型。 Stacking Stacking是模型融合的常用方法,重点是在第一层中,如何用基学习器生成新特征,包含训练数据集的新特征和测试数据集的新特征。 1...

yaoqsm的博客 1500

模型融合

常见的模型融合方法有:Bagging、Boosting、Stacking、Blending。还有权重加权取平均。 (3-1):Bagging Bagging 将多个模型,也就是多个基学习器的预测结果进行简单的加权平均或者投票。它的好处是可以并行地训练基学习器。Random Forest就用到了Bagging的思想。 (3-2): Boosting Boosting 的思想有点像知错能改,每个基学习...

weixin_41962319的博客 319

Python数据科学竞赛模型融合

模型融合 模型融合采用的的思想,即多个模型的组合可以改善整体的表现。集成模型是一种能在各种的机器学习任务上提高准确率的强有力技术。模型融合是kaggle竞赛后期一个重要的环节,大体来说有如下的类型方式: 1. 简单加权融合: 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean) 分类:投票(Voting) 综合:排序融合(Rank averaging),log融合 2. stacking/blending: 构建多层模型,并利用预测结果再拟合预测 3

qq_43240913的博客 2699

ensemble

决策树模型中,单一模型解决不了时,需要集成学习ensemble

qq_46539385的博客 228

Ensemble几种方式原理

kaggle-ensembling guideblendnigstacking代码模型融合接口常见的 Ensemble 方法有这么几种:Bagging:使用训练数据的不同随机子集来训练每个 Base Model,最后进行每个 Base Model 权重相同的 Vote。也即 Random Forest 的原理。Boosting:迭代地训练 Base Model,每次根据上一个迭代中预测错误的情况修...

owenfy的博客 1万+

机器学习-模型融合

转自:https://blog.csdn.net/bryan__/article/details/51229032参考:台大机器学习技法  http://blog.csdn.net/lho2010/article/details/42927287          stacking&blending  http://heamy.readthedocs.io/en/latest/usage....

持续关注并分享目标检测、数据生成、视频驱动、跨模态、分割、关键点等领域前沿技术 687

华为编程大赛python_Python数据科学竞赛模型融合

模型融合模型融合采用的的思想,即多个模型的组合可以改善整体的表现。集成模型是一种能在各种的机器学习任务上提高准确率的强有力技术。模型融合是kaggle竞赛后期一个重要的环节,大体来说有如下的类型方式:1. 简单加权融合:回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean)分类:投票(Voting)综合:排序融合(Rank averaging...

weixin_34910679的博客 224

python信息竞争建模_Python数据科学竞赛模型融合

模型融合模型融合采用的的思想,即多个模型的组合可以改善整体的表现。集成模型是一种能在各种的机器学习任务上提高准确率的强有力技术。模型融合是kaggle竞赛后期一个重要的环节,大体来说有如下的类型方式:1. 简单加权融合:回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean)分类:投票(Voting)综合:排序融合(Rank averaging...

weixin_39880318的博客 186
上一篇: hpsklearn调参实例
下一篇: keras例子之Mnist案例
data_scientist
博客等级 码龄10年 52粉丝 38原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值