scikit-learn CART字符串数据

Ref*_*lux 3 python machine-learning scikit-learn

您是否能够使用字符串数据训练DecisionTreeClassifier?

当我尝试使用String数据时,我得到一个ValueError:无法将转换器字符串浮动

clf = DecisionTreeClassifier()
clf.fit([['asdf', '1'], ['asdf', '0']], ['2', '3'])

Fre*_*Foo 7

您需要将字符串值特征转换为NumPy数组中的数字特征; DictVectorizer为你这样做.

samples = [['asdf', '1'], ['asdf', '0']]
# turn the samples into dicts
samples = [dict(enumerate(sample)) for sample in samples]

# turn list of dicts into a numpy array
vect = DictVectorizer(sparse=False)
X = vect.fit_transform(samples)

clf = DecisionTreeClassifier()
clf.fit(X, ['2', '3'])
Run Code Online (Sandbox Code Playgroud)

vect.transform在将这些样本转换为dicts之后,请记住在测试样本上使用.