如何用数组训练分类器?
How to train a classifier with an array of arrays?
我想使用 decision tree classifier
来预测一些事情。
如您所见:
from sklearn import tree
sample1 = [120,1]
sample2 = [123,3]
features = [sample1,sample2]
labels = [0,1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)
我有两个样本:
示例一:[120,1]
我标记为 0
样本二: [123,3]
我标记为 1
到目前为止一切顺利。
但是现在,我想使用数组来训练,而不是这个样本,例如:
features = [[120,120.2][1, 1.2]]
此样本的相应标签是:
label = [1]
所以我的代码应该是:
from sklearn import tree
features = [[120,120.2][1, 1.2]]
labels = [1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)
我得到以下 error
:
类型错误:列表索引必须是整数,而不是元组
我知道分类器需要一个整数列表,而不是元组。
解决方案可能是:
features = [[120, 120.2, 1, 1.2]]
labels = [1]
但我不想混淆数据,因为我将它们分别放入数组中。
有什么方法可以用数据数组训练我的分类器吗?
谢谢
不,您不能将这种格式用于您的数据,您需要将它们聚合到一个数组中。
expected shape 是 (n_samples, n_features).
它更合乎逻辑,因为一个示例是由一些特征描述的,并且通过使用预期的格式,它可以更好地描述您的数据。
我想使用 decision tree classifier
来预测一些事情。
如您所见:
from sklearn import tree
sample1 = [120,1]
sample2 = [123,3]
features = [sample1,sample2]
labels = [0,1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)
我有两个样本:
示例一:
[120,1]
我标记为0
样本二:
[123,3]
我标记为1
到目前为止一切顺利。
但是现在,我想使用数组来训练,而不是这个样本,例如:
features = [[120,120.2][1, 1.2]]
此样本的相应标签是:
label = [1]
所以我的代码应该是:
from sklearn import tree
features = [[120,120.2][1, 1.2]]
labels = [1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(features, labels)
我得到以下 error
:
类型错误:列表索引必须是整数,而不是元组
我知道分类器需要一个整数列表,而不是元组。 解决方案可能是:
features = [[120, 120.2, 1, 1.2]]
labels = [1]
但我不想混淆数据,因为我将它们分别放入数组中。
有什么方法可以用数据数组训练我的分类器吗?
谢谢
不,您不能将这种格式用于您的数据,您需要将它们聚合到一个数组中。
expected shape 是 (n_samples, n_features).
它更合乎逻辑,因为一个示例是由一些特征描述的,并且通过使用预期的格式,它可以更好地描述您的数据。