我有一系列字符串类型的变量,我必须对它们进行转换才能使用 sklearn 估计器。
我正在使用库 sklearn_pandas 中的 DataFrameMapper。
在下面的示例中,我有一个包含 A、B、C、D、E 列的数据框。假设“A”、“B”和“C”是字符串特征:A 有 25 个唯一字符串,B 有 10 个唯一字符串,C 有 30 个唯一字符串。在通过 LabelBinarizer() 转换数据后,相应的矩阵将具有 25+ 10+ 30+ 1 (from D) +1 (from E) = 67 features。我如何知道哪一列对应于每个原始变量的先前字符串值?
如前所述,前 3 个是字符串变量,因此我必须进行以下转换:
mapper = DataFrameMapper([
('A', LabelBinarizer()),
('B', LabelBinarizer()),
('C', LabelBinarizer()), (['D','E'],StandardScaler())])
X = np.array(mapper.fit_transform(df),dtype=float)
其中 X 是大小矩阵 (num_features)*67