Browse Source

集成学习

yufeng0528 4 years ago
parent
commit
b68fea506d
2 changed files with 40 additions and 0 deletions
  1. 20 0
      integr/ada_train.py
  2. 20 0
      integr/gbdt_train.py

+ 20 - 0
integr/ada_train.py

@@ -0,0 +1,20 @@
1
+
2
+# -*- encoding:utf-8 -*-
3
+from sklearn.tree import DecisionTreeClassifier
4
+from sklearn.ensemble import RandomForestClassifier
5
+from sklearn.model_selection import train_test_split
6
+from sklearn.ensemble import AdaBoostClassifier
7
+
8
+from sklearn.datasets import load_wine
9
+wine = load_wine()
10
+Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)
11
+
12
+bdt1 = AdaBoostClassifier(DecisionTreeClassifier(max_depth=2, min_samples_split=20, min_samples_leaf=5),n_estimators=2)
13
+bdt1.fit(Xtrain, Ytrain)
14
+print("bdt1",bdt1.score(Xtest,Ytest))
15
+
16
+#分类器越多效果越好
17
+bdt2 = AdaBoostClassifier(DecisionTreeClassifier(max_depth=2, min_samples_split=20, min_samples_leaf=5),n_estimators=30)
18
+bdt2.fit(Xtrain, Ytrain)
19
+print("bdt2",bdt2.score(Xtest,Ytest))
20
+

+ 20 - 0
integr/gbdt_train.py

@@ -0,0 +1,20 @@
1
+#coding=utf-8
2
+#coding:utf-8
3
+#-*- coding:utf-8 -*-
4
+ 
5
+import numpy as np
6
+from sklearn.ensemble import GradientBoostingClassifier
7
+from sklearn.model_selection import train_test_split
8
+from sklearn.datasets import load_wine
9
+wine = load_wine()
10
+Xtrain, Xtest, Ytrain, Ytest = train_test_split(wine.data,wine.target,test_size=0.3)
11
+#print (X,y)
12
+ 
13
+#默认参数
14
+#Accuracy : 0.9856
15
+#AUC Score (Train): 0.862264
16
+gbm1 = GradientBoostingClassifier( n_estimators=500,max_depth=10,max_features='sqrt', random_state=10)
17
+gbm1.fit(Xtrain,Ytrain)
18
+print("gbdt1",gbm1.score(Xtest,Ytest))
19
+ 
20
+