我正在尝试以一种通用的方式从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等价物吗?任何洞察力都非常赞赏。
1条答案
按热度按时间deyfvvtc1#
不,与
sklearn
不同,没有Keras/Tensorflow等价物来获取特征名称。这是因为tensorflow-keras
模型更关注输入Tensor的形状和尺寸,而不是单个特征。该模型利用输入特征作为Tensor,而不考虑名称。通过一些努力,您可能能够通过值跟踪您的各个功能。但是,如果你的最终目标是用表格数据构建一个分类器(而不是一些复杂的计算机视觉或NLP任务),你可以考虑使用XGBoost等替代方法(或者sklearn本身的其他分类器)。这些分类器是以功能为中心的,您将能够使用
feature_names
。它们也更适合于表格数据,因为它们的通用性和即使在有限的样本/特征下也能很好地概括的能力。