內容介紹
基本信息
書名: | Python機器學習及實踐-從零開始通往Kaggle競賽之路 |
作者: | 範淼 | 開本: | |
YJ: | 49 | 頁數: | |
現價: | 見1;CY =CY部 | 齣版時間 | 2016-10 |
書號: | 9787302442875 | 印刷時間: | |
齣版社: | 清華大學齣版社 | 版次: | |
商品類型: | 正版圖書 | 印次: | |
內容提要 作者簡介 範淼 :清華大學計算機係人工智能研究所博士,研究方嚮涉及機器學習與自然語言處理技術。2015年3月受國傢留學基金委公派至美國紐約大學計算機係聯閤培養。攻讀博士期間,於所在研究領域內多個重要GJ會議與期刊上發錶論文近20篇。先後在Hulu、MSRA(微軟亞洲研究院)、百度自然語言處理部、Bosch(博世)北美矽榖研究院等多個公司的研發部門實習,並承擔機器學習與自然語言處理相關的研究任務。
李超: 工學博士,清華大學副研究員,信息技術研究院Web 與軟件技術研究中心副主任。中國計算機學會信息存儲技術專委會WY、中國計算機學會GJ會員、全國文獻影像技術標準化技術WY會(SAC/TC86/SC6)WY、IEEE 會員。研究領域包括海量數據存儲、組織與管理、分析,及其在數字圖書館/檔案館/教育/醫療/金融等領域的應用。主持及參與多項國傢973、863、科技支撐、自然基金等縱嚮項目及橫嚮閤作項目。已發錶學術論文50 餘篇、獲得授權發明專利10 餘項。
精彩導讀 D3章 進階篇 在D2章中,我們嚮讀者介紹瞭大量經典的機器學習模型,並且使用Python編程語言分析這些模型在許多不同現實數據上的性能錶現。然而,細心的讀者在深入研究這些數據或者查閱Scikit-learn的文檔之後J會發現: 所有我們在D2章中使用過的數據幾乎都經過瞭規範化處理,而且模型也大多隻是采用瞭默認的初始化配置。換言之,盡管我們可以使用經過處理之後的數據,在默認配置下學習到一套用以擬閤這些數據的參數,並且使用這些參數和默認配置取得一些看似良好的性能錶現;但是我們仍然無法迴答幾個Z為關鍵的問題: 實際研究和工作中接觸到的數據都是這樣規整的嗎?難道這些默認配置J是ZJ的麼?我們的模型性能是否還有提升的空間?本章“3.1模型使用技巧”節將會幫助讀者朋友解答上述疑問。閱讀完這一節,相信各位讀者朋友J會掌握如何通過抽取或者篩選數據特徵、優化模型配置,進一步提升經典模型的性能錶現。 然而,隨著近些年機器學習研究與應用的快速發展,經典模型漸漸無法滿足日益增長的數據量和復雜的數據分析需求。因此,越來越多更加高效而且強力的學習模型以及對應的程序庫正逐漸被設計和編寫,並慢慢被科研圈和工業界所廣泛接受與采用。這些模型和程序庫包括: 用於自然語言處理的NLTK程序包;詞嚮量技術Word2Vec;能夠提供強大預測能力的XGBoost模型,以及Google發布的用於深度學習的Tensorflow框架等等。更加令人振奮的是,上述這些Z為流行的程序庫和模型, 不但提供瞭Python的編程接口API,而且有些成為Python編程語言的工具包,更是方便瞭我們後續的學習和使用。因此,在“3.2流行庫/模型實踐”節將會帶領各位讀者一同領略這些時下Z為流行的程序庫和新模型的奧妙。
3.1模型實用及技巧 這一節將嚮讀者朋友傳授一係列更加偏嚮於實戰的模型使用技巧。相信各位讀者在D2章中品味瞭多個經典的機器學習模型之後,J會發現: 一旦我們確定使用某個模型,本書所提供的程序庫J可以幫助我們從標準的訓練數據中,依靠默認的配置學習到模型所需要的參數(Parameters);接下來,我們便可以利用這組得來的參數指導模型在測試數據集上進行預測,進而對模型的錶現性能進行評價。 但是,這套方案並不能保證: (1) 所有用於訓練的數據特徵都是Z好的;(2) 學習得到的參數一定是Z優的;(3) 默認配置下的模型總是ZJ的。也J是說,我們可以從多個角度對在前麵所使用過的模型進行性能提升。本節將嚮大傢介紹多種提升模型性能的方式,包括如何預處理數據、控製參數訓練以及優化模型配置等方法。 3.1.1特徵提升 早期機器學習的研究與應用,受模型種類和運算能力的限製。因此,大部分研發人員把更多的精力放在對數據的預處理上。他們期望通過對數據特徵的抽取或者篩選來達到提升模型性能的目的。所謂特徵抽取,J是逐條將原始數據轉化為特徵嚮量的形式,這個過程同時涉及對數據特徵的量化錶示;而特徵篩選則更進一步,在高維度、已量化的特徵嚮量中選擇對指定任務更有效的特徵組閤,進一步提升模型性能。 3.1.1.1特徵抽取 原始數據的種類有很多種,除瞭數字化的信號數據(聲紋、圖像),還有大量符號化的文本。然而,我們無法直接將符號化的文字本身用於計算任務,而是需要通過某些處理手段,預先將文本量化為特徵嚮量。 有些用符號錶示的數據特徵已經相對結構化,並且以字典這種數據結構進行存儲。這時,我們使用DictVectorizer對特徵進行抽取和嚮量化。比如下麵的代碼55。
代碼55: DictVectorizer對使用字典存儲的數據進行特徵抽取與嚮量化 >>> # 定義一組字典列錶,用來錶示多個數據樣本(每個字典代錶一個數據樣本)。 >>>measurements= [{'city': 'Dubai', 'temperature': 33.}, {'city': 'London', 'temperature': 12.}, {'city': 'San Fransisco', 'temperature': 18.}] >>> # 從sklearn.feature_extraction 導入 DictVectorizer >>>from sklearn.feature_extraction import DictVectorizer >>> # 初始化DictVectorizer特徵抽取器 >>>vec=DictVectorizer() >>> # 輸齣轉化之後的特徵矩陣。 >>>print vec.fit_transform(measurements).toarray() >>> # 輸齣各個維度的特徵含義。 >>>print vec.get_feature_names()[[1. 0 0.33] [0. 1. 0.12.] [0. 0. 1.18.]] ['city=Dubai', 'city=London', 'city=San Fransisco', 'temperature']
從代碼55的輸齣可以看到: 在特徵嚮量化的過程中,DictVectorizer對於類彆型(Categorical)與數值型(Numerical)特徵的處理方式有很大差異。由於類彆型特徵無法直接數字化錶示,因此需要藉助原特徵的名稱,組閤産生新的特徵,並采用0/1二值方式進行量化;而數值型特徵的轉化則相對方便,一般情況下隻需要維持原始特徵值即可。 另外一些文本數據則錶現得更為原始,幾乎沒有使用特殊的數據結構進行存儲,隻是一係列字符串。我們處理這些數據,比較常用的文本特徵錶示方法為詞袋法(Bag of Words): 顧名思義,不考慮詞語齣現的順序,隻是將訓練文本中的每個齣現過的詞匯單D視作一列特徵。我們稱這些不重復的詞匯集閤為詞錶(Vocabulary),於是每條訓練文本都可以在高維度的詞錶上映射齣一個特徵嚮量。而特徵數值的常見計算方式有兩種,分彆是: CountVectorizer和TfidfVectorizer。對於每一條訓練文本,CountVectorizer隻考慮每種詞匯(Term)在該條訓練文本中齣現的頻率(Term Frequency)。而TfidfVectorizer除瞭考量某一詞匯在D前文本中齣現的頻率(Term Frequency)之外,同時關注包含這個詞匯的文本條數的倒數(Inverse Document Frequency)。相比之下,訓練文本的條目越多,TfidfVectorizer這種特徵量化方式J更有優勢。因為我們計算詞頻(Term Frequency)的目的在於找齣對所在文本的含義更有貢獻的重要詞匯。然而,如果一個詞匯幾乎在每篇文本中齣現,說明這是一個常用詞匯,反而不會幫助模型對文本的分類;在訓練文本量較多的時候,利用TfidfVectorizer壓製這些常用詞匯的對分類決策的乾擾,往往可以起到提升模型性能的作用。 我們通常稱這些在每條文本中都齣現的常用詞匯為停用詞(Stop Words),如英文中的the、a等。這些停用詞在文本特徵抽取中經常以黑名單的方式過濾掉,並且用來提高模型的性能錶現。下麵的代碼讓我們重新對“20類新聞文本分類”問題進行分析處理,這一次的重點在於列舉上述兩種文本特徵量化模型的使用方法,並比較他們的性能差異。 ……
目錄
●D1章簡介篇1
1.1機器學習綜述1
1.1.1任務3
1.1.2經驗5
1.1.3性能5
1.2Python編程庫8
1.2.1為什麼使用Python8
1.2.2Python機器學習的優勢9
1.2.3NumPy & SciPy10
1.2.4Matplotlib11
1.2.5Scikit�瞝earn11
1.2.6Pandas11
1.2.7Anaconda12
1.3Python環境配置12
1.3.1Windows係統環境12
1.3.2Mac OS 係統環境17
1.4Python編程基礎18
1.4.1Python基本語法19
1.4.2Python 數據類型20
1.4.3Python 數據運算22
1.4.4Python 流程控製26
1.4.5Python 函數(模塊)設計28
1.4.6Python 編程庫(包)的導入29
1.4.7Python 基礎綜閤實踐30
1.5章末小結33〖1〗Python機器學習及實踐〖1〗目錄●D2章基礎篇34
2.1監督學習經典模型34
2.1.1分類學習35
2.1.2迴歸預測64
2.2無監督學習經典模型81
2.2.1數據聚類81
2.2.2特徵降維91
2.3章末小結97
●D3章進階篇98
3.1模型實用技巧98
3.1.1特徵提升99
3.1.2模型正則化111
3.1.3模型檢驗121
3.1.4超參數搜索122
3.2流行庫/模型實踐129
3.2.1自然語言處理包(NLTK)131
3.2.2詞嚮量(Word2Vec)技術133
3.2.3XGBoost模型138
3.2.4Tensorflow框架140
3.3章末小結152
●D4章實戰篇153
4.1Kaggle平颱簡介153
4.2Titanic罹難乘客預測157
4.3IMDB影評得分估計165
4.4MNIST手寫體數字圖片識彆174
4.5章末小結180
●後記181
●參考文獻182
目錄
。。。。。。。。。。
Python機器學習及實踐-從零開始通往Kaggle競賽之路 下載 mobi epub pdf txt 電子書