【发布时间】:2016-09-21 06:00:09
【问题描述】:
我正在做一个二元分类,它只为图像返回“是”或“否”。因为我只有一个类的图像,所以我想在“目标”和“异常值”之间进行分类。
我正在使用 Scikit Learn svm.OneClassSVM()。然而,在训练模型后,我每次都得到“-1”,即使是预测训练数据也是如此。
这是我的代码:
X_train = []
for subdir, dirs, files in os.walk("training"):
for imagePath in files:
print ("path = ", imagePath)
img = Image.open(os.path.join(subdir, imagePath))
img = img.resize(sample_size, PIL.Image.ANTIALIAS)
img = np.array(img)
img = img[:,:,0]
img = img.reshape(1, img.shape[0]* img.shape[1])
X_train.append(img[0])
clf = svm.OneClassSVM(nu=0.1, kernel="rbf", gamma=0.1)
clf.fit(X_train)
然后我预测“训练数据”的结果
print clf.predict (X_train)
但是,我仍然得到所有“-1”。谁能告诉我怎么了?
【问题讨论】:
-
X_train 到底长什么样?您是否扩展了数据?
标签: python image scikit-learn svm