906
汽車大全
機器學習實戰(Machine Learning in Action)筆記--Chapter1:機器學習基礎
Part1 分類
監督學習一般使用兩種類型的目標變量:標稱型(主要用於分類)、數值型(主要用於回歸)。
非均衡分類問題
第1章 機器學習基礎
專家係統
訓練樣本、特征、目標變量(分類問題中為類別)
訓練數據和測試數據
知識表示
- 監督學習:分類、回歸
- 無監督學習
- 將數據集合分成由類似的對象組成的多個類的過程被稱為聚類
- 將尋找描述數據統計值的過程稱之為密度估計
- 監督學習的用途:k-近鄰算法、樸素貝葉斯算法、支持向量機、決策樹、線性回歸、局部加權線性回歸、Ridge回歸、Lasso最小回歸係數估計
- 無監督學習的用途:K-均值、DBSCAN、最大期望算法、Parzen窗設計
如何選擇合適的算法
- 使用機器學習算法的目的,想要算法完成何種任務,比如是預測明天下雨的概率還是對投票者按照興趣分組;
- 需要分析或收集的數據是什麼
首先考慮使用機器學習算法的目的。如果想要預測目標變量的值,則可以選擇監督學習算法,否則可以選擇無監督學習算法。確定選擇監督學習算法之後,需要進一步確定目標變量類型,如果目標變量為離散型,則可以選擇分類算法;如果目標變量是連續型的數值,則需要選擇回歸算法。
如果不想預測目標變量的值,則可以選擇無監督學習算法。進一步分析是否需要將數據劃分為離散的組。如果這是唯一的需求,則使用聚類算法;如果還需要估計數據與每個分組的相似程度,則需要使用密度估計算法。
其次需要考慮的是數據問題,應該充分了解數據,對實際數據了解得越充分,越容易創建符合實際需求的應用程序。主要應該了解數據的以下特性:特征值是離散型變量還是連續型變量,特征值中是否存在缺失的值,何種原因造成缺失值,數據中是否存在異常值,某個特征發生的頻率如何(是否罕見得如同海底撈針)等等。充分了解上麵提到的這些數據特性可以縮短選擇機器學習算法的時間。
一般來說發現最好算法的關鍵環節是反複試錯的迭代過程。
開發機器學習應用程序的步驟
(1)收集數據
(2)準備輸入數據
(3)分析輸入數據
(4)訓練算法
(5)算法測試
(6)使用算法
Python語言的優勢
(1)Python的語法清晰
(2)易於操作純文本文件
(3)使用廣泛,存在大量的開發文檔
- SciPy和NumPy等許多科學函數庫都實現了向量和矩陣操作。
- Python的科學工具可以與繪圖工具Matplotlib協同工作。Matplotlib可以繪製2D、3D圖形,也可以處理科學研究中經常使用到的圖形。
- Python開發環境還提供了交互式Shell環境,允許用戶開發程序時查看和檢測程序內容。
- Python開發環境將來還會集成Pylab模塊,將NumPy、SciPy和Matplotlib合並為一個開發環境。
Python語言唯一的不足是性能問題。
Numpy函數庫基礎
from num import * #將NumPy函數庫中的所有模塊引入當前的命名空間
random.rand(4,4) #構造一個4*4的隨機數組
randMat = mat(random.rand(4,4) #調用mat()函數將數組轉化為矩陣
randMat.I #矩陣求逆
invRandMat = randMat.I
randMat*invRandMat #結果應該是單位矩陣
myEye = randMat*invRandMat
myEye - eye(4) #eye(4)創建4*4的單位矩陣
本係列筆記所涉及的知識、數據等信息的版權歸原書作者所有,請購買正版圖書。O(∩_∩)O謝謝~
參考資料:機器學習實戰
最後更新:2017-07-25 17:02:56