在機器學習中,有兩種技術可以實現將物件分成不同組的功能:分類和聚類。這常常給早期實踐者帶來很多困惑。
從表面上看,分類和聚類似乎很相似。它們都使用利用給定資料集的特徵來發現模式並將實例分成不同群組的演算法。但從實際的角度來看,它們是截然不同的。
在本文中,我們將介紹每種技術、與它們相關的不同演算法、它們的應用程序,以及最重要的是它們的差異。
什麼是分類?
分類任務屬於稱為「監督學習」的問題類別。此類問題涉及開發從歷史資料中學習以對新實例進行預測的模型。
更正式地說,監督學習任務是學 亞美尼亞電話號碼列表 習函數以基於範例輸入輸出對將輸入映射到輸出的問題。因此,目標是逼近從輸入 (X) 到輸出 (y) 的映射函數 (f) — 如果您有數學背景,您可能知道這是函數逼近問題。
值得注意的是,監督學習有兩種不同的形式:迴歸和分類。
在分類問題中,學習演算法的目標是從一組特徵中逼近映射函數,以預測離散輸出(即預測圖像是貓還是狗)——我們的《Python 文本分類理解教程》 - 上演示。
有幾個問題涉及分類演算法的應用,例如:
垃圾郵件過濾。對電子郵件是否未經請求、不需要或感染病毒進行分類,以防止此類郵件到達使用者的收件匣。
人臉辨識。根據照片、影片或即時擷取的臉部特徵來識別或確認個人的身份。
客戶流失預測。您可以使用分類來預測哪些客戶可能會取消訂閱或離開您的服務,然後針對他們進行活動,希望讓他們繼續留在您的服務中。
貸款審批。確定申請人是否有資格獲得貸款的過程相當重複;分類演算法可用於根據與其財務歷史相關的各種特徵來預測是否發放貸款。
讓我們看看一些分類演算法。
分類演算法的類型
邏輯迴歸
許多人經常將邏輯迴歸誤認為迴歸演算法,這是可以理解的。從技術上講,他們並沒有錯。邏輯迴歸不執行統計分類。它所做的只是估計邏輯模型的參數。
我們之所以能夠使用邏輯迴歸進行分類,是因為插入了決策邊界來分隔類別。因此,邏輯迴歸以其最簡單的形式使用邏輯函數來對二元因變數進行建模。
Scikit-Learn 的邏輯函數
資料來源:Scikit-Learn 的 Logistic 函數
K 最近鄰 (KNN)
KNN是最簡單的機器學習演算法之一,與邏輯迴歸不同,因為您可以將它用於分類和迴歸任務。
也就是說,它是一種非參數、惰性學習演算法。這意味著 KNN 不會對樣本的特徵或所觀察到的數據是定量還是定性(非參數)做出假設,並且所有計算都會推遲到函數評估(惰性學習器)。
使用 Scikit-learn 進行最近鄰分析