是否有一种方法可以单独从keras模型访问功能名称/标签?

ccrfmcuu  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(115)

我正在尝试以一种通用的方式从Keras模型中检索功能名称。我想加载一个预训练的模型并获取其特征名称,如下所示:

labels = model.get_feature_names()

我正在寻找一种可以与任何Keras模型一起工作的方法,理想情况下是一种方法,它接受一个黑盒Keras模型并返回模型操作的功能名称。例如,在SKlearn中,我可以这样做:

from sklearn.base import BaseEstimator
if isinstance(model, BaseEstimator):
  return lambda m: {
    'labels': m.feature_names_in_,
  }

有Keras/TensorFlow等价物吗?任何洞察力都非常赞赏。

deyfvvtc

deyfvvtc1#

不,与sklearn不同,没有Keras/Tensorflow等价物来获取特征名称。这是因为tensorflow-keras模型更关注输入Tensor的形状和尺寸,而不是单个特征。该模型利用输入特征作为Tensor,而不考虑名称。
通过一些努力,您可能能够通过值跟踪您的各个功能。但是,如果你的最终目标是用表格数据构建一个分类器(而不是一些复杂的计算机视觉或NLP任务),你可以考虑使用XGBoost等替代方法(或者sklearn本身的其他分类器)。这些分类器是以功能为中心的,您将能够使用feature_names。它们也更适合于表格数据,因为它们的通用性和即使在有限的样本/特征下也能很好地概括的能力。

相关问题