我正在尝试使用 Google
colab
和 tensorflow
优化我的第一个 AI。
我有以下
dataset
示例:
分类 | 特点1 | 特点2 |
---|---|---|
1 | -1.1 | 0.22 |
1 | 0.333 | -0.4 |
4 | -0.55 | 0.6 |
1
到 4
的值。该数据集包含每种内容的 50%。示例:如果每一行都是学生数据。而
就是考试分数。值Feature 1
表示当前学生的成绩-0.1
高于其他学生(平均)。10% less
特征值可以大于 1(值 1.2 表示 +120%)。
我的模型的目标是找到我们应该关心的学生。 所以基本上,我需要最大化 1 类或 2 类的
true
预测结果。而 3 类和 4 类的预测可能不那么准确。
- 更好的是:如果真实类别是
,但预测是1
-3
4
- 而不是:真实类别
-3
被预测为4
或1
2
我有以下型号:
model = tf.keras.Sequential([
tf.keras.layers.Dense(512, activation='tanh', input_shape=(82, )),
tf.keras.layers.Dense(64, activation='tanh'),
tf.keras.layers.Dense(8, activation='relu'),
tf.keras.layers.Dense(4, activation='softmax')
])
model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x=features, y=labels, shuffle=True, validation_split=0.33, epochs=1)
我的问题是:
class 1
1
和2
准确度预测是否有意义?对于问题1:
您可以在训练期间将其添加为指标,并指定
class_id = your_class_of_interest
tf.keras.metrics.Precision(
thresholds=None, top_k=None, class_id=None, name=None, dtype=None
)
对于问题2:
神经元的数量始终等于您尝试预测的标签的数量。如果您认为某些数据存在特定的继承噪声,您可以修改数据集,在示例中添加第五个标签并分配这些特定样本。