我想应用样本权重,同时使用来自sklearn的管道,该管道应该进行特征转换,例如多项式,然后应用回归量,例如ExtraTrees.

我在以下两个示例中使用以下包:

from sklearn.ensemble import ExtraTreesRegressor
import numpy as np
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import polynomialFeatures

只要我单独转换功能并在之后生成和训练模型,一切都很顺利:

#Feature generation
X = np.random.rand(200,4)
Y = np.random.rand(200)

#Feature transformation
poly = polynomialFeatures(degree=2)
poly.fit_transform(X)

#Model generation and fit
clf = ExtraTreesRegressor(n_estimators=5,max_depth = 3)
weights = [1]*100 + [2]*100
clf.fit(X,Y,weights)

但是在管道中执行它不起作用:

#Pipeline generation
pipe = Pipeline([('poly2',polynomialFeatures(degree=2)),('ExtraTrees',ExtraTreesRegressor(n_estimators=5,max_depth = 3))])

#Feature generation
X = np.random.rand(200,4)
Y = np.random.rand(200)

#Fitting model
clf = pipe
weights = [1]*100 + [2]*100
clf.fit(X,weights)

我收到以下错误:TypeError:fit()最多需要3个参数(给定4个)
在这个简单的例子中,修改代码没有问题,但是当我想在我的实际代码中对我的真实数据运行几个不同的测试时,能够使用管道和样本权重

解决方法

Pipeline文档的fit方法中提到了** fit_params.您必须指定要将参数应用于管道的哪个步骤.您可以通过遵循文档中的命名规则来实现此目的:

For this,it enables setting parameters of the varIoUs steps using their names and the parameter name separated by a ‘__’,as in the example below.

所以说的是,尝试将最后一行更改为:

clf.fit(X,**{'ExtraTrees__sample_weight': weights})

This is a good example如何使用管道中的参数.

