你能用字符串数据训练一个决策树分类器吗?
当我尝试使用字符串数据时,我收到一个值错误:无法将字符串转换为浮点
数 clf = DecisionTreeClassifier()
clf.fit([['asdf', '1'], ['asdf', '0']], ['2', '3'])
您需要在 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'])
请记住在将测试样本转换为字典后,在测试样本上使用vect.transform
。