不囉嗦,上代碼——機器學習經典實例

2021-02-18 圖靈教育

一般人都不喜歡編程,更不喜歡動手編程:

(時間消耗:編寫 & 測試 40%、重構 40%、風格 &文檔 20%)。

卻喜歡在心裡、嘴上編程:「先這樣,再那樣,如果要XX,就YY,最後就可以ZZ了。」分分鐘就可以說完幾萬行代碼的項目,水還剩大半杯。一旦大期將近,即使要親自動手Copy代碼,也會覺得苦堪搬磚,鍵盤不是紅與黑、屏幕不能左右推、小狗總是鬧跑追,不斷在數不清的理由中增加自己的熵。

偶爾看編程書的目的也很明確,就是為了快速上手,找到答案。當然也是在Google、StackOverflow、GitHub網站上找不到答案之後,無可奈何之舉。

編程書把看著複雜的知識寫得更複雜,雖然大多篇幅不輸「飛雪連天射白鹿,笑書神俠倚碧鴛」等經典,且綱舉目張、圖文並茂,甚至有作者愛引經據典,卻極少有令人拍案的驚奇之處。為什麼同樣是文以載道,編程書卻不能像武俠小說一樣簡單具體,反而顯得了無生趣,令人望而卻步?

雖然編程的目的就是用計算機系統解決問題,但是大多數問題的知識都在其他領域中,許多作者在介紹編程技巧時,又試圖介紹一些並不熟悉的背景知識,顯得生澀難懂,且增加了書的厚度。

♥ 有時我們真正需要的,就是能快刀斬亂麻的代碼。

(Talk is cheap, show me the code.)

編程與研究數理化不同,沒有任何假設、原命題、思維實驗,並非科學;與舞劍、奏樂、炒菜相似,都是手藝,只要基礎紮實,便結果立判。

編程技巧也可以像劍譜、樂譜、食譜一般立竿見影。

下面給大家推薦的這本《Python機器學習經典實例》正是如此,直接上代碼,照著做就行,不用糾結為什麼。

作者:Prateek Joshi

Prateek Joshi

人工智慧專家,重點關注基於內容的分析和深度學習,曾在英偉達、微軟研究院、高通公司以及矽谷的幾家早期創業公司任職。

譯者:陶俊傑,陳小莉

陶俊傑

長期從事數據分析工作,酷愛Python,每天都和Python面對面,樂此不疲。本科畢業於北京交通大學機電學院,碩士畢業於北京交通大學經管學院。

曾就職於中國移動設計院,目前在京東任職。

陳小莉

長期從事數據分析工作,喜歡Python。本科與碩士畢業於北京交通大學電信學院。目前在中科院從事科技文獻與專利分析工作。

♡ 為什麼要選這本書?

能夠節省時間,高效學習機器學習。本書先介紹機器學習基礎知識,後給出案例實際代碼操作練習。就像上面說的,沒有多餘冗雜的內容,直接上代碼,照著做就行。

為了更好地呈現內容,本書採用以下組織形式。(準備工作、詳細步驟、工作原理、更多內容、另請參閱)。

♡ 本書適不適合你? 

機器學習是交叉學科,應用廣泛,目前主流方法為統計機器學習。既然是以統計學為基礎,那麼就不只是計算機與數學專業的私房菜了,機器學習在自然科學、農業科學、醫藥科學、工程與技術科學、人文與社會科學等多種學科中均可應用。

如果你遇到了回歸、分類、預測、聚類、文本分析、語音識別、圖像處理等經典問題,需要快速用Python解決,那麼這本菜譜適合你。

即使你對機器學習方法還一知半解,也不妨一試。畢竟是Python的機器學習,還能難到哪兒去呢?

第1章 監督學習

1.1 簡介

1.2 數據預處理技術

1.3 標記編碼方法

1.4 創建線性回歸器

1.5 計算回歸準確性

1.6 保存模型數據

1.7 創建嶺回歸器

1.8 創建多項式回歸器

1.9 估算房屋價格

1.10 計算特徵的相對重要性

1.11 評估共享單車的需求分布

