将OneHotEncoder与SkLearn_pandas DataFrameMapper一起使用



我正在尝试使用sklearn_pandas dataframemapper。这将带有该列所需的预处理转换功能的列名。喜欢,

mapper = sklearn_pandas.DataFrameMapper([
    ('hour',None),
    ('season',sklearn.preprocessing.OneHotEncoder()),
    ('holiday',None)
])

季节是我的大熊猫数据框架中的INT64 col。

这给了我以下错误 - 太多值无法打开包装。我知道OneHotenCoder取2-D样品而不是1-D样品。

我如何使用Sklearn_pandas使用此onehotencoder,还是不可能。

sklearn-pandas的官方版本在处理一维数组和转换时存在一些问题。尝试以下叉:https://github.com/dukebody/sklearn-pandas

但是,我认为您可以使用LabelBinarizer(如sklearn_pandas示例)而不是OneHotEncoder

更新2015-11-28

sklearn-pandas>=0.0.12中,您可以解决您的问题:

mapper = sklearn_pandas.DataFrameMapper([
    ('hour',None),
    (['season'],sklearn.preprocessing.OneHotEncoder()),
    ('holiday',None)
])

来自文档:

将列选择器指定为 'column'(为 一个简单的字符串)和 ['column'](作为一个元素的列表)是 传递给变压器的数组的形状。在第一个 案例,通过一个维数阵列将通过,而在第二种情况下 它将是一个二维阵列,一列,即一列 向量。

相关内容

  • 没有找到相关文章

最新更新