Sklearn:ValueError:X 和 Y 具有不兼容的形状



我是 sklearn 的新手,一般来说也是 python 的新手。你能帮我弄清楚这个脚本是否导致了一些解决方案吗?基本上,我在图像集上使用色调提取器:加载iset进行训练,提取特征,定义分类器,然后分类。

    #load beach for training
iset = ImageSet('/Users/Arenzky/Desktop/img_dirs/supervised/beach/') #load Image database
hue = HueHistogramFeatureExtractor() # define extractor
edge = EdgeHistogramFeatureExtractor()
x = []
y = []
for b in iset:
    ...:        x.append(hue.extract(b))
hset = ImageSet('/dir/.../h01/') 
hue = HueHistogramFeatureExtractor() # define extractor
edge = EdgeHistogramFeatureExtractor()
for h01 in hset:
    ...:        y.append(hue.extract(h01))
dataset = np.array(x)
targets = np.array(y)
print 'Training Machine Learning'
clf = LinearSVC()
clf = clf.fit(x, y)
clf2 = LogisticRegression().fit(x, y)
#predict 

。加载 clf 后,我得到:

ValueError: 
X and Y have incompatible shapes. X has 20 samples, but Y has 286.

错误消息非常明确:输入数据集中有 20 个样本(行)和 286 个标签,因此不匹配。每个样品应标记一次y.shape[0]因此应等于x.shape[0]。我不知道你的特征提取器是如何工作的(你没有输入导入行,而是通过谷歌搜索它来自 SimpleCV)。请参考本模块的文档,了解其输出的性质以及如何将它们转换为满足 sklearn 形状假设的内容。

相关内容

  • 没有找到相关文章

最新更新