我习惯了 R,在其中你可以使用 factor(variable) 来表示一个分类变量。但是,在 scikit-learn 中,尝试传递字符串变量会导致 DecisionTreeClassifier 出错。
你应该如何在 scikit-learn 中使用分类变量?将多类变量编码为使用虚拟变量的唯一选择是什么?
我习惯了 R,在其中你可以使用 factor(variable) 来表示一个分类变量。但是,在 scikit-learn 中,尝试传递字符串变量会导致 DecisionTreeClassifier 出错。
你应该如何在 scikit-learn 中使用分类变量?将多类变量编码为使用虚拟变量的唯一选择是什么?
要将分类特征编码为 scipy.sparse 矩阵,您可以使用DictVectorizer类。然后调用.toarray()结果上的方法将其转换为连续的 numpy 数组,因为 scikit-learn 树还不支持稀疏输入。