Tensorflow 模型预处理时间数据
Tensorflow Model PreProcess Time Data
我得到了出租车客户何时何地进入他的车辆的信息。现在我想预测他想在哪条街上开车。我的数据集是这样的:
例子
日、时、分、入口、目的地(标签)
星期一,10 号,45 号,ExampleStreet,WhosebugCorner(未预处理)
0、10、45、0、1(预处理)
转换成这样:
现在我像这样预处理我的数据集:
日期 -> 0-6 的数字(0 星期一,1 星期二...)
小时 -> 欧洲格式从 0-24
分钟 -> 无预处理
入口 -> 我使用了 LabelEncoder (0 ExampleStreet, 1 ExampleCorner ...)
目的地 -> 与带有标签编码器的入口相同
我得到了 98 个可能的目的地和相同数量的入口以及大约 700 个样本。
我已经使用了 Tensorflow,但只得到接近 0 的验证准确率。
model = keras.Sequential([
tf.keras.layers.Dense(100, activation='relu'),
keras.layers.BatchNormalization(),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Dense(100, activation='relu'),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Dense(98,activation="softmax")
])
optimizer=keras.optimizers.RMSprop()
model.compile(optimizer=optimizer, loss=tf.keras.losses.sparse_categorical_crossentropy, metrics=['accuracy'])
问题
我是否正确地预处理了我的数据?我是否需要热编码或收集更多样本?另一种算法可能更有效(树?)?
提前致谢...
您需要一个入口和日期的热编码。并且可能 - 小时。
您需要更多样本(样本数量应接近模型变量数量的数量级)。但是试试 one-hot 看看
作为最低限度,您应该对入口和目的地进行一次性编码,使用标签编码将整数分配给这些特征,这些特征将被模型解释为具有数值关系的序数值。显然没有入口和目的地的“排序”。我会像您所做的那样对日期进行编码,因为一周中的天数显然是按顺序排列的,小时和分钟也是如此。我怀疑 minute 作为一项功能有多大用处,因此您可能不想包含它。使用 98 类 和只有 700 个样本,您的模型是否会产生非常高的准确性值得怀疑。
我得到了出租车客户何时何地进入他的车辆的信息。现在我想预测他想在哪条街上开车。我的数据集是这样的:
例子
日、时、分、入口、目的地(标签)
星期一,10 号,45 号,ExampleStreet,WhosebugCorner(未预处理)
0、10、45、0、1(预处理)
转换成这样:
现在我像这样预处理我的数据集:
日期 -> 0-6 的数字(0 星期一,1 星期二...)
小时 -> 欧洲格式从 0-24
分钟 -> 无预处理
入口 -> 我使用了 LabelEncoder (0 ExampleStreet, 1 ExampleCorner ...)
目的地 -> 与带有标签编码器的入口相同
我得到了 98 个可能的目的地和相同数量的入口以及大约 700 个样本。 我已经使用了 Tensorflow,但只得到接近 0 的验证准确率。
model = keras.Sequential([
tf.keras.layers.Dense(100, activation='relu'),
keras.layers.BatchNormalization(),
tf.keras.layers.Dropout(0.4),
tf.keras.layers.Dense(100, activation='relu'),
tf.keras.layers.Dropout(0.3),
tf.keras.layers.Dense(98,activation="softmax")
])
optimizer=keras.optimizers.RMSprop()
model.compile(optimizer=optimizer, loss=tf.keras.losses.sparse_categorical_crossentropy, metrics=['accuracy'])
问题
我是否正确地预处理了我的数据?我是否需要热编码或收集更多样本?另一种算法可能更有效(树?)?
提前致谢...
您需要一个入口和日期的热编码。并且可能 - 小时。
您需要更多样本(样本数量应接近模型变量数量的数量级)。但是试试 one-hot 看看
作为最低限度,您应该对入口和目的地进行一次性编码,使用标签编码将整数分配给这些特征,这些特征将被模型解释为具有数值关系的序数值。显然没有入口和目的地的“排序”。我会像您所做的那样对日期进行编码,因为一周中的天数显然是按顺序排列的,小时和分钟也是如此。我怀疑 minute 作为一项功能有多大用处,因此您可能不想包含它。使用 98 类 和只有 700 个样本,您的模型是否会产生非常高的准确性值得怀疑。