首先需要引入需要的類
from sklearn.tree import decisiontreeclassifier,export_graphvizfrom sklearn.feature_extraction import dictvectorizer
from sklearn.model_selection import train_test_split然後寫入函式tree_titanic()
def tree_titanic():結果為:path="e:\data\\titanic.csv" #注意此處『\t』會被認為是特殊字元,需要加兩個『\』
titanic=pd.read_csv(path)
print("type(titanic):",type(titanic))
#1.處理特徵值和目標值
x=titanic[["pclass","age","***"]]#注意此處dataframe選用多個列的時候,要用兩個中括號「」
print(x)
y=titanic["survived"]
print(y)
# print("x1:",x,type(x))
#2.特徵值處理
# (1)缺失值處理
x["age"].fillna(x["age"].mean(), inplace=true)#注意此處我剛開始時犯了乙個錯誤,好長時間才找到,是mean(),而不是mean
# print("x2:", x)
# #(2)轉化成字典
x=x.to_dict(orient="records")
print("x3:", x)
# #3.資料集劃分
x_train, x_test, y_train, y_test=train_test_split(x, y, random_state=22)
# print(x_train)
# #4.字典特徵抽取
transfer=dictvectorizer()
x_train= transfer.fit_transform(x_train)
x_test=transfer.transform(x_test)
#5.決策樹預估器
estimator=decisiontreeclassifier(criterion="entropy")
estimator.fit(x_train,y_train)
#6.模型評估
#(1)方法1:直接比對真實值和**值
y_predict = estimator.predict(x_test)
print("y_predict:\n", y_predict)
print("直接比對真實值和**值:\n", y_test == y_predict)
# (2).計算準確率
score = estimator.score(x_test, y_test)
print("準確率為:\n", score)
#7.視覺化決策樹
export_graphviz(estimator, out_file="titanic_tree.dot", feature_names=transfer.get_feature_names())
return none
機器學習 決策樹
一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...
機器學習 決策樹
我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...
機器學習 決策樹
一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...