from sklearn.datasets import make_classification from GCForest import * from sklearn.utils import shuffle import numpy as np X, y1 = make_classification(n_samples=10, n_features=100, n_informative=30, n_classes=3, random_state=1) # 生成分類數據集,10個樣本,100個特徵,30個有效特徵,3種分類 y2 = shuffle(y1, random_state=1) # 分類結果隨機排序 y3 = shuffle(y1, random_state=2) # 分類結果隨機排序 Y = np.vstack((y1, y2, y3)).T # 多種分類結果組合成 print('多輸出多分類器真實輸出分類:\n',Y) n_samples, n_features = X.shape # 10,100 n_outputs = Y.shape[1] # 3個輸出 n_classes = 3 # 每種輸出有3種分類 print(X.shape) forest1 = gcForest(shape_1X=100, window=2, tolerance=0.0) # 生成隨機森林多分類器 forest2 = gcForest(shape_1X=100, window=2, tolerance=0.0) # 生成隨機森林多分類器 forest3 = gcForest(shape_1X=100, window=2, tolerance=0.0) # 生成隨機森林多分類器 forest1.fit(X, Y[:, 0]) pred1 = forest1.predict(X) forest2.fit(X, Y[:, 1]) pred2 = forest2.predict(X) forest3.fit(X, Y[:, 2]) pred3 = forest3.predict(X) result = np.vstack((pred1, pred2, pred3)) print(result.T)
多輸出深度森林(gcForest)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.