《Python機器學習基礎教程》處理文字資料

2021-09-12 11:58:20 字數 1447 閱讀 6225

《python機器學習基礎教程》筆記

一、文字資料中的資料型別

一般有如下四種型別:

①分類資料:來自固定列表中的資料(例如,紅、黃、藍)。

②可以在語義上對映為類別的自由字串:表達上自由發揮,但歸根結底能與固定的類別對應(例如,傾國傾城的烈焰紅色——紅)。

二、將文字資料表示為詞袋

對於文件語料庫,計算詞袋表示包括三個步驟:

①分詞:將每個文件劃分為出現在其中的單詞。

②構建詞表:收集乙個詞表,裡面包含出現在任意文件中的所有詞,並對它們進行編號。

③編碼:對於每個文件,計算詞表中每個單詞在該文件**現的頻次。

詞袋表示儲存在乙個scipy稀疏矩陣中,這種資料格式只儲存非零元素。

三、停用詞

有些單詞因為出現次數太多以致於沒有資訊量,刪除沒有資訊量的單詞有兩種主要方法:

①使用特定語言的停用詞列表。

②捨棄那些出現過於頻繁的單詞。

scikit-learn的feature_extraction.text模組中提供了英語停用詞的內建列表。

四、用tf-idf縮放資料

按照預計的特徵資訊量大小來縮放特徵,而不是捨棄那些認為不重要的特徵,最常見的做法就是使用詞頻-逆向文件頻率方法。這一方法對某個特定文件中經常出現的術語給予很高的權重,但對在語料庫的許多文件中都經常出現的術語給予的權重卻不高。

scikit-learn在兩個類中實現了tf-idf方法:tfidftransformer和tfidfvecorizer,前者接收countvectorizer生成的稀疏矩陣並將其變換,後者接受文字資料並完成詞袋特徵提取與tf-idf變換。單詞w在文件d中的tf-idf分數計算公式為:

其中n是訓練集中的文件數量,

tf-idf是一種無監督技術。

tf-idf較小的特徵要麼是在許多文件裡都很常用,要麼就是很少使用。

五、n元分詞

使用詞袋表示的主要缺點之一是完全捨棄了單詞順序,為了將單詞順序考慮進來,引入了n元分詞概念,不僅考慮單一詞例的計數,而且還考慮相鄰的兩個或三個詞例的計數。

可以通過改變scikit-learn中的countvectorizer或tfidfvectorizer的ngram_range引數來改變作為特徵的詞例範圍。ngram_range引數是乙個元組,包含要考慮的詞例序列的最小長度和最大長度。

六、高階分詞——詞幹提取與詞形還原

詞幹提取:使用基於規則的啟發法來實現(例如刪除常見的字尾)。

詞性還原:使用由已知單詞形式組成的字典,並且考慮了單詞在句子中的作用。

一般來說,詞形還原比詞幹提取更複雜。

Python機器學習基礎教程

本書是機器學習入門書,以python語言介紹。主要內容包括 機器學習的基本概念及其應用 實踐中最常用的機器學習演算法以及這些演算法的優缺點 在機器學習中待處理資料的呈現方式的重要性,以及應重點關注資料的哪些方面 模型評估和調參的高階方法,重點講解交叉驗證和網格搜尋 管道的概念 如何將前面各章的方法應...

《Python機器學習基礎教程》學習筆記 2

第2章 監督學習 利用graphviz開啟繪製的dot格式決策圖出錯,有兩個坑需注意 1 pip install graphviz庫還不夠,還要安裝graphviz軟體,位址 2 強烈建議安裝位址為c盤,安裝後新增軟體所在資料夾 bin 位址到path環境。之前安裝到其他盤,執行一直出錯,make ...

Python機器學習基礎教程學習筆記(一)

演算法 k近鄰法 型別 分類問題 獲取鳶尾花資料集 from sklearn.datasets import load iris iris load iris 列印資料集 print iris 資料集描述 print iris.descr 資料特徵 print iris data print iri...