源码中的ID字段有什么用?
What is the use of the ID field in the source code?
查看以下源代码:
import pandas as pd
from tensorflow.keras import layers, models
colors_df = pd.DataFrame(data=[[5,'yellow'],[1,'red'],[2,'blue'],[3,'green'],[4,'blue'],[7,'purple']], columns=['id', 'color'])
categorical_input = layers.Input(shape=(1,), dtype=tf.string)
one_hot_layer = OneHotEncodingLayer()
one_hot_layer.adapt(colors_df['color'].values)
encoded = one_hot_layer(categorical_input)
numeric_input = layers.Input(shape=(1,), dtype=tf.float32)
concat = layers.concatenate([numeric_input, encoded])
model = models.Model(inputs=[numeric_input, categorical_input], outputs=[concat])
predicted = model.predict([colors_df['id'], colors_df['color']])
print(predicted)
# [[5. 0. 1. 0. 0. 0.]
# [1. 0. 0. 1. 0. 0.]
# [2. 1. 0. 0. 0. 0.]
# [3. 0. 0. 0. 0. 1.]
# [4. 1. 0. 0. 0. 0.]
# [7. 0. 0. 0. 1. 0.]]
在上面的文章中,他们写道:
This simple network just accepts a categorical input, One Hot Encodes it, then concatenates the One Hot Encoded features with the numeric input feature. Notice I’ve added a numeric id
column to the DataFrame to illustrate how to split categorical inputs from numeric inputs.
这个我没看懂
为什么 id
列与那些 5 位数的一次性代码一起提供?
它在整个应用程序中的用途是什么?
博客post,简单地添加了 Id,以保持输入字符串和一个热编码输出之间的联系,以便观众能够跟踪哪个输入字符串,转换为哪个热行。
它只是将 ID 添加为输入,而没有在输出处进行任何处理以显示给您,例如yellow
它的id是5,转换成[0. 1. 0. 0. 0.]
.
它对模型没有其他影响,即性能,仅用于演示目的。
查看以下源代码:
import pandas as pd
from tensorflow.keras import layers, models
colors_df = pd.DataFrame(data=[[5,'yellow'],[1,'red'],[2,'blue'],[3,'green'],[4,'blue'],[7,'purple']], columns=['id', 'color'])
categorical_input = layers.Input(shape=(1,), dtype=tf.string)
one_hot_layer = OneHotEncodingLayer()
one_hot_layer.adapt(colors_df['color'].values)
encoded = one_hot_layer(categorical_input)
numeric_input = layers.Input(shape=(1,), dtype=tf.float32)
concat = layers.concatenate([numeric_input, encoded])
model = models.Model(inputs=[numeric_input, categorical_input], outputs=[concat])
predicted = model.predict([colors_df['id'], colors_df['color']])
print(predicted)
# [[5. 0. 1. 0. 0. 0.]
# [1. 0. 0. 1. 0. 0.]
# [2. 1. 0. 0. 0. 0.]
# [3. 0. 0. 0. 0. 1.]
# [4. 1. 0. 0. 0. 0.]
# [7. 0. 0. 0. 1. 0.]]
在上面的文章中,他们写道:
This simple network just accepts a categorical input, One Hot Encodes it, then concatenates the One Hot Encoded features with the numeric input feature. Notice I’ve added a numeric
id
column to the DataFrame to illustrate how to split categorical inputs from numeric inputs.
这个我没看懂
为什么 id
列与那些 5 位数的一次性代码一起提供?
它在整个应用程序中的用途是什么?
博客post,简单地添加了 Id,以保持输入字符串和一个热编码输出之间的联系,以便观众能够跟踪哪个输入字符串,转换为哪个热行。
它只是将 ID 添加为输入,而没有在输出处进行任何处理以显示给您,例如yellow
它的id是5,转换成[0. 1. 0. 0. 0.]
.
它对模型没有其他影响,即性能,仅用于演示目的。