今天要來練習的是將影像資料做預處理,為什麼需要經過這道工法咧?我認為簡單來說,預處理的原理是將二維平面的影像資料轉換成一維的數字資料,好比把一張28×28的圖像攤開,變成由一格一格像素所組成,一長條長度為784的數字資料,再把這串數字做標準化(正規化),賦予它特定的意義,例如以數字代表色階、灰階程度等。然而,回到原本的問題,若是雜亂的將未處理的資料直接丟給電腦去做機器學習,想必是比較困難也相對費時的,要事先把資料做好預處理,才可以使用之後建立的多層感知器模型,進一步去執行訓練以及預測分析。
先查看確認影像資料的數量與尺寸大小:
將原本28×28的二維手寫數字影像資料,轉換成一維數字向量,且儲存資料型態為浮點數(float)
並查看資料是否轉換成功:
查看轉換為一維數字的資料內容,其中的數字代表的是灰階程度(由淺到深分成0~255):
最後再把轉換好的一維數字資料做正規化,可以有效提升日後訓練模型的精確度:
查看原本的label標籤欄位
將標籤欄位執行One-hot encoding轉換,並印出轉換後的結果: