- AI源碼解讀:卷積神經網絡(CNN)深度學習案例:Python版
- 李永華編著
- 418字
- 2023-08-04 18:54:03
1.3.1 數據預處理
本部分包括數據集獲取和數據預處理。
1.數據集獲取
MovieLens 1M數據集包括6000個用戶對4000部電影的1億條評論。下載地址為:http://files.grouplens.org/datasets/movielens/ml-1m.zip。數據集分為用戶數據、電影數據和評分數據。相關代碼如下:


成功下載并提取數據集的提示信息如圖1-4所示。

圖1-4 成功下載并提取數據集
2.數據預處理
本數據集由3個文件構成,不同文件內數據的格式不同,需要不同的方法對其進行預處理,如圖1-5所示。

圖1-5 預處理前的電影數據
電影ID(Movie ID)本身為數字不用處理,電影類別(Genres)是分類字段,需要轉換為數字。首先,將Genres中的類別轉換成字符串到數字的字典;其次,將每個電影的Genres字段轉換成數字列表,因為有些電影是多個Genres的組合。去掉電影名稱(Title)中的年份,方法與類別字段一樣,創建文本到數字的字典;最后,將Title中的描述轉換成數字的列表。
注意:Genres和Title字段長度應統一,以便于在神經網絡中處理,不足部分用數字填充。相關代碼如下:

經過預處理后的電影數據如圖1-6所示,全部由數字組成,便于處理。

圖1-6 經過預處理后的電影數據