天天看點

《機器學習與資料科學(基于R的統計學習方法)》——導讀

《機器學習與資料科學(基于R的統計學習方法)》——導讀

機器學習與資料科學(基于r的統計學習方法)

在我的童年時代,我十分喜愛著名科幻作家、教授艾薩克·阿西莫夫(asimov isaac)的《基地三部曲》。故事的主角叫作hari seldon,他是一位開創了“心理曆史學”的數學教授,這門學科涉及曆史學、社會學和數理統計,可以用來預測未來事件發生的機率。是以,我從小就迷上了預測這一概念。很自然地,我長大後成為了一名資料科學家。我把機器學習類比為seldon的素數輻射法(prime radiant),是一個存儲“心理曆史學方程”的工具,可以用來展示人類未來發展前景。

遠在“資料科學”這一概念問世之前,我就已經成為(或者假裝成為)一名資料科學家(data scientist)很多年了。“資料科學家”這一頭銜經曆了數十年職業演化才建立,對此我表示十分欣喜。最近在業内論壇上,人們針對“資料科學”是否能恰當描述這一領域展開了激烈的辯論。我認為這個術語确實做出了了不起的貢獻,因為資料科學家所做的事情實際上大多都是實驗,這對我日複一日的基礎工作毫無疑問是有效的科學方法(scientific method)。我個人認為“資料科學”比“資料挖掘”(data mining)或者“商業智能”(business intelligence)更精确、描述得更好。随着時間的流逝,後兩種表述經曆了嚴格的技術成熟度曲線。我對“資料科學家”這一稱呼很滿意,因為我真切地感受到自己是一個用資料進行實驗的科學家。

這裡講講我是如何了解資料科學用科學方法來解決問題的。

提出一個問題:問題可以是針對一個具體觀察結果的解釋。例如,是不是給目标顧客打的電話越多,銷售團隊能成交的單量也越多?這一階段牽涉到尋找能夠為解決問題提供線索的資料集。當在資料科學中使用科學研究方法時,确定一個好的問題相當不易,并且問題的好壞會直接影響到研究的最終結果。

作出一個假設(hypothesis):假設就是一個可能解釋觀測結果的猜想。這個假設是在提出問題時,基于現有的知識做出的。一個典型的假設表述形式是:是否準許一個房屋貸款,決定因素可能是房主的收入水準預期和信用評分。

預測(prediction):這一步驟牽涉到确定假設的邏輯結論,使用資料科學意味着選擇一個合适的機器學習算法來解決這個問題。在理想狀态下,預測必須把假設和其他的可能原因區分出來;如果兩個假設做出了一樣的預測,觀測到預料中的結果就并不能說明其中一個假設是正确的。這就是為什麼某些領域的機器學習需要用相同資料集、不同算法來做實驗,來看最終的結果如何。這一步也需要用有限資料集來“訓練”算法。

測試(testing):這一步驟是考察實際結果是否像假設預測的那樣。作為一名資料科學家,你需要在訓練過程中保留一份資料集,來評估預測的準确性。這一實驗的目的是判斷基于真實世界的觀測與基于假設的預測是否一緻。如果一緻,該假設的置信度提高;否則,置信度降低。然而,一緻性并不能確定假說的正确,更深入的實驗可能會揭示其他問題。

分析(analysis):這一階段需要确定實驗得出的結論是什麼,并決定下一步需要做什麼。通過資料可視化,你可能發現之前在機器學習中使用的資料不足以預測得出你需要的結果。是以你回退到前面,重新審視提出問題那一步。你可能希望用不同的資料集重複實驗,來觀察是否能得到相同的結果。一旦一個假說得到了資料的強烈支援,可以在同一主題下提出一個新的問題,來尋求更深入的了解。在這種情況下,科學方法是一個疊代的過程,它不斷重複,直至發展出一個能繼續前進的強大“理論”。

機器學習是資料科學家用來做預測和檢驗假設有效性的基本工具集。讓我們繼續簡要地了解一下機器學習是什麼、資料科學家用它來做什麼。“機器學習”這一表述代表了多學科的融合:計算機科學(computer science)、數理統計、機率論和資料可視化。在接下去的章節中,我們将會看到機器學習有兩大基本類型:監督學習(supervised learning)用于預測,非監督學習(unsupervised learning)用于發現。如果你真的想深入了解各種機器學習算法的奧秘,必須明白多個數學領域的原理,例如數理統計、機率論(probability theory)、計算學、線性代數(linear algebra)、偏微分方程(partial differential equations)群組合數學(combinatorics)。好在,在本書中我們使用了r語言,是以無需鑽研算法的基本原理。我們隻需要學習如何使用它們。

<a href="https://yq.aliyun.com/articles/97523">第1章 機器學習綜述</a>

<a href="https://yq.aliyun.com/articles/97524">1.1 機器學習的分類</a>

<a href="https://yq.aliyun.com/articles/97526">1.2 機器學習的實際案例</a>

<a href="https://yq.aliyun.com/articles/97527/">1.3 機器學習的過程</a>

<a href="https://yq.aliyun.com/articles/97529">1.4 機器學習背後的數學</a>

<a href="https://yq.aliyun.com/articles/97528">1.5 成為一名資料科學家</a>

<a href="https://yq.aliyun.com/articles/97530">1.6 統計計算的r工程</a>

<a href="https://yq.aliyun.com/articles/97531">1.7 rstudio</a>

<a href="https://yq.aliyun.com/articles/97532">1.8 使用r包</a>

<a href="https://yq.aliyun.com/articles/97533">1.9 資料集</a>

<a href="https://yq.aliyun.com/articles/97534">1.10 在生産中使用r</a>

<a href="https://yq.aliyun.com/articles/97535">1.11 小結</a>

<a href="https://yq.aliyun.com/articles/97536">第2章 連接配接資料</a>

<a href="https://yq.aliyun.com/articles/97537">2.1 管理你的工作目錄</a>

<a href="https://yq.aliyun.com/articles/97538">2.2 資料檔案的種類</a>

<a href="https://yq.aliyun.com/articles/97539">2.3 資料的來源</a>

<a href="https://yq.aliyun.com/articles/97540">2.4 從網絡中下載下傳資料集</a>

<a href="https://yq.aliyun.com/articles/97541">2.5 讀取csv檔案</a>

<a href="https://yq.aliyun.com/articles/97542">2.6 讀取excel檔案</a>

<a href="https://yq.aliyun.com/articles/97543">2.7 使用檔案連接配接</a>

<a href="https://yq.aliyun.com/articles/97544">2.8 讀取json檔案</a>

<a href="https://yq.aliyun.com/articles/97545">2.9 從網站中抓取資料</a>

<a href="https://yq.aliyun.com/articles/97546">2.10 sql資料庫</a>

<a href="https://yq.aliyun.com/articles/97547">2.11 r中的sql等價表述</a>

<a href="https://yq.aliyun.com/articles/97548">2.12 讀取twitter資料</a>

<a href="https://yq.aliyun.com/articles/97549/">2.13 從谷歌分析中讀取資料</a>

<a href="https://yq.aliyun.com/articles/97560">2.14 寫資料</a>

<a href="https://yq.aliyun.com/articles/97561/">2.15 小結</a>

第3章 資料處理

第4章 探索性資料分析

第5章 回歸

第6章 分類

第7章 評估模型性能

第8章 非監督學習

繼續閱讀