能活血造血的工具 versus 安逸的工具

        最近經常在想一個問題,為何我們會settle down在R這個資料分析的工具上?根據KDnuggets最新的調查顯示(2013 Top Languages for analytics, data mining, data science

),R的使用比例已經連續三年攀升,目前高達60.9%,超過六成了(http://www.kdnuggets.com/2013/08/languages-for-analytics-data-mining-data-science.html)!話雖如此,R絕對不是萬能無缺的!但它無疑是個能造血活血的工具,可以持續提升我們資料解析的能力。舉個例子來說,kmeans是群集分析(clustering analysis)中經典的算法,光stats包中的kmeans函數就涵蓋四群學者的不同算法!不僅如此,CRAN (Comprehensive R Archive Network)中其他的包還可以進行kmeans++, k-medoids, kernel kmeans...等延伸研究,所以除非妳(你)想安逸,否則會被它一步一步地往前推。

       再舉一個例子,昨晚我想把最近鄰居(nearest neighbor)的思維,融入多目標微粒群算法(multi-objective particle swarm optimization, MOPSO)之全域最佳解挑選機制中。胡亂搜了一下,就發現有一個名為FNN的包 (Fast Nearest Neighbor Search Algorithms and Applications),可以快速幫我挑出各粒子最接近的非凌越解。不到十分鐘光景,我就完成了我研究的coding工作!最後,我還複習了因為分類速度緩慢,而惡名昭彰的k-nearest neighbor (knn)分類模型。並且學習到爾後資料量較大的knn分類模型,可以考慮用這個包來實現。

        依稀記得一個補習班的廣告詞:好的老師帶你上天堂,平庸的老師讓你原地踏步,.....等等云云。人人一定都希望經常遇見好的老師,但好老師背後成功的原因一定是授之以漁,而非授之以魚。別的工具不是不好,而是哪個相對較優!能活血造血的工具無疑可以成為我們的老師,所以我一直強調跨領域資料分析師或是資料科學家一定要先慎選工具,再去投注寶貴的時間和金錢在艱辛的學習過程中。