我想绘制模型预测概率。
plt.scatter(y_test, prediction[:,0])
plt.xlabel("True Values")
plt.ylabel("Predictions")
plt.show()
但是,我得到了如上图。哪种有意义,但我想更好地可视化概率分布。有没有办法可以做到这一点,我的实际类为0或1,预测介于0和1之间。
答案 0 :(得分:2)
可以将预测的概率用于可视化模型性能。可以使用颜色指示真实标签。
尝试以下示例:
from sklearn.datasets import make_classification
import matplotlib.pyplot as plt
X, y = make_classification(n_samples=1000, n_features=4,
n_informative=2, n_redundant=0,
random_state=1, shuffle=False)
from sklearn.linear_model import LogisticRegression
lr=LogisticRegression(random_state=0, solver='lbfgs', max_iter=10)
lr.fit(X, y)
prediction=lr.predict_proba(X)[:,1]
plt.figure(figsize=(15,7))
plt.hist(prediction[y==0], bins=50, label='Negatives')
plt.hist(prediction[y==1], bins=50, label='Positives', alpha=0.7, color='r')
plt.xlabel('Probability of being Positive Class', fontsize=25)
plt.ylabel('Number of records in each bucket', fontsize=25)
plt.legend(fontsize=15)
plt.tick_params(axis='both', labelsize=25, pad=5)
plt.show()
答案 1 :(得分:0)