这是我对数字的ocr的实现。
#mix the dataset
dataset=np.delete(dataset,0,0)
lable=np.delete(lable,0)
X=dataset.shape[0]
l=range(X)
np.random.shuffle(l)
sampleing=np.zeros(32*32)
lableing=np.zeros(1)
for x in l:
sampleing=np.vstack((sampleing,dataset[x]))
lableing=np.hstack((lableing,lable[x]))
sampleing=np.delete(sampleing,0,0)
lableing=np.delete(lableing,0)
x=sampleing.shape[0]
train=sampleing[0:int(x*0.8)]
train_lableing=lableing[0:int(x*0.8)]
test=sampleing[int(x*0.8):]
test_lableing=lableing[int(x*0.8):]
clf=svm.SVC(gamma=0.001, C=100.)
print clf.fit(train,train_lableing)
predict=clf.predict(test)
print classification_report(test_lableing,predict)
print predict
这是我的输出
precision recall f1-score support
0 0.00 0.00 0.00 9
1 0.00 0.00 0.00 14
2 0.00 0.00 0.00 6
3 0.00 0.00 0.00 5
4 0.00 0.00 0.00 4
5 0.00 0.00 0.00 3
6 0.00 0.00 0.00 10
7 0.00 0.00 0.00 12
8 0.17 1.00 0.29 15
9 0.00 0.00 0.00 10
平均/总计0.03 0.17 0.05 88
['8''8''8''8''8''8''8''8''8''8''8''8''8''8''8'' 8''8''8' '8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8 ''8' '8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8 ''8' '8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8 ''8' '8''8''8''8''8''8''8''8''8''8''8''8''8''8''8''8'] < / p>
为什么我得到相同的预测值。我正在通过随机培训和测试数据 我确实尝试调试,但我没有在我的code.please帮助中发现任何问题。
答案 0 :(得分:1)
这可能是因为数据集(特征)数量很少.SVC适用于大数据集。尝试使用LinerSVC这应该可以解决问题。