Search code examples
imagepredictionconfusion-matriximage-classification

Need help to create Confusion Matrix and Prediction Code


model_SVC = SVC(C=1000,gamma=0.1, kernel='rbf')
model_SVC.fit(X_train,Y_train) #CASIA2

predictions=model_SVC.predict(X_test)

print(accuracy_score(Y_test,predictions))
print(confusion_matrix(Y_test,predictions))
print(classification_report(Y_test,predictions))

I need help in creating a confusion matrix using seaborn and a code to predict the image. Can someone help me with this?


Solution

  • I have used your code along with some random code to generate data and ConfusionMatrixDisplay to generate the confusion matrix. You can change the parameters as required to suit your needs.

    import matplotlib.pyplot as plt
    from sklearn.metrics import accuracy_score
    from sklearn.metrics import confusion_matrix
    from sklearn.metrics import classification_report
    from sklearn.datasets import make_classification
    from sklearn.metrics import ConfusionMatrixDisplay, confusion_matrix
    from sklearn.model_selection import train_test_split
    from sklearn.svm import SVC
    
    X, y = make_classification(random_state=0)
    X_train, X_test, Y_train, Y_test = train_test_split(X, y, random_state=0)
    
    model_SVC = SVC(C=1000,gamma=0.1, kernel='rbf')
    model_SVC.fit(X_train,Y_train) #CASIA2
    
    predictions=model_SVC.predict(X_test)
    
    #print(accuracy_score(Y_test,predictions))
    cm = confusion_matrix(Y_test,predictions)
    #print(classification_report(Y_test,predictions))
    
    disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=model_SVC.classes_)
    font={'size':'14'}
    plt.rc('font',**font)
    plt.rcParams['figure.figsize']=[6,6]
    disp.plot(cmap='Blues',values_format='0.2f')
    #plt.colorbar(im,fraction=0.046, pad=0.04)
    plt.show()
    

    Plot

    enter image description here