0. Introdução
Florestas profundas: Combinando árvores de decisão e aprendizado profundo, com muito menos hiperparâmetros do que redes neurais profundas e cuja complexidade do modelo pode ser determinada automaticamente de maneira dependente de dados. Pode ser usado para classificação e regressão.
1. Instalação
pip install deep-forest
2. Carregar dados
# Deep forest 要求输入的数据是2D Numpy array
# 数据shape格式(n_samples, n_features)
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
X, y = load_digits(return_X_y=True)
# 训练数据在前,测试数据在后
X_train, X_test, y_train, y_test = train_test_split(X, y)
3. Definição do modelo
O modelo de floresta profunda fornece modelos de classificação e regressão
Modelo de classificação: CascadeForestClassifier
Modelo de regressão: CascadeForestRegressor
# 深度森林的一个关键优势是其依赖于数据集的自适应模型复杂性。
# 超参数的默认设置使其能够在所有数据集上表现得相当好。
from deepforest import CascadeForestClassifier
model = CascadeForestClassifier()
4. Treinamento e Avaliação
# Deep forest提供Scikit-Learn用于训练和评价的APIs
# 给出训练数据X_train和标签数据y_train
model.fit(X_train, y_train)
# 一旦模型训练完成,调用predict()进行模型预测
from sklearn.metrics import accuracy_score
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred) * 100 # classification accuracy
5. Salve e carregue
# 保存模型
model.save(MODEL_DIR) # MODEL_DIR:保存模型的路径
new_model = CascadeForestClassifier()
new_model.load(MODEL_DIR) # 加载现有模型
# 注意:new_model和model不完全相同,只有model的关键信息被保存
6. Exemplos
# 分类的例子
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from deepforest import CascadeForestClassifier
# Load data
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y)
model = CascadeForestClassifier()
# Train and evaluate
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
acc = accuracy_score(y_test, y_pred) * 100
print("\nTesting Accuracy: {:.3f} %".format(acc))
# Save the model
model.save("model")
Link de aprendizado: