• 大小: 34.7MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-07-01
  • 语言: Python
  • 标签: mnist  python  random  forest  

资源简介

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 += ‘\n‘
            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\t10k-images-idx3-ubyte.gz
     文件     7840016  1998-01-26 23:07  作业五 随机森林\MNIST_data\t10k-images.idx3-ubyte
     文件        4542  2019-06-10 15:18  作业五 随机森林\MNIST_data\t10k-labels-idx1-ubyte.gz
     文件       10008  1998-01-26 23:07  作业五 随机森林\MNIST_data\t10k-labels.idx1-ubyte
     文件     9912422  2019-06-10 15:18  作业五 随机森林\MNIST_data\train-images-idx3-ubyte.gz
     文件    47040016  1996-11-18 23:36  作业五 随机森林\MNIST_data\train-images.idx3-ubyte
     文件       28881  2019-06-10 15:18  作业五 随机森林\MNIST_data\train-labels-idx1-ubyte.gz
     文件       60008  1996-11-18 23:36  作业五 随机森林\MNIST_data\train-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

评论

共有 条评论