Процент предсказаний
Я пытаюсь найти решение. Я не могу сделать процент для моего прогноза. Здесь только 0 для отсутствия риска и 1 - когда пациент имеет сердечное заболевание. Как я могу обновить свой код и показать процент риска? Я много чего перепробовал, но ничего не получается. По-прежнему 0 и 1
predictions = {'SVC': str(SVCClassifier.predict(features)[0]),
'LogisticRegression': str(LogisticRegressionClassifier.predict(features)[0]),
'NaiveBayes': str(NaiveBayesClassifier.predict(features)[0]),
'DecisionTree': str(DecisionTreeClassifier.predict(features)[0]),
}
pred = form.save(commit=False)
l=[predictions['SVC'],predictions['LogisticRegression'],predictions['NaiveBayes'],predictions['DecisionTree']]
count=l.count('1')
result=False
if count>=2:
result=True
pred.num=1
else:
pred.num=0
pred.profile = profile
pred.save()
predicted = True
А вот мой пример логистической регрессии:
from sklearn.linear_model import LogisticRegression
classifier =LogisticRegression()
classifier.fit(X_train,Y_train)
y_Class_pred=classifier.predict(X_test)
from sklearn.metrics import accuracy_score
accuracy_score(Y_test,y_Class_pred)
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(Y_test, y_Class_pred)
from sklearn.metrics import classification_report
print(classification_report(Y_test, y_Class_pred))
from sklearn.metrics import roc_auc_score
from sklearn.metrics import roc_curve
logit_roc_auc = roc_auc_score(Y_test, classifier.predict(X_test))
fpr, tpr, thresholds = roc_curve(Y_test, classifier.predict_proba(X_test)[:,1])
plt.figure()
plt.plot(fpr, tpr, label='Logistic Regression (area = %0.2f)' % logit_roc_auc)
plt.plot([0, 1], [0, 1],'r--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver operating characteristic')
plt.legend(loc="lower right")
plt.savefig('Log_ROC')
plt.show()
Newdataset = pd.read_csv('newdata.csv')
ynew=classifier.predict(Newdataset)