第2章 創建分類器

2.1 簡介

2.2 建立簡單分類器

2.3 建立邏輯回歸分類器

2.4 建立樸素貝葉斯分類器

2.5 將數據集分割成訓練集和測試集

2.6 用交叉驗證檢驗模型準確性

2.7 混淆矩陣可視化

2.8 提取性能報告

2.9 根據汽車特徵評估質量

2.10 生成驗證曲線

第3章 預測建模

3.1 簡介

3.2 用SVM建立線性分類器

3.3 用SVM建立非線性分類器

3.4 解決類型數量不平衡問題

3.5 提取置信度

3.6 尋找最優超參數

3.7 建立事件預測器

3.8 估算交通流量

第4章 無監督學習——聚類

4.1 簡介

4.2 用k-means算法聚類數據

4.3 用矢量量化壓縮圖片

4.4 建立均值漂移聚類模型

4.5 用凝聚層次聚類進行數據分組

4.6 評價聚類算法的聚類效果

4.7 用DBSCAN算法自動估算集群數量

4.8 探索股票數據的模式

4.9 建立客戶細分模型

第5章 構建推薦引擎

5.1 簡介

5.2 為數據處理構建函數組合

5.3 構建機器學習流水線

5.4 尋找最近鄰

5.5 構建一個KNN分類器

5.6 構建一個KNN回歸器

5.7 計算歐氏距離分數

5.8 計算皮爾遜相關係數

5.9 尋找數據集中的相似用戶

5.10 生成電影推薦

第6章 分析文本數據

6.1 簡介

6.2 用標記解析的方法預處理數據

6.3 提取文本數據的詞幹

6.4 用詞形還原的方法還原文本的基本形式

6.5 用分塊的方法劃分文本

6.6 創建詞袋模型

6.7 創建文本分類器

6.8 識別性別

6.9 分析句子的情感

6.10 用主題建模識別文本的模式

第7章 語音識別

7.1 簡介

7.2 讀取和繪製音頻數據

7.3 將音頻信號轉換為頻域

7.4 自定義參數生成音頻信號

7.5 合成音樂

7.6 提取頻域特徵

7.7 創建隱馬爾科夫模型

7.8 創建一個語音識別器

第8章 解剖時間序列和時序數據

8.1 簡介

8.2 將數據轉換為時間序列格式

8.3 切分時間序列數據

8.4 操作時間序列數據

8.5 從時間序列數據中提取統計數字

8.6 針對序列數據創建隱馬爾科夫模型

8.7 針對序列文本數據創建條件隨機場

8.8 用隱馬爾科夫模型分析股票市場數據

第9章 圖像內容分析

9.1 簡介

9.2 用OpenCV-Pyhon操作圖像

9.3 檢測邊

9.4 直方圖均衡化

9.5 檢測稜角 

9.6 檢測SIFT特徵點

9.7 創建Star特徵檢測器

9.8 利用視覺碼本和向量量化創建特徵

9.9 用極端隨機森林訓練圖像分類器

9.10 創建一個對象識別器

第10章 人臉識別

10.1 簡介

10.2 從網絡攝像頭採集和處理視頻信息

10.3 用Haar級聯創建一個人臉識別器

10.4 創建一個眼睛和鼻子檢測器

10.5 做主成分分析

10.6 做核主成分分析

10.7 做盲源分離

10.8 用局部二值模式直方圖創建一個人臉識別器

第11章 深度神經網絡

11.1 簡介

11.2 創建一個感知器

11.3 創建一個單層神經網絡

11.4 創建一個深度神經網絡

11.5 創建一個向量量化器

11.6 為序列數據分析創建一個遞歸神經網絡

11.7 在光學字符識別資料庫中將字符可視化

11.8 用神經網絡創建一個光學字符識別器

第12章 可視化數據

12.1 簡介

12.2 畫3D散點圖

12.3 畫氣泡圖

12.4 畫動態氣泡圖

12.5 畫餅圖

12.6 畫日期格式的時間序列數據

12.7 畫直方圖

12.8 可視化熱力圖

12.9 動態信號的可視化模擬

