線性模型
決策樹
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
data = load_iris()
x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2)#劃分訓練集和驗證集 比例4:1
classifier=DecisionTreeClassifier(max_depth=4) #決策樹最大深度,默認使用基尼指數
classifier.fit(x_train, y_train) #訓練
pred =classifier.predict(x_test) #預測 返回預測值
score =classifier.score(x_test, y_test) #用測試集測試正確率
print(pred, y_test)
print(score)
iris是sklearn中自帶的機器學習數據集,非常容易分類。通過load_iris()函數可以加載數據集,返回的是一個對象,對象包含data,target,feature_names,target_names,DESCR,filename,分別對應 屬性值,數據標籤,每列屬性的名字,標籤類別名,數據集描述,數據文件所在位置。
基尼值:從某屬性所有樣本中隨機抽出兩個,兩個樣本標籤不一樣的概率。顯然,基尼值越小,該屬性數據集的純度越大。
基尼指數:屬性a的基尼指數定義爲:
所以,決策樹在某個節點時,應選擇基尼指數最小的屬性劃分該節點。
神經網絡
支持向量機
貝葉斯分類
聚類
參考
【1】周志華 機器學習
【2】https://github.com/pgmpy/pgmpy_notebook/blob/master/notebooks/1.%20Introduction%20to%20Probabilistic%20Graphical%20Models.ipynb