1. 程式人生 > >Python機器學習之梯度提升樹

Python機器學習之梯度提升樹

pri () 糾正 ensemble depth del gbrt 1.5 cer

#和隨機森林一樣,基於決策樹,采用連續的方式構建樹,深度很小max_depth<5.重要的參數n_estimate和learning_rate,這兩個參數的y作用在於對模型過擬合化得調整,從而提高模型得泛化能力。

from sklearn.ensemble import GradientBoostingClassifier

from sklearn.datasets import load_breast_cancer

from sklearn.model_selection import train_test_split

cancer=load_breast_cancer()

x_train,x_test,y_train,y_test=train_test_split(cancer.data,cancer.target,random_state=0)

gbrt=GradientBoostingClassifier()#模型不做參數調整

gbrt.fit(x_train,y_train)

print(gbrt.score(x_train,y_train))

print(gbrt.score(x_test,y_test))

#對模型做預剪枝

gbrt=GradientBoostingClassifier(n_estimate=100,learning_rate=0.01)

#n_estimate主要控制樹的數量,learning_rate控制錯誤的糾正度改參數越小模型越復雜

Python機器學習之梯度提升樹