【发布时间】:2018-09-01 04:11:04
【问题描述】:
我想获取经过 SKLearn OneHotEncoder 转换后的数据集的特征名称。
在active_features_ attribute in OneHotEncoder 中可以很好地解释n_values_、feature_indices_ 和active_features_ 属性是如何在transform() 执行后填充的。
我的问题是:
例如基于 DataFrame 的输入数据:
data = pd.DataFrame({"a": [0, 1, 2,0], "b": [0,1,4, 5], "c":[0,1,4, 5]}).as_matrix()
代码如何从原始特征名称a、b 和c 到转换后的特征名称列表
(例如:
a-0,a-1,a-2,b-0,b-1,b-2,b-3,c-0,c-1,c-2,c-2,@987
或
a-0,a-1,a-2,b-0,b-1,b-2,b-3,b-4,b-5,b-7,@98654351@,@9867654351@
或任何有助于查看编码列与原始列的分配情况)。
背景:我想看看一些算法的特征重要性,以了解哪个特征对所用算法的影响最大。
【问题讨论】:
-
我不确定您需要知道什么。您想知道“从……到……”的代码。您只想列出新列的名称吗?看到编码器用来生成新列名的代码了吗? “查看分配”会混淆问题,因为这些列未“分配给”原始列;它们派生自原始列,不再具有数据流连接..
标签: python machine-learning scikit-learn