机器学习实战-决策树-22
生活随笔
收集整理的這篇文章主要介紹了
机器学习实战-决策树-22
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
機器學習實戰-決策樹-葉子分類
import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as pltfrom sklearn.preprocessing import LabelEncoder from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import GridSearchCV train = pd.read_csv('train.csv') train.head() train.shape # 葉子類別數 len(train.species.unique())
Data Preparation
建模分析
tree = DecisionTreeClassifier() tree.fit(x_train, y_train)
模型優化
決策樹-動物分類
import pandas as pd import numpy as np # pip install missingno import missingno as msno import seaborn as sns import matplotlib.pyplot as plt from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import GridSearchCV data = pd.read_csv('zoo.csv') data.head() # 查看數據形狀 data.shape # 查看數據類型分布 data.dtypes data.describe() # 查看數據缺失情況 p=msno.bar(data) # 畫熱力圖,數值為兩個變量之間的相關系數 plt.figure(figsize=(20,20)) p=sns.heatmap(data.corr(), annot=True, annot_kws = { 'fontsize' : 15 },square=True) # 查看類別分布 pd.value_counts(data["class_type"]) # 獲取訓練數據和標簽 x_data = data.drop(['animal_name', 'class_type'], axis=1) y_data = data['class_type'] from sklearn.model_selection import train_test_split # 切分數據集,stratify=y表示切分后訓練集和測試集中的數據類型的比例跟切分前y中的比例一致 # 比如切分前y中0和1的比例為1:2,切分后y_train和y_test中0和1的比例也都是1:2 x_train,x_test,y_train,y_test = train_test_split(x_data, y_data, test_size=0.3, stratify=y_data) tree = DecisionTreeClassifier() tree.fit(x_train, y_train) tree.score(x_test, y_test)
模型優化
總結
以上是生活随笔為你收集整理的机器学习实战-决策树-22的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习实战-神经网络-21
- 下一篇: 机器学习实战-集成学习-23