ברוכים הבאים למדריך זה על מערך הנתונים MNIST. במדריך זה, נלמד מהו מערך הנתונים MNIST, איך לייבא אותו בשפת פייתון ואיך להציגו באמצעות matplotlib.
מהו מערך הנתונים MNIST?
מערך הנתונים MNIST הוא אוסף גדול של ספרות ידניות. זהו מערך נתונים פופולרי מאוד בתחום עיבוד התמונה. הוא נהוג לשימוש בבדיקת ביצועי אלגוריתמים של למידת מכונה.
MNIST הוא ראשי תיבות של מסד נתונים מודיפיקציה של המכון הלאומי לתקנים וטכנולוגיה.
מערך הנתונים MNIST מכיל אוסף של 70,000 תמונות בגודל 28 על 28 של ספרות ידניות מהספרה 0 עד 9.
המערך הנתונים כבר מחולק לקבוצות הכשרה והבדיקה. נראה זאת מאוחר יותר במדריך.
למידע נוסף על MNIST, יש לעיין בדף ה-ויקיפדיה שלו. אנחנו הולכים לייבא את המערך מ-Keras.
נתחיל בטעינת המערך למחברת הפייתון שלנו.
טעינת MNIST מ-Keras
אנו נצטרך תחילה לייבא את קבוצת הנתונים MNIST מתוך המודול Keras.
נוכל לעשות זאת באמצעות השורה הבאה של קוד:
from keras.datasets import mnist
כעת נטען את קבוצות האימון והבדיקה למשתנים נפרדים.
(train_X, train_y), (test_X, test_y) = mnist.load_data()
בואו נראה כמה תמונות יש בקבוצת האימון ובקבוצת הבדיקה. כלומר, ננסה לגלות את היחס בין התמונות בקבוצת האימון לבין קבוצת הבדיקה.
כדי ללמוד עוד על יחס החלוקה, יש לעיין במדריך זה על איך לחלק נתונים לקבוצות אימון ובדיקה.
כדי למצוא את יחס החלוקה, נדפיס את גדלי כל הוקטורים.
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test: ' + str(test_X.shape))
print('Y_test: ' + str(test_y.shape))
פלט:
X_train: (60000, 28, 28)
Y_train: (60000,)
X_test: (10000, 28, 28)
Y_test: (10000,)
נראה שישנם 60,000 תמונות בקבוצת האימון ו- 10,000 תמונות בקבוצת הבדיקה.
ממד הוקטור האימון שלנו הוא (60000, 28, 28), זה בגלל שיש 60,000 תמונות אפורות בממד 28X28.
קוד מלא לטעינת קבוצת הנתונים MNIST
הנה הקוד המלא מתוך סעיף זה:
from keras.datasets import mnist
#טעינת סט הנתונים
(train_X, train_y), (test_X, test_y) = mnist.load_data()
#הדפסת הצורות של הווקטורים
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test: ' + str(test_X.shape))
print('Y_test: ' + str(test_y.shape))
בואו נלמד איך לעצב סט נתונים זה.
עצירת סט הנתונים MNIST באמצעות matplotlib
תמיד רעיון טוב לעצב את סט הנתונים שאתה עובד עליו. זה יעזור לך להבין טוב יותר את סוג הנתונים שאתה עוסק בהם.
כמדען נתונים אחראי, זה צריך להיות החובה שלך לעצב את סט הנתונים כשלב ראשון.
כדי לעצב את סט הנתונים, השתמש בקטע הקוד הבא:
from matplotlib import pyplot
for i in range(9):
pyplot.subplot(330 + 1 + i)
pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray'))
pyplot.show()
פלט:

זה כיצד הנתונים שלנו נראים!
תדמית של 70,000 תמונות בדיוק כמו אלה. זה מה שיש בתוך סט הנתונים. היותו כה נפוץ הוא אחד הסיבות לפופולריות של סט הנתונים.
הבעיה של זיהוי הכתב לא חשוב כמו שהיתה בעבר. היה צורך בגרסה מאתגרת יותר של סט הנתונים MNSIT שיכולה לשמש כמחליף לו.
האם קיימת גרסה מאתגרת יותר של סט הנתונים MNIST?
כן, קיימת. סט הנתונים Fashion MNIST.
סט נתונים Fashion MNIST
סט הנתונים Fashion MNIST הוא החלפה אתגרית יותר לסט הנתונים הישן של MNIST.
סט הנתונים הזה מכיל 70,000 תמונות אפורות בגווני אפור בגודל 28×28 פיקסל של 10 סוגי בגדים שונים, כגון נעליים, חולצות, שמלות ועוד.
כדי ללמוד כיצד לייבא ולהציג את סט הנתונים Fashion MNIST, קראו את המדריך הזה כאן.
מסקנה
מדריך זה התעסק בייבוא ובהצגת סט הנתונים MNIST בשפת פייתון. דנו גם בהחלפה אתגרית יותר של סט הנתונים הזה, סט הנתונים Fashion MNIST. מקווים שנהניתם מהלמידה איתנו!
Source:
https://www.digitalocean.com/community/tutorials/mnist-dataset-in-python