本人工程碩士,研一新生,有一年as3頁遊開發經驗。畢業後希望從事資料探勘方向工作,如推薦系統方向。目前本人正在學習書籍machine learning in action,以及林軒田老師的機器學習基石課程以入門機器學習。計劃在完成這兩項後,在dblp上閱讀一些KDD,ICML,NIPS,IJCAI,AAAI等相關會議近年的論文,追蹤熱點。
回覆列表
-
1 # 插著扇子的石頭
可以參考之前我寫的一篇文章。
資料探勘入門資料和建議
用python做資料探勘的人一般都會用到pandas資料分析包。推薦閱讀《pandas: powerful Python data analysis toolkit》文件,其中《10 Minutes to pandas》這一節能讓你輕鬆上手pandas。讀了這一節你會知道怎麼用一句話得到資料的一些基本統計量(每一列特徵的均值、標準差、最大最小值、四分位點等),怎麼簡單地實現多條件的過濾,怎麼將兩張表按key連線,怎麼將資料視覺化。除了這篇文件,我還想推薦一本書《利用Python進行資料分析》,這本書和之前文件的主要內容差不多。可以書和文件交叉看,加深印象。與文件相比,書增加了資料應用等內容。與書相比,文件增加了與R、SQL對比等內容。即使是主題相同的章節,例如繪圖,文件和書將知識組織起來的方式以及側重點也有所不同。個人認為,文件和書都值得一看。
二、統計學雖然我也粗讀過統計學的幾本書,但從易懂性來說,都沒有學校老師給的ppt好,或者說自己看書比較困難,但是聽老師講課就很容易懂。所以,我建議有條件的同學能夠選修統計學這門課,沒條件的同學可以去網上找一些相關影片,配套書籍可以選擇茆詩松的《機率論與數理統計》。另外,《Head First Statistics》一書可以用來預熱。
學了統計學,你至少應該知道基本的抽樣方法、偏差與方差的區別、怎樣進行資料預處理、怎樣整理和顯示資料、資料分佈的描述統計量有哪些、假設檢驗是用來做什麼的、置信區間的概念、R-squared的含義等等。你需要了解各種圖的作用和適用場景,常用圖包括條形圖、餅圖、直方圖、折線圖、箱線圖、散點圖、雷達圖等。你需要了解各種統計量的含義,常見統計量包括均值、方差、中位數、四分位數、加權平均數、偏態、峰態等。你需要了解一些重要的分佈,比如正態分佈、chi-square分佈、t分佈、F分佈等。
三、機器學習和資料探勘機器學習資料首推吳恩達的《斯坦福大學公開課:機器學習課程》影片。這20集影片確實是好影片,但對初學者來說難度偏大。我有了一點機器學習方面的基礎後,再去看該影片,還花了2.5倍的時間才基本看懂。每當我跟不上影片時,就會暫停或者回退,再仔細看看課件,所以看完影片花掉的時間是影片原時長的2.5倍。另外,周志華的《機器學習》和李航的《統計學習方法》可以作為機器學習入門書籍,經典教材《Pattern Recognition and Machine Learning》可以作為機器學習進階書籍,而《機器學習實戰》一書能手把手地教你怎麼實現機器學習模型的底層演算法(書中包含了大量的程式清單)。
資料探勘方面,推薦Jiawei Han的《資料探勘概念與技術》。該書比較容易讀懂,內容廣泛且實用性強,特別適合初學者。
四、其他資料和建議除了系統化的學習專業知識,我們也可以每天吸收一些碎片化的知識。例如,Quora上有不少關於機器學習和資料探勘的問答,其答案質量普遍高於知乎,有興趣的同學可以常去Quora的機器學習相關版塊逛逛。訂閱好東西傳送門的《機器學習日報》是一個不錯的選擇。每天從日報中挑選1~2篇文章讀讀,可以擴充套件自己的知識面,同時養成天天學習的好習慣。
從Quora和《機器學習日報》中獲取的一些知識點:
(1)隨機森林模型不適合用稀疏特徵。
(2)測試集必須使用與訓練集相同的方法進行預處理。
(3)L1正則(特徵選擇)最小樣本數目m與特徵n呈log關係,m = O(log n) ;
L2正則(旋轉不變)最小樣本數目m與特徵n呈線性關係,m = O(n) 。
(4)標準的PCA是一種線性轉換技術。
(5)呈長尾分佈的特徵通常需要進行對數轉換。
(6)線性SVM適合小樣本。
(7)AUC適合作為類不平衡問題的衡量標準。
(8)在nested k-foldcross validation中,“外層迴圈”的目的是模型評估,“內層迴圈”的目的是模型選擇。
(9)在樣本數量較少的情況下,極大似然估計的效果比普通的最小二乘法差。
想幹資料探勘這一行,光有理論知識是不夠的,我們還需要積累實戰經驗。對於學生來講,可以跟著老師做專案,可以參加各種大資料競賽,也可以去公司實習。如果是參加競賽的話,一般比賽結束後,前幾名的演算法會公開。我們要特別關注一下他們的演算法創新點,說不定在下一個專案中就能用上。
阿里巴巴第一屆大資料競賽前9名團隊的演算法創新點整理:
第九:
1、缺失值填充。
第八:
1、在LR模型中,用dummy coding的方法處理了所有的特徵。
第七:
1、模型融合做得不錯。分別用滑動視窗和固定視窗建模。再用LR進行一級模型融合,最後對第一級的預測結果進行平均融合。
第六:
1、對不同的使用者-品牌型別進行了分類,並採取了不同的處理方法。
第五:
1、對正例採取上取樣方式,負例採取下采樣方式。
2、先用一個欠擬合的random forest初始化gbrt的殘差,再用一個樹的棵樹不是很大的gbrt來訓練,從而能夠在相對短的時間內得到比用較大棵樹的gbrt還要高一些的效能。
第四:
1、對特徵進行Laplace平滑。
第三:
1、對資料進行歸一化、分箱和去噪。
第二:
1、去除離群點。
第一:
1、用LR濾去超過80%的樣本。
2、採用了神經網路演算法。