Online
News Popularity
一. 介紹
現在網路發達,閱讀習慣也跟著在改變,報紙、書籍……等紙筆資料的數量開始下降,網路資料開始抬頭,文章以及知識逐漸被收藏在網路上。新聞訊息也是開始科技化的其中一項,像是Mashable是個國外新聞網站,裏頭包含非常多類型的新聞,而讀者比較愛好於分享哪種類型的新聞?這是我們這份分析的目標。
二.目的
我們閱讀文章的時候會因會文章標題不夠吸引或其他因素不想閱讀,所以近年出現"懶人包"這個名詞,意思就是濃縮過或精簡過的版本但能讓人馬上看懂。讀者偏愛的類型像是文章長短、影片圖片數、詞語正面與負面運用……我們要在其中的元素中研究出最能抓住讀者的資料,並發展出新聞該如何吸引人、無聊的文章都能變有趣、冗長的文章變成精簡的懶人包。另外,分析完受歡迎文章之後,廣告公司可以在很多則文章中找出受歡迎的新聞做廣告,從中打響知名度且增加新聞網站中的廣告利益。
三.變數介紹
Data來源自UCI的Machine 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=1;No=0
8. weekday_is_tuesday: Was the article
published on a Tuesday? 是否在星期二刊登 yes=1;No=0
9. weekday_is_wednesday: Was the article published
on a Wednesday? 是否在星期三刊登 yes=1;No=0
10. weekday_is_thursday: Was the article
published on a Thursday? 是否在星期四刊登 yes=1;No=0
11. weekday_is_friday: Was the article
published on a Friday? 是否在星期五刊登 yes=1;No=0
12. weekday_is_saturday: Was the article
published on a Saturday? 是否在星期六刊登 yes=1;No=0
13. weekday_is_sunday: Was the article
published on a Sunday? 是否在星期日刊登 yes=1;No=0
14. shares: Number of shares (target)分享數量
其中7~12這幾項我們有稍作調整,調整為"在星期幾刊登?",禮拜一的話就叫1、禮拜二叫2...以此類推,這樣合併對整體訊息是不變的而且變數越少跑程式會更快,而最後分享數的分類改為二分法,1400以上的分享數設定為高;1399以下的分享數設定為低。而下面開始講我們使用的分類方法。
四.方法
我們使用Random
Forest(RF)、Support Vector Machine(SVM)、Lasso、Ada boosting、KNN、Linear Regression、Linear Discriminant Analysis(LDA)等方法去做分析與預測。忽略較差的結果,以二分法將分享數分成兩類。以SVM預測的結果如下:training data比testing data大約是3:1,預測成功的結果67%,計算時間約60秒。而使用RF預測的結果因為電腦計算的記憶體容量並不夠大,因此我們只用了整個data的20%,train和test的數量約為1:1,tree使用數量為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的話語我們的結果差不多,有點小差別可能是在選變數的整理過程中有所不同造成些許的差異。
現在網路發達,閱讀習慣也跟著在改變,報紙、書籍……等紙筆資料的數量開始下降,網路資料開始抬頭,文章以及知識逐漸被收藏在網路上。新聞訊息也是開始科技化的其中一項,像是Mashable是個國外新聞網站,裏頭包含非常多類型的新聞,而讀者比較愛好於分享哪種類型的新聞?這是我們這份分析的目標。
二.目的
三.變數介紹
Data來源自UCI的Machine 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=1;No=0
8. weekday_is_tuesday: Was the article
published on a Tuesday? 是否在星期二刊登 yes=1;No=0
9. weekday_is_wednesday: Was the article published
on a Wednesday? 是否在星期三刊登 yes=1;No=0
10. weekday_is_thursday: Was the article
published on a Thursday? 是否在星期四刊登 yes=1;No=0
11. weekday_is_friday: Was the article
published on a Friday? 是否在星期五刊登 yes=1;No=0
12. weekday_is_saturday: Was the article
published on a Saturday? 是否在星期六刊登 yes=1;No=0
13. weekday_is_sunday: Was the article
published on a Sunday? 是否在星期日刊登 yes=1;No=0
14. shares: Number of shares (target)分享數量
其中7~12這幾項我們有稍作調整,調整為"在星期幾刊登?",禮拜一的話就叫1、禮拜二叫2...以此類推,這樣合併對整體訊息是不變的而且變數越少跑程式會更快,而最後分享數的分類改為二分法,1400以上的分享數設定為高;1399以下的分享數設定為低。而下面開始講我們使用的分類方法。
四.方法
我們使用Random
Forest(RF)、Support Vector Machine(SVM)、Lasso、Ada boosting、KNN、Linear Regression、Linear Discriminant Analysis(LDA)等方法去做分析與預測。忽略較差的結果,以二分法將分享數分成兩類。以SVM預測的結果如下:training data比testing data大約是3:1,預測成功的結果67%,計算時間約60秒。而使用RF預測的結果因為電腦計算的記憶體容量並不夠大,因此我們只用了整個data的20%,train和test的數量約為1:1,tree使用數量為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的話語我們的結果差不多,有點小差別可能是在選變數的整理過程中有所不同造成些許的差異。


沒有留言:
張貼留言