1. 程式人生 > >用EXCEL預處理一個多準則電影評分資料集

用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實現同樣的操作。