# How to compare performance between SVM and Keras models

I applied both SVM and CNN (using Keras) on a dataset. Now, I want to compare the performance of both models.

Keras model.evaluate function predicts the output for the given input and then computes the metrics function (A metric is a function that is used to judge the performance of a model) specified in the model.compile and based on y_true and y_pred and returns the computed metric value as the output. It is obvious that SVM's accuracy calculation is different than Keras' model.evaluate.

For my dataset, Keras model (accuracy calculated based on model.evaluate) gives better accuracy than the SVM. However, a comparison between y_true and y_predict (get the y_predict by model.predict) gives a similar accuracy (this accuracy is a little lower than the accuracy return from Keras evaluate) to the SVM.

I want to know, in this scenario, how can I compare the result between both SVM and Keras model? May I conclude that Keras' model is better as its model.evaluate is giving better accuracy than SVM. What is the standard approach in this scenario to compare performance between the two models?

• You should use model.fit() method to generate predictions, then compare them with the predictions of the SVM model using tools such as a Confusion Matrix, and the relative metrics usually associated with it. – Leevo May 2 at 11:19