Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AttributeError: 'Sequential' object has no attribute 'predict_proba'

predict_proba returns the error in the neural network

i saw the example on this link https://machinelearningmastery.com/how-to-make-classification-and-regression-predictions-for-deep-learning-models-in-keras/

https://faroit.com/keras-docs/1.0.0/models/sequential/#the-sequential-model-api

I am using Tensorflow Version: 2.6.0

Code:

#creating the object (Initializing the ANN)
import tensorflow as tf
from tensorflow import keras
LAYERS = [
         tf.keras.layers.Dense(50, activation="relu", input_shape=X_train.shape[1:]),
         tf.keras.layers.LeakyReLU(),
         tf.keras.layers.Dense(25, activation="relu"),
         tf.keras.layers.Dense(10, activation="relu"),
         tf.keras.layers.Dense(5, activation="relu"),
         tf.keras.layers.Flatten(),
         tf.keras.layers.Dense(1, activation='sigmoid')
]

LOSS = "binary_crossentropy"
OPTIMIZER = tf.keras.optimizers.Adam(learning_rate=1e-3)

model_cEXT = tf.keras.models.Sequential(LAYERS)
model_cEXT.compile(loss=LOSS , optimizer=OPTIMIZER, metrics=['accuracy'])

EPOCHS = 100

checkpoint_cb = tf.keras.callbacks.ModelCheckpoint("model_cEXT.h5", save_best_only=True)
early_stopping_cb = tf.keras.callbacks.EarlyStopping(patience=10, restore_best_weights=True)
tensorboard_cb = tf.keras.callbacks.TensorBoard(log_dir="logs")
CALLBACKS = [checkpoint_cb, early_stopping_cb, tensorboard_cb]

model_cEXT.fit(X_train, y_train['cEXT'], epochs = EPOCHS, validation_data=(X_test, y_test['cEXT']), callbacks = CALLBACKS)

model_cEXT.predict_proba(X_test)

Error:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-72-8f06353cf345> in <module>()
----> 1 model_cEXT.predict_proba(X_test)

AttributeError: 'Sequential' object has no attribute 'predict_proba'

Edit: i need sklearn's like predict_proba output it is needed for visualization

skplt.metrics.plot_precision_recall_curve(y_test['cEXT'].values, y_prob)
plt.title('Precision-Recall Curve - cEXT')
plt.show()
like image 990
Juned Ansari Avatar asked Oct 21 '25 16:10

Juned Ansari


1 Answers

Use this code instead

predict_prob=model.predict([testa,testb])

predict_classes=np.argmax(predict_prob,axis=1)
like image 194
Supriya Avatar answered Oct 23 '25 17:10

Supriya



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!