首先本文参考了点击打开链接 这篇博客,然后可能时间有点久远,Kaggle的这道题给的数据文档和之前的不一样了,以及还有一些注意点这篇文章里没有突出。因此这里重新做个总结,希望大家能早点入个门。
这里我使用的sklearn中的支持向量机来解决手写识别问题。这里的svm是可以解决多分类问题的。核函数使用的是高斯核(rbf),松弛变量c选择的是5.
kaggle这道题一共提供了3个文件:train.csv,test.csv,sample_submission.csv 。 分别表示训练集,测试集,提交样例。
下面上python代码。本人的macbook pro16,运行时间为575秒。svm的准确率在这个问题上可能不及knn,但是运行的效率要比knn高了许多。。。
#!/usr/bin/python
# -*- coding: utf-8 -*-
from numpy import *
from sklearn import svm
import csv
import datetime
#把数组中的字符串转换成整数
def toInt(array):
array=mat(array)