我在用LIBSVM library。 这是一个支持向量机的库,向量机与Python和Matlab兼容,执行数字识别算法和人脸识别算法的分类。 在
在进行支持向量机分类时遇到了非常奇怪的问题。 当我在不同的计算机上运行程序时,当我在不同的计算机上运行程序时,我使用相同的代码库、相同的解释器(在我的示例中是Python )和相同的训练和测试数据,训练和测试的准确度非常高在
以下是数值识别算法的分类函数调用的代码。 (这里,训练图像数=1409,测试图像数=997 ):from svmutil import *
" " Data for training " " "
train_features,train _ labels=load _ data (' ocr _ data/training/' ) )
' ' ' Data for testing ' ' '
test_features,test _ labels=load _ data (' ocr _ data/testing/' )
“' ' Training a linear-SVM classifier ' '”
train _ features=train _ features.to list (
test _ features=test _ features.to list (
problem=SVM _ problem (train _ labels,train_features ) )。
parameter=SVM_parameter('-t0 ' ) )。
model=SVM_train(problem,parameter ) )。
SVM_save_model(ocr.model,model ) )。
RES=SVM_predict(train_Labels,train_features,model ) ) ) ) ) ) ) ) RES=SVM_predict(train_Labels,model ) )
RES=SVM_predict(test_labels,test_features,model ) ) )。
对于4gb RAM/64位操作系统Windows 8,完成培训和测试后的精度输出如下:
^{pr2}$
2gb RAM/32位操作系统Windows 7笔记本电脑的不同输出: accuracy=100.00%(1409/1409 () classification ) ) ) )。
accuracy=99.29%(990/997 ) (classification ) ) ) ) ) )。
还有其他计算机的可变精度输出,但不包括我。 另一个用Matlab编程的人脸识别算法也遇到了同样的问题。 在
这是支持向量机的普遍问题,还是我做错了什么? 另外,如果这是SVM分类的常见问题,请告诉我这是什么实际原因。 我欢迎任何解决办法。 谢谢你。 在