支持向量机算法-mnist

使用支持多分类的支持向量机,特征提取一维向量,完成的处理流程图如图所示:

支持向量机算法-mnist

代码示例:

# -*- coding: utf-8 -*-

import tflearn
from tflearn.layers.core import input_data, dropout, fully_connected
from tflearn.layers.conv import conv_2d, max_pool_2d
from tflearn.layers.normalization import local_response_normalization
from tflearn.layers.estimator import regression
from sklearn.neural_network import MLPClassifier
from sklearn.feature_extraction.text import CountVectorizer
import os
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn import metrics
from sklearn import svm
from sklearn import neighbors

# Data loading and preprocessing
import tflearn.datasets.mnist as mnist

def do_svm_1d(x_train, y_train,x_test, y_test):
    print("SVM and 1d")
    clf = svm.SVC(decision_function_shape='ovo')
    print(clf)
    clf.fit(x_train, y_train)
    y_pred = clf.predict(x_test)
    print(metrics.accuracy_score(y_test, y_pred))
if __name__ == "__main__":
    print("Hello MNIST")
    X, Y, testX, testY = mnist.load_data(one_hot=False)
    do_svm_1d(X, Y, testX, testY)

输出结果:运行程序,在测试数据集上预测准确率为94.39%

支持向量机算法-mnist