Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scikit学习管道(无功能转换)_Python_Scikit Learn - Fatal编程技术网

Python scikit学习管道(无功能转换)

Python scikit学习管道(无功能转换),python,scikit-learn,Python,Scikit Learn,我在数据集上运行不同的机器学习模型。我正在使用sklearn管道尝试对数值特征进行不同的转换,以评估一个转换是否能提供更好的结果。我使用的基本结构很简单: from sklearn.pipeline import Pipeline from sklearn.ensemble import RandomForestClassifier from sklearn.preprocessing import StandardScalar pipe = Pipeline(steps=[('stdscal

我在数据集上运行不同的机器学习模型。我正在使用sklearn管道尝试对数值特征进行不同的转换,以评估一个转换是否能提供更好的结果。我使用的基本结构很简单:

from sklearn.pipeline import Pipeline
from sklearn.ensemble import RandomForestClassifier
from sklearn.preprocessing import StandardScalar

pipe = Pipeline(steps=[('stdscaler', StandardScaler()), ('clf', RandomForestClassifier())])

pipe.fit(X_train, y_train)
我正在尝试一系列转换,但我还想测试在数字特征集上不执行任何转换的场景(即特征按原样使用)。有没有办法将其纳入管道?比如:

pipe = Pipeline(steps=[('do nothing', do_nothing()), ('clf', RandomForestClassifier())])
是的,你可以这么做

pipe = Pipeline(steps=[('clf', RandomForestClassifier())])
此外,如果您有一些几乎总是想要的自定义基转换,并且它还具有某些超参数或添加的功能,那么您也可以执行类似的操作(有点蹩脚的示例,但仅用于想法…)

以上是一种相互排斥的转换方式,即一种或另一种。相反,如果您有一组转换,并且希望按特定顺序应用它们,那么实现回调可能是正确的方法。看看这种东西是如何在流行的库中实现的,比如sklearn、pytorch或fastai。

是的,你可以简单地做到

pipe = Pipeline(steps=[('clf', RandomForestClassifier())])
此外,如果您有一些几乎总是想要的自定义基转换,并且它还具有某些超参数或添加的功能,那么您也可以执行类似的操作(有点蹩脚的示例,但仅用于想法…)


以上是一种相互排斥的转换方式,即一种或另一种。相反,如果您有一组转换,并且希望按特定顺序应用它们,那么实现回调可能是正确的方法。看看在流行的库(如sklearn、pytorch或fastai)中是如何实现这种功能的。

什么是“python管道”?请不要让人们猜测您正在使用的图书馆,请始终提供您正在做的事情的完整描述或我道歉并感谢您的回复。我已经添加了更多关于我正在尝试做的事情的具体信息。什么是“python管道”?请不要让人们猜测您正在使用的图书馆,请始终提供您正在做的事情的完整描述或我道歉并感谢您的回复。我已经添加了更具体的信息来说明我正在尝试做的事情。