2016年6月22日 星期三

Online News Popularity

一. 介紹

      現在網路發達,閱讀習慣也跟著在改變,報紙、書籍……等紙筆資料的數量開始下降,網路資料開始抬頭,文章以及知識逐漸被收藏在網路上。新聞訊息也是開始科技化的其中一項,像是Mashable是個國外新聞網站,裏頭包含非常多類型的新聞,而讀者比較愛好於分享哪種類型的新聞?這是我們這份分析的目標。



二.目的

      我們閱讀文章的時候會因會文章標題不夠吸引或其他因素不想閱讀,所以近年出現"懶人包"這個名詞,意思就是濃縮過或精簡過的版本但能讓人馬上看懂。讀者偏愛的類型像是文章長短、影片圖片數、詞語正面與負面運用……我們要在其中的元素中研究出最能抓住讀者的資料,並發展出新聞該如何吸引人、無聊的文章都能變有趣、冗長的文章變成精簡的懶人包。另外,分析完受歡迎文章之後,廣告公司可以在很多則文章中找出受歡迎的新聞做廣告,從中打響知名度且增加新聞網站中的廣告利益。



三.變數介紹

            Data來源自UCIMachine Learning Repository中其中一篇,裏頭大約包含了近4萬筆的資料及56個變數,在這裡我們介紹一些就好詳細資料請點上方連結。


1. timedelta: Days between the article publication and the dataset acquisition (non-predictive與調查時間間格天數 
2. n_tokens_title: Number of words in the title 主題字數
3. n_tokens_content: Number of words in the content 內文字數
4. num_hrefs: Number of links link數量
5. num_imgs: Number of images 圖片數量
6. num_videos: Number of videos 影片數量
7. weekday_is_monday: Was the article published on a Monday? 是否在星期一刊登  yes=1No=0
8. weekday_is_tuesday: Was the article published on a Tuesday? 是否在星期二刊登  yes=1No=0
9. weekday_is_wednesday: Was the article published on a Wednesday? 是否在星期三刊登  yes=1No=0
10. weekday_is_thursday: Was the article published on a Thursday? 是否在星期四刊登  yes=1No=0
11. weekday_is_friday: Was the article published on a Friday? 是否在星期五刊登  yes=1No=0
12. weekday_is_saturday: Was the article published on a Saturday? 是否在星期六刊登  yes=1No=0
13. weekday_is_sunday: Was the article published on a Sunday? 是否在星期日刊登  yes=1No=0
14. shares: Number of shares (target)分享數量

其中7~12這幾項我們有稍作調整,調整為"在星期幾刊登?",禮拜一的話就叫1、禮拜二叫2...以此類推,這樣合併對整體訊息是不變的而且變數越少跑程式會更快,而最後分享數的分類改為二分法,1400以上的分享數設定為高;1399以下的分享數設定為低。而下面開始講我們使用的分類方法。


四.方法


我們使用Random Forest(RF)Support Vector Machine(SVM)LassoAda boostingKNNLinear RegressionLinear Discriminant Analysis(LDA)等方法去做分析與預測。忽略較差的結果,以二分法將分享數分成兩類。以SVM預測的結果如下:training datatesting data大約是31,預測成功的結果67%,計算時間約60秒。而使用RF預測的結果因為電腦計算的記憶體容量並不夠大,因此我們只用了整個data20%traintest的數量約為11tree使用數量為200,二分法預測的結果約為67%,秒數比起SVM快一些,約40秒。雖然我們有時候可以達到甚至超越70%,可是以常態而言,67%才是RF主要的正確率。

Algorithms
Train
Test
Random Forest(tree=200)
67%
67%
SVM(RBF)
69%
67%
LDA
NA
66%
Ada Boosting
NA
66%


五、結論


我們的預測最高只有達到67%,三次預測中就有一次是失敗的,一般而言預測達到80~90%才算是合格。由於也有不少人做這一個相關的題目或是比賽,因此我們查詢了其他相關資料和我們的資料相比對,以下是Kaggle比賽的預測成果(此比賽已結束),他們預測的比我們複雜一些所以最多的正確率才56%,在這看來我們的67%其實是不錯的,因此可能這data給予的資訊太過於稀少,導致預測並不佳。





















六.參考資料

1.K. Fernandes, P. Vinagre and P. Cortez. A Proactive Intelligent Decision Support System for Predicting the Popularity of Online News. Proceedings of the 17th EPIA 2015 - Portuguese Conference on Artificial Intelligence, September, Coimbra, Portugal.
2.Quan Yang and He Ren Predicting and Evaluating the Popularity of Online News

以下圖片為操考資料中第一篇paper的預測結果,他們做出來的結果比我們的預測結果更好,但他們的SVM比我們差,也許他們將TYPE換成我們使用的TPYE會更加完美。RF的話語我們的結果差不多,有點小差別可能是在選變數的整理過程中有所不同造成些許的差異。





























































沒有留言:

張貼留言