隨機森林的使用

from sklearn.feature_extraction import DictVectorizer from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer from sklearn.preprocessing import MinMaxScaler,StandardScaler from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier,export_graphviz import jieba
import  pandas as pd

調用方法來實現:ios

def decision(): #獲取數據
    taitan=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt') #獲取特徵值
    x=taitan[['pclass','age','sex']] #獲取目標值
    y=taitan[['survived']] #缺失值的處理 用年齡的平均值填補
    x['age'].fillna(x['age'].mean(),inplace=True) #分割數據集到訓練集和測試集
    x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25) #對數據進行one_hot編碼
    dict=DictVectorizer(sparse=False) x_train = dict.fit_transform(x_train.to_dict(orient='records')) print(dict.get_feature_names()) x_test = dict.fit_transform(x_test.to_dict(orient='records')) #實例化一個決策樹
    dec=DecisionTreeClassifier() dec.fit(x_train,y_train) print("預測準確率:",dec.score(x_test,y_test)) export_graphviz(dec,out_file='./tree.dot',feature_names=['年齡','pclass=1st', 'pclass=2nd', 'pclass=3rd', '女人', '男人']) # print(x_train)

if __name__ == '__main__': decision()

 若是想查看決策樹的結構,可使用可視化工具將其轉化爲圖片 graphviz工具

win安裝直接exe就好了,安裝完成,須要將bin目錄配置到path環境變量中去。便可執行dot命令。測試

dot  -Tpng tree.dot -o tree.png    #將dot文件轉爲png格式的圖片  必須進入到指定目錄下去操做
相關文章
相關標籤/搜索