MNIST验证图片识别的多种算法使用

MNIST数据集

MNIST是一个入门级的计算机视觉数据集,包含各种首次手写数字图片,包括60000个训练数据和10000个测试数据。每一个MNIST数据项由两部分组成,一张图片和对应的标签。每张图片包含28*28个像素点。

1.使用逻辑回归算法识别验证码

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

import re
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as pltimport
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import cross_val_score
import os
from sklearn.naive_bayes import GaussianNB
from sklearn import linear_model, datasets


import pickle
import gzip

#离线的MNIST数据集是gz格式的
def load_data():
    with gzip.open("/Users/zhanglipeng/Desktop/Data/MNIST/mnist.pkl.gz") as fp:
        training_data, valid_data, test_data = pickle.load(fp)#pickle.load()从file中读取一个字符串,并将它重构为原来的python对象。file:类文件对象,有read()和readline()接口。
    return training_data, valid_data, test_data

#值得注意的是,MNIST已经将28*28的图片特征化成长度为784的一维向量
if __name__ == '__main__':
    training_data, valid_data, test_data=load_data()
    x1,y1=training_data
    x2,y2=test_data
    logreg = linear_model.LogisticRegression(C=1e5)
    logreg.fit(x1, y1)
    print cross_val_score(logreg, x2, y2, scoring="accuracy")

 

你可能感兴趣的:(17.人工智能)