繁体   English   中英

如何在 tensorflow 中训练线性回归 model 时确定分类特征中值的相应权重?

[英]How to determine the corresponding weight of values in a categorical feature while training a Linear Regression model in tensorflow?

我已经使用 tensorflow 训练了线性回归 model。 我有数字和分类特征。 对于这个例子,其中一个分类特征是“has_Alt”,它的值为 0 或 1。当我尝试获取与此特征对应的权重值时,我得到一个二维向量——[[0.23342037 ] [0.22178642]]。

我如何知道所提供功能中的值 0 和 1 对应的权重。

说第一个是 0,第二个是 1 可能很诱人。但是,如果值是绿色和蓝色怎么办。 那时我们怎么知道? 下面是我如何添加功能的代码片段。

def get_feature_columns(dftrain):
    CATEGORICAL_COLUMNS = ['hasAlt']

    feature_columns = []
    for feature_name in CATEGORICAL_COLUMNS:
        vocabulary = dftrain[feature_name].unique()
        feature_columns.append(tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary))
    return feature_columns

如果您共享完整的代码,答案会更清楚。

但是,已经创建了示例代码来更好地解释。 这些值取决于它在vocabulary中出现的顺序。

例如:

代码:如果分类列是绿色和蓝色。

dftrain = {'hasAlt': ['green','blue','blue','blue','blue','blue','green','green']}
CATEGORICAL_COLUMNS = ['hasAlt']

feature_columns = []
for feature_name in CATEGORICAL_COLUMNS:
    vocabulary = set(dftrain[feature_name])
    feature_columns.append(tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary))

print("Vocabulary order is :",vocabulary)
feature_columns

Output -

Vocabulary order is : {'blue', 'green'}
[VocabularyListCategoricalColumn(key='hasAlt', vocabulary_list=('blue', 'green'), dtype=tf.string, default_value=-1, num_oov_buckets=0)]

代码:如果分类列是 0 和 1。

dftrain = {'hasAlt': [1,0,0,0,0,1,1,1]}
CATEGORICAL_COLUMNS = ['hasAlt']

feature_columns = []
for feature_name in CATEGORICAL_COLUMNS:
    vocabulary = set(dftrain[feature_name])
    feature_columns.append(tf.feature_column.categorical_column_with_vocabulary_list(feature_name, vocabulary))

print("Vocabulary order is :",vocabulary)
feature_columns

Output -

Vocabulary order is : {0, 1}
[VocabularyListCategoricalColumn(key='hasAlt', vocabulary_list=(0, 1), dtype=tf.string, default_value=-1, num_oov_buckets=0)]

如果还不清楚,会要求分享完整的代码以更好地解释。

希望这能回答你的问题。 快乐学习。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM