Machine-learning-with-python-stochastic-gradient-boosting
提供:Dev Guides
ML-確率的勾配ブースティング
勾配ブースティングマシンとも呼ばれます。 次のPythonレシピでは、Pima Indians糖尿病データセットの_sklearn_の GradientBoostingClassifier クラスを使用して、分類用の確率的勾配ブースティングアンサンブルモデルを構築します。
まず、次のように必要なパッケージをインポートします-
from pandas import read_csv
from sklearn.model_selection import KFold
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import GradientBoostingClassifier
さて、前の例のようにPima糖尿病データセットをロードする必要があります-
path = r"C:\pima-indians-diabetes.csv"
headernames = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names = headernames)
array = data.values
X = array[:,0:8]
Y = array[:,8]
次に、次のように10倍クロス検証の入力を与えます-
seed = 5
kfold = KFold(n_splits = 10, random_state = seed)
構築するツリーの数を指定する必要があります。 ここでは、5つの特徴から選択された分割点で150本の木を構築しています-
num_trees = 50
次に、次のスクリプトの助けを借りてモデルを構築します-
model = GradientBoostingClassifier(n_estimators = num_trees, random_state = seed)
次のように結果を計算して印刷します-
results = cross_val_score(model, X, Y, cv = kfold)
print(results.mean())
出力
0.7746582365003418
上記の出力は、勾配ブースティング分類器アンサンブルモデルの精度が約77.5%であることを示しています。