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,分別對應 屬性值,資料標籤,每列屬性的名字,標籤類別名,資料集描述,資料檔案所在位置。
基尼值:從某屬性所有樣本中隨機抽出兩個,兩個樣本標籤不一樣的概率。顯然,基尼值越小,該屬性資料集的純度越大。
g in
i(d)
=1−∑
k=1∣
y∣pk
2gini(d)=1-\sum^_p^2_k
gini(d
)=1−
∑k=1
∣y∣
pk2
基尼指數:屬性a的基尼指數定義為:
g in
i_in
dex(
d,a)
=∑v=
1v∣d
v∣dg
ini(
dv
)gini\_index(d,a)=\sum^_\dfracgini(d^v)
gini_i
ndex
(d,a
)=∑v
=1v
d∣dv
∣gi
ni(d
v)所以,決策樹在某個節點時,應選擇基尼指數最小的屬性劃分該節點。
周志華 機器學習
K均值 KMeans 演算法原理機器python實現
根據k 均值演算法的工作流程,我們可以寫出偽 建立k個點作為初始質心 通常是隨機選擇 當任意乙個點的簇分配結果發生改變時 對資料集中的每個點 對每個質心 計算質心與資料點之間的距離 將資料點分配到據其最近的簇 對每個簇,計算簇中所有點的均值並將均值作為新的質心 直到簇不再發生變化或者達到最大迭代次數...
Apache Mahout中的機器學習演算法集
apache mahout 是 apachesoftware foundation asf 旗下的乙個開源專案,提供一些可擴充套件的機器學習領域經典演算法的實現,旨在幫助開發人員更加方便快捷地建立智慧型應用程式,並且,在 mahout 的最近版本中還加入了對apache hadoop 的支援,使這些...
機器學習中的KNN演算法
關注菜鳥解說大資料 一.knn的簡單介紹 knn演算法的核心思想是如果乙個樣本在特徵空間中的k個最相鄰的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別,並具有這個類別上樣本的特性。該方法在確定分類決策上只依據最鄰近的乙個或者幾個樣本的類別來決定待分樣本所屬的類別。機器學習入門的第乙個演算法是k...