python - 如何预测我自己的图像并使用 SVM 分类器检查它们是否匹配
问题描述
我遵循了一个教程并使用 SVM 训练了一个模型。当我使用它预测的测试集测试模型时,但我想上传我自己的图像并比较它们是否匹配,然后打印结果的准确性。
img1 = imageio.imread("test-1.jpg")
img2 = imageio.imread("test-2.jpg")
myTest = []
myTest.append(img1)
myTest.append(img2)
pred = svc_1.predict(myTest)
表明
ValueError: setting an array element with a sequence.
解决方案
首先,两张图片的大小是否相同?
其次,我们需要为 SVC 模型提供 2D 输入。因此,您需要展平您的 3D 图像并创建一个维度为 [# images, #pixels in image] 的特征矩阵。
玩具示例(实际上我们需要使用训练集拟合模型并使用测试集进行预测)。
import numpy as np
from sklearn.svm import SVC
img1 = imageio.imread("test-1.jpg")
img2 = imageio.imread("test-2.jpg")
y = [0,1] #labels for the classification
myTest = []
myTest.append(np.array(img1).ravel()) # ravel the 3D images into a vector
myTest.append(np.array(img2).ravel())
svc_1 = SVC().fit(myTest,y ) # fit the model
pred = svc_1.predict(myTest) # predict
print(pred)
# [1 1]
推荐阅读
- .htaccess - .htaccess 重定向导致所有浏览器说“隐私错误,连接不是私有的”
- r - 通过两个相同的变量组合两个数据框
- powershell - 在 2 个不同的远程服务器上同时运行 2 个删除命令..CMD
- flutter - 当我们等待 void 方法时如何在 dart 中运行代码
- javascript - React/JS - onMouseOver 改变字体
- ios - 不能在 Swift 中将一个结构分配给另一个结构
- expo - 在(反应式导航抽屉)中的第二页和第三页上调整标题大小时出错?
- r - R - 如何在 write.table(... .txt) 输出的字符串值中删除双引号 (" ")?
- javascript - jQuery 显示/隐藏多个 div
- google-maps - 如何在谷歌地图信息框中插入部分和超链接