用EXCEL預處理一個多準則電影評分資料集
現在先介紹一下所用的資料集,該資料集是從日本雅虎電影網站爬取的電影評分資料集,共有225045條,18列。
真正有用的只有電影名,使用者名稱,總體評分,和
story | role | show | image | music |
等5個準則的評分值。
現在想要的預處理結果是:
1,將不需要的列刪去,
2,將含NULL值的記錄刪去,刪除重複行
3,將整體評分的分值調整為0-5,
4,對電影和使用者名稱進行編號,分別從1到N,
5,統計預處理後資料集資訊。
=========================
首先用Excel完成這個過程。
1,手動刪去不需要的列。由於B列和C列是同樣資料的不同形式,D列和E列也是同樣資料的不同形式,就選擇保留數值較少的列。於是保留B和E列。B列是電影,E列是使用者名稱。
2,使用篩選功能,對存在NULL的列進行篩選,然後刪去所有包含NULL的行。一共刪除了17108條記錄。
之後,用刪除重複項的功能,刪除掉所有的列都相同的資料。
3,對整平評分的列進行處理,將評分範圍調整到0-5,這就需要將total列每個數值都除20。在total列的旁邊插入一列,然後在第一個單元格里輸入=C2/20,之後回車就得到了第一個除之後的值。再雙擊該單元格的右下角,就可以自動填充該列所有的單元格,也就得到了想要的資料。刪除不需要的C列即可。(在刪除C列之前,複製D列並直接貼上到原位置,選擇只保留值,這樣就清除了公式,刪除C不會對D造成影響。)
4,(寫在這一步之前,考慮到Excel的處理速度,為了不浪費時間,將第3步之後的資料只保留前2W條,進行後續操作的演示)
給電影和使用者名稱新增從1開始到N的數字ID,替換掉電影名和使用者名稱。
先做電影的,將movie列整體複製到表格後方,再在相鄰的列命名一個movieID列。之後使用刪除重複值的按鈕,刪除新的movie列的重複值,然後在O列前三個單元格分別填上123,之後雙擊填充到整列。
在此之後,就要用vlookup函式,為A列,也就是完整的電影名列進行數字ID匹配。
在A列後插入一列新單元,命名為movieid。
在該movieid列的第二個單元格,輸入vlookup函式。如圖:
後面的單元格,只需要雙擊B2的右下角自動填充即可。從圖中可以看到,已經完成了所有movie列的數字ID賦值。
對於使用者名稱列,採用同樣的方法即可得到結果。
(相應的,一定要把通過公式得到的列複製再貼上,選擇只保留數值,否則刪除後面的列的時候前面的值就沒有了。)
5,統計預處理後的資料集的資訊。
首先,先發一個處理好的資料集圖。
到這一步之後,用資料透視表對資料集的資訊進行統計。
因為評分資料主要是用在後面的多準則推薦演算法中的,在這裡對它們進行統計沒有任何意義,故只對電影和使用者名稱進行統計。
主要是看有多少條目,每個條目出現的次數。
可以看到,經過擷取後的資料,一共還有1016部電影,6018個使用者。
到此,一個基本的資料預處理已經完成了,可以被之後的演算法研究所使用。
下一篇文章,將講述如何用MySQL實現同樣的操作。