【发布时间】:2021-07-10 17:19:41
【问题描述】:
晚上好,假设我们有使用以下代码生成的人工数据
import numpy as np
from sklearn.datasets import make_classification
X ,y =make_classification(n_samples=5000,n_features=10,n_informative=3,random_state=1)
我已阅读以下有关混合深度学习的文章:Hybrid Deep learning
让我们假设我想使用经典的 MLP(多层感知器)和一些经典的 ML 算法,例如 catboost,根据文章,我想要以下内容:正如您从代码中看到的那样,信息丰富的是三个特征(所有剩余的 7 个特征是冗余),因此我想以某种方式使用 MLP 提取重要特征,然后应用 catboost,这是在 keras 中为 MLP 模型做准备
import keras
from keras.models import Sequential
from keras.layers import Dense
model =Sequential()
model.add(Dense(units=30,input_dim=10,activation='relu'))
model.add(Dense(units=15,activation='relu'))
model.add(Dense(units=1,activation='sigmoid'))
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
让我们导入 catboost 库
import catboost
from catboost import CatBoostClassifier
请用一个非常简单的代码帮助我如何将这些东西组合在一起(我的意思是使用 MLP 作为特征提取并使用 catboostclassifier 进行分类)。非常感谢
【问题讨论】:
-
你只需要在中间切割你训练好的网络,提取特征,然后在它们上安装 catboost
-
是的,但是怎么做?这是实际的问题
标签: python tensorflow machine-learning keras deep-learning