1. 程式人生 > >分類與監督學習

分類與監督學習

kmean set 訓練數據 pre 算法 建模 ive 樸素貝葉斯 標簽

1.理解分類與監督學習、聚類與無監督學習。

簡述分類與聚類的聯系與區別。

分類指監督學習,就是按照某種標準給對象貼標簽,再根據標簽來區分歸類。

聚類是指事先沒有“標簽”而通過某種成團分析找出事物之間存在聚集性原因的過程。指無監督學習,是指根據“物以類聚”的原理,將本身沒有類別的樣本聚集成不同的組,這樣的一組數據對象的集合叫做簇,並且對每一個這樣的簇進行描述的過程。

區別是,分類是事先定義好類別 ,聚類則沒有事先預定的類別。

簡述什麽是監督學習與無監督學習。

監督學習指通過已有的訓練樣本來訓練,從而得到一個最優模型,再利用這個模型將所有新的數據樣本映射為相應的輸出結果,對輸出結果進行簡單的判斷從而實現分類的目的,那麽這個最優模型也就具有了對未知數據進行分類的能力。

無監督學習則是在我們事先沒有任何訓練樣本,需要直接對數據進行建模。我們只知道一些特征,並不知道答案,但不同實例具有一定的相似性,然後把那些相似的聚集在一起

2.樸素貝葉斯分類算法 實例

利用關於心臟情患者的臨床數據集,建立樸素貝葉斯分類模型。

有六個分類變量(分類因子):性別,年齡、KILLP評分、飲酒、吸煙、住院天數

目標分類變量疾病:–心梗–不穩定性心絞痛

新的實例:–(性別=‘男’,年齡<70, KILLP=‘I‘,飲酒=‘是’,吸煙≈‘是”,住院天數<7)

最可能是哪個疾病?

上傳演算過程。技術分享圖片

所以最可能得心梗。

3.編程實現樸素貝葉斯分類算法

利用訓練數據集,建立分類模型。

輸入待分類項,輸出分類結果。

可以心臟情患者的臨床數據為例,但要對數據預處理。

from sklearn.datasets import load_iris
iris = load_iris()
print(iris.keys())
  
from sklearn.cluster import KMeans
est = KMeans(n_clusters=4)#聚成四類
est.fit(iris.data)#計算
print(est.labels_)#聚類結果
  
print(iris.target)
  
from sklearn.naive_bayes import GaussianNB
gnb 
= GaussianNB()#建立模型 gnb.fit(iris.data,iris.target)#訓練 print(gnb.predict([iris.data[100]]))#預測結果 print(gnb.predict([[4.8,1.2,3.8,1.4]]))

技術分享圖片

分類與監督學習