我有一个数据集data
和一个标记数组 ,target
我用它在 scikit-learn 中使用 k-最近邻算法构建了一个监督模型。
neigh = KNeighborsClassifier()
neigh.fit(data, target)
我现在可以使用这个模型对我的学习集进行分类。要获得分类分数:
neigh.score(data, target)
现在我的问题是这个分数取决于target
对象的类型。
- 如果是 python 列表,即使用 创建
list()
并用 填充target.append()
,则 score 方法返回 0.68。 - 如果它是一个 numpy 数组,使用创建
target = np.empty(shape=(length,1), dtype="S36")
(它只包含 36 个字符的字符串)并用 填充target[k] = value
,则 score 方法返回 0.008。
为了确定结果是否真的不同,我创建了列出结果的文本文件
for k in data:
neigh.predict(k)
在每种情况下。结果是一样的。
什么可以解释分数差异?