python – sklearn pipeline – 在管道中应用多项式特征转换后应用样本权重的更多相关文章

  1. 如何在IOS中的UIStackView中设置权重

    UIStackView类似于AndroidLinearLayout,但我无法弄清楚如何为子视图设置权重.假设我有一个垂直的UIStackView和3个UIImageViews.我想为UIImageViews连续设置权重3,6,1.我怎么做?解决方法UIStackView没有相同的权重概念.它可以使用子视图的intrinsicContentSize作为权重,但设置特定的intrinsicConten

  2. 具有多列的Android ListView正确对齐

    我的平板电脑应用程序在每个订单项中显示一个包含多个TextView的ListView.我有大约6-7列,给所有列提供相等空格的最佳方法是什么?

  3. 使用HTML和CSS实现的标签云效果(附demo)

    这篇文章主要介绍了使用HTML和CSS实现的标签云效果(附demo),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  4. 机器学习 – TensorFlow – L2丢失的正则化,如何应用于所有权重,而不仅仅是最后一个?

    我有一个任务,涉及到使用L2丢失的一个隐藏的ReLU层向网络引入泛化。我不知道如何正确引入它,以便所有权重都受到惩罚,不仅仅是输出层的权重。代码网络没有泛化是在底部的帖子。引入L2的明显方法是用这样的代替损失计算:但在这种情况下,它将考虑到输出层权重的值。是否需要或引入惩罚的输出层将以某种方式保持隐藏的权重也在检查?hidden_weights,hidden_biases,out_weights和out_biases都是您正在创建的模型参数。您可以按如下所示对所有这些参数添加L2正则化:

  5. 为什么L1正则项产生稀疏的权重,L2正则项产生相对平滑的权重

    L1产生0的权重也可以起到特征选择的作用,假设我们有X0...Xi...XnX0...Xi...Xnn个特征,通过分配不同的权重w0...wi...wnw0...wi...wn,然后使用L1来做特征选择。L2可以迅速产生接近0的权值,但并不是0,所以会比较平滑。绿色代表的是loss的等高线,w1,w2w1,w2在L1中的取值空间如左图的菱形所示。从等高线和取值空间的交点可以看到L1更容易倾向一个权重偏大一个权重为0。

  6. 为什么正则化能减少模型过拟合程度

    过拟合以下图为例。为了将过拟合的模型变为正好,从图中直观上来看,只需要减小高次项的权重。正则化项能减少模型的非线性程度,从而降低模型的过拟合。从图中来看,正则化项能将过拟合的模型(蓝色)变为JustRight的模型(粉红色)。为什么正则化有效?直观的理解,如果我们的正则化系数无穷大,则权重w就会趋近于0。z变小,就到了激活函数的线性区域,从而降低了模型的非线性化程度。

  7. 深度学习这些坑你都遇到过吗?

    这会产生过大的梯度,可能导致梯度爆炸。这是我认为深度学习中人在这个loop中真正需要的几个方面之一。但如果是其他类型的数据,你必须找到能够检查结果的方法,以确保在预处理、训练和推断的每个流程都正确,并将结果与groundtruth数据进行比较。可视化应用于训练集的网络的结果——你的网络的结果与实践中的groundtruth相比较如何?根据过拟合的可能性进行调整。

  8. tensorflow:3.1)add_to_collection和L2正则化

    loss0表示原始的损失函数,后面的部分为L2正则化。loss=loss0+λ2∑ww2规范化的效果是让网络倾向于学习小一点的权重,大的权重只有能够给出代价函数第一项足够的提升时才被允许。换言之,规范化可以当做一种寻找小的权重和最小化原始的代价函数之间的折中。在下一节,因为要使用L2正则化权重,所以使用collection来保存多个权重向量的L2值,在把它们累加即λ2Σw2。

  9. 机器学习教程之4-正则化(Regularization)

    正则化的代价函数如下所示:其中lambda又称为正则化参数。在其他资料里用theata用w表示。因此,可以通过大量实验已巩固深化已学的线性回归、逻辑逻辑回归以及正则化的方法。

  10. Regularization正则化与Dropout

    本文主要讲解神经网络中的正则化和Dropout,都是用了减小过拟合。该项就是神经网络中的权重之和,其中λ>0为Regularization参数,n为训练集包含的实例个数。而和L1,L2Regularization不同的是,Dropout不是针对cost函数,而是改变神经网络本身的结构。

随机推荐

  1. 10 个Python中Pip的使用技巧分享

    众所周知,pip 可以安装、更新、卸载 Python 的第三方库,非常方便。本文小编为大家总结了Python中Pip的使用技巧,需要的可以参考一下

  2. python数学建模之三大模型与十大常用算法详情

    这篇文章主要介绍了python数学建模之三大模型与十大常用算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感想取得小伙伴可以参考一下

  3. Python爬取奶茶店数据分析哪家最好喝以及性价比

    这篇文章主要介绍了用Python告诉你奶茶哪家最好喝性价比最高,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧

  4. 使用pyinstaller打包.exe文件的详细教程

    PyInstaller是一个跨平台的Python应用打包工具,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,下面这篇文章主要给大家介绍了关于使用pyinstaller打包.exe文件的相关资料,需要的朋友可以参考下

  5. 基于Python实现射击小游戏的制作

    这篇文章主要介绍了如何利用Python制作一个自己专属的第一人称射击小游戏,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起动手试一试

  6. Python list append方法之给列表追加元素

    这篇文章主要介绍了Python list append方法如何给列表追加元素,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  7. Pytest+Request+Allure+Jenkins实现接口自动化

    这篇文章介绍了Pytest+Request+Allure+Jenkins实现接口自动化的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  8. 利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

  9. 利用Python上传日志并监控告警的方法详解

    这篇文章将详细为大家介绍如何通过阿里云日志服务搭建一套通过Python上传日志、配置日志告警的监控服务,感兴趣的小伙伴可以了解一下

  10. Pycharm中运行程序在Python console中执行,不是直接Run问题

    这篇文章主要介绍了Pycharm中运行程序在Python console中执行,不是直接Run问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

返回
顶部