多輸出深度森林(gcForest)

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)



發佈了53 篇原創文章 · 獲贊 19 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章