簡單 mnist 資料集轉為csv格式讀取

2021-09-04 12:06:22 字數 2271 閱讀 9364

對於剛入門ai的童鞋來說,mnist 資料集就相當於剛接觸程式設計時的 「 hello world 」 一樣,具有別樣的意義,後續許多機器學習的演算法都可以用該資料集來進行簡單測試。

**也給出了資料集的格式,但是要手動解析這些資料也是有點複雜的。

以下**的功能是將訓練集和訓練標籤整合到乙個csv檔案裡(測試檔案同),執行完之後你會得到乙個訓練資料檔案和乙個測試資料檔案。

def convert(imgf, labelf, outf, n):

f = open(imgf, "rb")

o = open(outf, "w")

l = open(labelf, "rb")

f.read(16)

l.read(8)

images =

for i in range(n):

image = [ord(l.read(1))]

for j in range(28*28):

for image in images:

o.write(",".join(str(pix) for pix in image)+"\n")

f.close()

o.close()

l.close()

convert("train-images.idx3-ubyte", "train-labels.idx1-ubyte",

"mnist_train.csv", 60000)

convert("t10k-images.idx3-ubyte", "t10k-labels.idx1-ubyte",

"mnist_test.csv", 10000)

轉換後的結果如下,得到乙個二維矩陣,每一行資料就是乙個樣本的標籤+特徵向量。

一共有60000個訓練樣本,還有10000個測試樣本。

以下是我訓練過程使用的乙個例子。

from sklearn import svm

from sklearn import metrics

import numpy as np

import pandas as pd

from time import time

from sklearn.metrics import accuracy_score

traindata = pd.read_csv("mnist_train.csv").values

train_data = traindata[0:50000, 1:]

train_label = traindata[0:50000, 0] # 50000 代表樣本數

testdata = pd.read_csv("mnist_test.csv").values

test_data = testdata[0:10000, 1:]

test_label = testdata[0:10000, 0] # 10000 代表標籤數

# 建立模型

classifier_model = svm.svc(c = 1.0, kernel = 'rbf', degree=3, gamma='auto')

# 訓練

print("train1...")

start = time()

classifier_model.fit(train_data, train_label)

end = time()

t = end - start

print ('train:%dmin%.3fsec' % ((int)(t/60), t-60*(int)(t/60)))

# **

prediction = classifier_model.predict(test_data)

print ("accuracy: " , accuracy_score(prediction,test_label))

MNIST資料集轉為matlab可讀的mat格式

mnist手寫數字影象資料庫 60000個訓練集,10000個測試集,灰度圖,大小均為28 28 資料集 mnist資料庫讀取 讀取mnist資料集中的 train images readmnistimages train images idx3 ubyte 60000個訓練集,大小為28 28 6...

Mnist資料集分類簡單版本

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input data 載入資料集 mnist input data.read data sets mnist data one hot true 每個批次的...

MNIST資料集分類簡單版本

from tensorflow.examples.tutorials.mnist import input data 載入資料集mnist input data.read data sets data stu05 mnist data one hot true extracting data stu...