談到這本書我們不得不提到這本書的微信群閱讀計劃,《Python機器學習經典實例》正在圖靈微信技術群由@貓煞 領讀,若干讀者進行跟讀活動。喜歡這本書的小夥伴,不妨一起來閱讀這本書哦!(馬上加領讀人貓煞的微信(MOOOWOOO),入群一起閱讀這本書)。

《Python機器學習經典實例》閱讀計劃

——圖靈大數據與機器學習群(第1期)

作者:Prateek Joshi
譯者:陶俊傑,陳小莉

領讀人:貓煞

本書特色

通過實際案例的形式,講述機器學習的基礎知識並運用 Python 語言將機器學習領域常用算法加以實踐,讓讀者能夠更好地掌握相關知識點。

適合讀者

對 Python 語言語法有基本了解者即可閱讀,但更推薦熟練掌握 Python 語言且對機器學習有興趣的讀者閱讀。

答疑時間安排:每周三晚 20:00—22:00

總閱讀時長(預估):一個月(閱讀過程中敲代碼實踐)

每天閱讀用時:2小時

掃碼查看完整的閱讀計劃

如果你還沒有準備好閱讀其他圖書,圖靈機器學習方面的閱讀計劃還包括以下圖書:


《圖解機器學習》閱讀計劃

——圖靈大數據與機器學習群閱讀計劃(第1期)

作者:杉山將 譯者:許永偉

領讀人:友人A

本書特色

適合讀者

所有想學習和了解機器學習,以及剛接觸機器學習的讀者

總閱讀時間長度(預估):4周

每天閱讀用時:2小時

答疑時間安排:每周一次,每周六晚大數據與機器學習群 20:00—22:00


掃碼查看完整的閱讀計劃

《機器學習實戰》閱讀計劃

——大數據與機器學習群閱讀計劃(第1期)

作者:Peter Harrington

譯者:李銳 李鵬 曲亞東 王斌

領讀人:Allen Moore

本書特色

簡潔:更多地討論如何編碼實現機器學習算法,而儘量減少討論數學理論

實用:更多地討論如何轉化數學矩陣描述的機器學習算法可以實際工作的應用程式

趣味:更多地討論如何使用機器學習應用程式解決生活出現的有趣問題

適合讀者:需要進行數據處理,想獲取並理解數據

總閱讀時間長度(預估):5周

每天閱讀用時:2小時

答疑時間安排:每周1次,每周二晚大數據與機器學習群 20:00—22:00


掃碼查看完整的閱讀計劃

贈書活動

看目錄你對哪節更有興趣?對機器學習你有什麼想說的?留言說出你此刻的想法。

精選評論選3人贈書,截止9月7日14:00。

這裡「閱讀原文」,跳轉到京東購買《Python機器學習經典實例》。

