Plotting ROC & AUC for SVM algorithm
Towards , the end of my program, I have the following code.
model = svm.OneClassSVM(nu=nu, kernel='rbf', gamma=0.00001)
model.fit(train_data)
Output
OneClassSVM(cache_size=200, coef0=0.0, degree=3, gamma=1e-05, kernel='rbf',
max_iter=-1, nu=0.0031259768677711786, random_state=None,
shrinking=True, tol=0.001, verbose=False)
from sklearn import metrics
preds = model.predict(train_data)
targs = train_target
print("accuracy: ", metrics.accuracy_score(targs, preds))
print("precision: ", metrics.precision_score(targs, preds))
print("recall: ", metrics.recall_score(targs, preds))
print("f1: ", metrics.f1_score(targs, preds))
print("area under curve (auc): ", metrics.roc_auc_score(targs, preds))
train_preds = preds
output
accuracy: 0.9050484526414505
precision: 0.9974137931034482
recall: 0.907095256762054
f1: 0.9501129131595154
area under curve (auc): 0.5876939698444417
preds = model.predict(test_data)
targs = test_target
print("accuracy: ", metrics.accuracy_score(targs, preds))
print("precision: ", metrics.precision_score(targs, preds))
print("recall: ", metrics.recall_score(targs, preds))
print("f1: ", metrics.f1_score(targs, preds))
print("area under curve (auc): ", metrics.roc_auc_score(targs, preds))
test_preds = preds
output
accuracy: 0.9043451078462019
precision: 1.0
recall: 0.9040752351097179
f1: 0.9496213368455713
area under curve (auc): 0.9520376175548589
I am having trouble plotting the ROC AUC . On my side I’ve been trying to read articles and check but unsuccessful until. The fact that I am only working with one column might be the cause.
Topic auc anomaly-detection svm python
Category Data Science