Pandas DataFrame 中的 Neuraxle 选择列
Posted
技术标签:
【中文标题】Pandas DataFrame 中的 Neuraxle 选择列【英文标题】:Neuraxle Select Columns in Pandas DataFrame 【发布时间】:2021-05-07 18:18:32 【问题描述】:从数据集中选择列子集的 NeurAxle 方法是什么?这就是我通过 sklearn 的方式:
class ColumnSelectTransformer(BaseEstimator, TransformerMixin):
def __init__(self, columns):
self.columns = columns
def fit(self, X, y=None):
return self
def transform(self, X):
if not isinstance(X, pd.DataFrame):
X = pd.DataFrame(X)
return X[self.columns]
# Set up SIMPLE FEATURES
simple_cols = ['BEDCERT', 'RESTOT', 'INHOSP', 'CCRC_FACIL',
'SFF', 'CHOW_LAST_12MOS', 'SPRINKLER_STATUS',
'EXP_TOTAL', 'ADJ_TOTAL']
simple_features = Pipeline([
('cst', ColumnSelectTransformer(simple_cols)),
('impute', SimpleImputer())
])
编辑:-
我认为这是一种解决方案,但我不是 100% 相信的。
class ColumnSelectTransformer(BaseTransformer, ForceHandleMixin):
def __init__(self, required_columns):
BaseTransformer.__init__(self)
ForceHandleMixin.__init__(self)
self.required_columns = required_columns
def inverse_transform(self, processed_outputs):
pass
def fit(self, X, y=None):
return self
def transform(self, X):
if not isinstance(X, pd.DataFrame):
X = pd.DataFrame(X)
return X[self.required_columns]
【问题讨论】:
【参考方案1】:更新:已修复。在此处查看柱式变压器的使用示例: https://www.neuraxle.org/stable/examples/sklearn/plot_cyclical_feature_engineering.html#sphx-glr-examples-sklearn-plot-cyclical-feature-engineering-py
这已经有问题了:https://github.com/Neuraxio/Neuraxle/issues/168
我暂时不想使用 Pandas,而是使用提供的 ColumnTransformer:https://www.neuraxle.org/stable/api/neuraxle.steps.column_transformer.html
如果您能够对您的 Pandas Transformer 进行完全编码(并进行适当的单元测试),我们很高兴通过在 Neuraxle 上打开拉取请求并将您添加为贡献者来获得您的贡献。
在此之前,您可以编写一个简单的PandasToNumpy
步骤,在对transform
的调用中返回.values
,然后通过提供所需列的整数而不是使用Neuraxle 的现有ColumnTransformer
字符串。
另请注意,您可以从NonFittableMixin
继承以覆盖fit
作为返回自身而无需额外代码。
【讨论】:
了解会试一试。谢谢。以上是关于Pandas DataFrame 中的 Neuraxle 选择列的主要内容,如果未能解决你的问题,请参考以下文章