mnist手写字体识别之随机森林.zip


mnist手写字体识别之随机森林,包含了python代码,本科实验的作业,实现了随即森科算法的手写字体识别,含mnist数据集,报告基本要求都有
资源截图
代码片段和文件信息
import os
import struct
from array import array
import tensorflow as tf
old_v = tf.logging.get_verbosity()
tf.logging.set_verbosity(tf.logging.ERROR)
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets(“MNIST_data/“ one_hot=True)
tf.logging.set_verbosity(old_v)

class MNIST(object):
    def __init__(self path=‘.‘):
        self.path = path

        self.test_img_fname = ‘t10k-images.idx3-ubyte‘
        self.test_lbl_fname = ‘t10k-labels.idx1-ubyte‘

        self.train_img_fname = ‘train-images.idx3-ubyte‘
        self.train_lbl_fname = ‘train-labels.idx1-ubyte‘
        print(‘Data Loaded from MNIST‘)

        self.test_images = []
        self.test_labels = []

        self.train_images = []
        self.train_labels = []

    def load_testing(self):
        ims labels = self.load(os.path.join(self.path self.test_img_fname)
                                os.path.join(self.path self.test_lbl_fname))

        self.test_images = ims
        self.test_labels = labels

        return ims labels

    def load_training(self):
        ims labels = self.load(os.path.join(self.path self.train_img_fname) os.path.join(self.path self.
        train_lbl_fname))

        self.train_images = ims
        self.train_labels = labels

        return ims labels

    @classmethod
    def load(cls path_img path_lbl):
        with open(path_lbl ‘rb‘) as file:
            magic size = struct.unpack(“>II“ file.read(8))
            if magic != 2049:
                raise ValueError(‘Magic number mismatch expected 2049‘
                                 ‘got {}‘.format(magic))

            labels = array(“B“ file.read())

        with open(path_img ‘rb‘) as file:
            magic size rows cols = struct.unpack(“>IIII“ file.read(16))
            if magic != 2051:
                raise ValueError(‘Magic number mismatch expected 2051‘
                                 ‘got {}‘.format(magic))

            image_data = array(“B“ file.read())

        images = []
        for i in range(size):
            images.append([0] *rows*cols)

        for i in range(size):
            images[i][:] = image_data[i*rows*cols:(i + 1)*rows*cols]

        return images labels

    @classmethod
    def display(cls img width=28 threshold=200):
        render = ‘‘
        for i in range(len(img)):
            if i % width == 0:
                render += ‘

            if img[i] > threshold:
                render += ‘@‘
            else:
                render += ‘.‘
        return render

mnist = MNIST()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-06-25 22:47  作业五 随机森林
     文件   155566481  2019-06-10 20:24  作业五 随机森林MNIST_RFC_pca.pickle
     目录           0  2019-06-21 12:45  作业五 随机森林MNIST_data
     文件     1648877  2019-06-10 15:18  作业五 随机森林MNIST_data 10k-images-idx3-ubyte.gz
     文件     7840016  1998-01-26 23:07  作业五 随机森林MNIST_data 10k-images.idx3-ubyte
     文件        4542  2019-06-10 15:18  作业五 随机森林MNIST_data 10k-labels-idx1-ubyte.gz
     文件       10008  1998-01-26 23:07  作业五 随机森林MNIST_data 10k-labels.idx1-ubyte
     文件     9912422  2019-06-10 15:18  作业五 随机森林MNIST_data rain-images-idx3-ubyte.gz
     文件    47040016  1996-11-18 23:36  作业五 随机森林MNIST_data rain-images.idx3-ubyte
     文件       28881  2019-06-10 15:18  作业五 随机森林MNIST_data rain-labels-idx1-ubyte.gz
     文件       60008  1996-11-18 23:36  作业五 随机森林MNIST_data rain-labels.idx1-ubyte
     目录           0  2019-06-21 12:45  作业五 随机森林\__pycache__
     文件        2568  2019-06-10 15:51  作业五 随机森林\__pycache__mnist_loader.cpython-37.pyc
     文件        2659  2019-06-10 15:50  作业五 随机森林mnist_loader.py
     文件        1784  2019-06-10 15:48  作业五 随机森林随机森林1.py

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)