支持向量机算法-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%