1. 目的:1000张数字0-9的手写数字,训练识别手写数字;将其作为32*32的0,1化的数字,随后会将其变为1024列的一个向量
  2. 原理:SVM就是把平面的点变为一个空间的点,更好切,核函数就是怎么把他变为空间的点,即比如中间的升的更高,外圈的升的更慢这样就有一个锥形的空间(个人理解)
  3. 步骤
    1. 读取数字文件,将数字的0,1变为向量,训练的向量放在一起,向量对应的标签(即是1,2还是3的真实值)放在一起;
    2. 调用sklearn.svm库
    3. 训练好后测试测试集验证错误率
    4. 调参再测,找一个最优的
    5. 代码
    6. #SVM训练,trainingMat 训练集 hwLabels 标签集
      clf = SVC(C=200,kernel='rbf')
      clf.fit(trainingMat,hwLabels)
      #训练好后用来预测classifierResult 要和真实的值对比是否正确
      classifierResult = clf.predict(vectorUnderTest)