问题描述
我正在尝试在TensorFlow中进行二进制分类。我遇到的问题是,尽管我的模型能够实现高精度,但我不确定如何在不使用某些任意函数或截止值的情况下从0或1的角度获得输出的预测。
# Labels
sample of labels: [1,1,0]
# Model
def cross_sell_model(preprocessing_head,inputs):
body = tf.keras.Sequential([
layers.Dense(64),layers.Dense(1)
])
preprocessed_inputs = preprocessing_head(inputs)
result = body(preprocessed_inputs)
model = tf.keras.Model(inputs,result)
model.compile(optimizer='adam',loss=tf.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])
return model
cross_sell_model = cross_sell_model(cross_sell_preprocessing,inputs)
# Training
history = cross_sell_model.fit(x=cross_sell_features_dict,y=cross_sell_labels,epochs=2,shuffle=True,validation_split = 0.2)
Epoch 1/2
9528/9528 [==============================] - 55s 6ms/step - loss: 0.2763 - accuracy: 0.8770 - val_loss: 0.2694 - val_accuracy: 0.8790
Epoch 2/2
9528/9528 [==============================] - 57s 6ms/step - loss: 0.2710 - accuracy: 0.8770 - val_loss: 0.2672 - val_accuracy: 0.8790
# Predictions
cross_sell_model(cross_sell_feat_dict)
<tf.Tensor: shape=(381109,1),dtype=float32,numpy=
array([[-0.475],[-3.463],[-0.479],...,[-6.866],[-1.443],[-2.572]],dtype=float32)>
我目前正在复制此Tensorflow Example中的步骤,但我只是使用其他数据集来执行二进制分类
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)