相關焦點

  • 浪費在Excel上的時間:如何開始專家式機器學習實驗追蹤?
    圖源:unsplash實話說,筆者花在管理和追蹤機器學習實驗上的時間,比花在開發機器學習模型上的時間要多得多。筆者最開始用Excel工作表標出正在試驗的所有參數和指標、用不同顏色來編碼、手動輸入結果,等等。
  • 比Keras更好用的機器學習「模型包」:無需預處理,0代碼上手做模型
    原標題:比Keras更好用的機器學習「模型包」:無需預處理,0代碼上手做模型蕭簫發自凹非寺量子位報導|公眾號QbitAI做機器學習模型時,只是融合各種算法,就已經用光了腦細胞?於是他自己動手做了個項目igel(德語中意為「刺蝟」,但也是Init、Generate、EvaluateMachineLearning的縮寫),無需編寫任何多餘代碼,就能設計出想要的模型。也就是說,用戶只需要知道各種機器學習模型的原理,但不需要再自己動手寫代碼。相比於Keras,這個項目進一步簡化了預處理、輸入輸出的工作,就像「模型包」一樣簡便。
  • 微分方程VS機器學習,實例講解二者異同
    它是一個混沌模型,當輸入存在一點點不準確,預測結果就會大相逕庭。這就是為什麼天氣預報經常是錯誤的,天氣模擬使用超級計算機完成。愛因斯坦場方程(物理學)愛因斯坦場方程描述了重力定律,也是愛因斯坦廣義相對論的數學基礎。
  • 李沐:從頭開始介紹機器學習,眼花繚亂的機器學習應用
    如果你發現你可以這麼做,那麼你就不應該使用機器學習。對於機器學習科學家來說,幸運的是大部分應用沒有那麼容易。回到前面那個例子,想像下如何寫一個程序來回應喚醒詞例如「Okay, Google」,「Siri」,和「Alexa」。如果你在一個只有你和代碼編輯器的房間裡寫這個程序,你該怎麼辦?
  • 快速開發平臺之代碼生成器——實例分享
    上一篇文章我們分享了《如何利用快速開發平臺可視化開發表單?》,今天為大家介紹快速開發平臺的代碼生成器功能。一起來看看實例分享。快速開發平臺的代碼生成器已經把常用的開發場景做成開發模板,按照開發嚮導一步步走,在遇到有複雜業務邏輯的地方稍作修改就可以。當然XJR快速開發平臺提供了原始碼,您的開發水平比較高的話可以做深層次的擴展。
  • 算法應用|機器學習python應用,簡單機器學習項目實踐
    上一篇文章中介紹了機器學習的簡單知識,還有python中進行機器學習實踐需要的生態環境,接下來將會通過鳶尾花分類這個例子對機器學習做一個簡要的介紹。通過一步一步地實現這個項目來介紹以下內容。導入和使用python中機器學習的各個方面的類庫。
  • 李沐大神深度學習課程第一篇重磅推出:機器學習簡介
    如果你發現你可以這麼做,那麼你就不應該使用機器學習。對於機器學習科學家來說,幸運的是大部分應用沒有那麼容易。回到前面那個例子,想像下如何寫一個程序來回應喚醒詞例如「Okay, Google」,「Siri」,和「Alexa」。如果你在一個只有你和代碼編輯器的房間裡寫這個程序,你該怎麼辦?
  • 亞馬遜雲服務:重塑混合雲,布局工業領域機器學習服務
    2020年12月,一年一度的亞馬遜雲服務(AWS)年度盛會——AWS re:Invent活動線上舉行,峰會時間長達三周。這樣,開發者就不需要按業務峰值進行容量配置,而是按需擴容,相比之下可節省高達90%的成本。AWS大中華區雲服務產品管理總經理顧凡表示,目前市面上還沒有任何一款數據服務可以做到這個量級,Amazon Aurora Serverless v2整體推動了資料庫服務的演進。
  • 手把手教您Python機器學習項目
    2019年11月/ 11月更新:為每個部分添加了完整的代碼示例。2019年12月/ 12月更新:更新示例以刪除v0.22中API變化引起的警告。2020年1月更新:更新到刪除測試工具的代碼片段。如何用Python開始機器學習?
  • 深入淺出機器學習的基本原理與基礎概念
    機器學習要做的就是根據已有的訓練數據推導出描述所有數據的模型,並根據得出的模型實現對未知的測試數據的最優預測。在機器學習中,數據並非通常意義上的數量值,而是對於對象某些性質的描述。被描述的性質叫作屬性,屬性的取值稱為屬性值,不同的屬性值有序排列得到的向量就是數據,也叫實例。在文首的例子中,黃種人相貌特徵的典型屬性便包括膚色、眼睛大小、鼻子長短、顴骨高度。
  • 陳天奇|機器學習科研的十年
    我從大三開始進入交大APEX實驗室,有幸隨著戴文淵學長做機器學習,當時的我覺得「機器學習」這個名字十分高大上然後選擇了這個方向,但是做了一年之後依然摸不著頭腦,心中十分嚮往可以做科研,獨立寫論文的生活,卻總是不知道如何下手。文淵在我進實驗室的一年後去了百度。
  • Steam高贊遊戲入門機器學習!不寫代碼,人人可玩,又能吸貓,漢化版已推出
    遊戲上線至今,獲得了1400多條評價,89%的好評率,在Steam上已屬光輝戰績。遊戲怎麼玩?遊戲中,你需要一步步掌握機器學習的知識,從專家系統開始,一直到循環神經網絡,朝著喵語識別的終極目標前進。就算你是新手也不用擔心,遊戲裡面並不涉及寫代碼的環節,而是以解密遊戲的形式展現出來。只需要對各種機器學習功能模塊進行拖拽組合,就能搭建一個強大的機器學習系統 (下圖) 。但想要玩好並不簡單。要對各種模塊的運作邏輯有相應的了解。
  • Python 機器學習 Scikit-learn 完全入門指南
    而各種不同領域的開發者們,在 SciPy 的基礎上發展出許多分支版本,統一稱為 Scikits,即 SciPy 工具箱。而其中應用最廣,也是機器學習領域最知名的分支版本,就是本文的主角 Scikit-learn。
  • Python 機器學習庫 Top 10,你值得擁有!
    Keras 本質上是對 Tensorflow、Theano 等基礎框架作進一步的封裝,以提供統一的 API 來簡化神經網絡的構建與訓練。因此它不適用於生產環境。 此外,Theano 還可以用於與 Tensorflow 類似的分布式或並行環境。PyTorchPyTorch 是最大的深度學習庫,允許開發人員通過加速 GPU 執行張量計算,創建動態計算圖,並自動計算梯度。
  • 對話AWS副總裁Swami:機器學習正處在Day one,但已無處不在
    資料顯示,SageMaker是AWS CEO Andy Jassy在2017年的AWS re:Invent大會上發布的,一經推出,就得到了熱烈響應,成為應用開發領域的一支新力量,目前已在全球擁有了上萬家客戶。 據雷鋒網了解,截止目前,AWS已經推出了三個層次的機器學習雲服務,包括:AI服務、ML服務、ML框架和基礎架構。
  • Python機器學習的迷你課程(14天教學)
    您可以從CSV文件加載您自己的數據,但當您開始使用Python機器學習時,您應該在標準機器學習數據集上進行練習。你們今天的任務是熟練地將數據加載到Python中,找到並加載標準的機器學習數據集。在UCI機器學習知識庫中有許多優秀的CSV格式的標準機器學習數據集,您可以下載並使用它們進行練習。
  • 亞馬遜AI主任科學家李沐:機器學習簡介
    如果你發現可以這麼做,那麼這時就不需要使用機器學習。對於機器學習科學家來說,幸運的是大部分應用沒有那麼簡單。回到前面那個例子,想像下如何寫一個程序來回應喚醒詞,例如「Okay, Google」,「Siri」,和「Alexa」。如果在一個只有你自己和代碼編輯器的房間裡,僅使用最基本的指令編寫這個程序,你該怎麼做?不妨思考一下……這個問題非常困難。
  • 一文介紹機器學習中基本的數學符號
    在本教程中,你將學到機器學習技術描述中遇到的基本數學符號。在學完整個教程後,你會知道:算術符號,包括若干種乘法、指數、平方根以及對數數列和集合符號,包括索引、求和以及集合關係5 種當你看不明白數學符號的時候可以採用的應急方法讓我們開始學習吧!
  • 如果SMOTE和TOMEK無法改善您的機器學習模型,該用什麼方法呢?
    其中之一是類不平衡:一個類的樣本數量過多,而另一個類的樣本數量非常少。這個問題出現在許多研究領域,例如,當我們試圖診斷一種罕見的疾病或檢測欺詐交易時就會出現這個問題。在這篇文章中,我將介紹如何處理分類項目中的類不平衡問題。通常,當我們的類比例低於10/90時,我們可以說我們面臨著類不平衡問題。在某些情況下,情況可能更嚴重。
  • 揭秘拉麵背後的機器學習技術
    揭秘拉麵背後的機器學習技術 我們期待通過谷歌麵館這一互動體驗,激發更多開發者與 TensorFlow 開原始碼社區一起,用技術創造更多超乎想像的可能性,探索更非凡的交互體驗。話不多說,一起點擊 2020 Google 開發者大會官網把面拉起來!