python 对于生成预测概率的模型,此脚本使用颜色编码类和assi绘制相应的descision线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 对于生成预测概率的模型,此脚本使用颜色编码类和assi绘制相应的descision线相关的知识,希望对你有一定的参考价值。

'''
This program is free software. It comes without any warranty, to
the extent permitted by applicable law. You can redistribute it
and/or modify it under the terms of the Do What The Fuck You Want
To Public License, Version 2, as published by Sam Hocevar. See
http://www.wtfpl.net/ for more details. 
'''

import numpy as np
import matplotlib.pyplot as plt
from sklearn.qda import QDA

cov1 = [[0.3, 0],
       [0, 0.3]]
cov2 = [[0.2, 0],
       [0, 0.2]]

mean1 = [1., 1.]
mean2 = [-1., -1.]

X1, y1 = np.random.multivariate_normal(mean1, cov1, 200).T
X2, y2 = np.random.multivariate_normal(mean2, cov2, 200).T

X = np.vstack((np.hstack((X1,X2)),np.hstack((y1,y2)))).T
Y = np.ones(X.shape[0])
Y[:X.shape[0]/2] *= -1

qda = QDA()
qda.fit(X, Y)

# evenly sampled points
x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
xx, yy = np.meshgrid(np.linspace(x_min, x_max, 50),
                     np.linspace(y_min, y_max, 50))
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())

#plot background colors
ax = plt.gca()
Z = qda.predict_proba(np.c_[xx.ravel(), yy.ravel()])[:, 1]
Z = Z.reshape(xx.shape)
cs = ax.contourf(xx, yy, Z, cmap='RdBu', alpha=.5)
cs2 = ax.contour(xx, yy, Z, cmap='RdBu', alpha=.5)
plt.clabel(cs2, fmt = '%2.1f', colors = 'k', fontsize=10)

# Plot the points
plt.scatter(X1, y1, c='red')
plt.scatter(X2, y2, c='blue')

# make legend
plt.legend(loc='upper left', scatterpoints=1, numpoints=1)

plt.show()

以上是关于python 对于生成预测概率的模型,此脚本使用颜色编码类和assi绘制相应的descision线的主要内容,如果未能解决你的问题,请参考以下文章

机器学习面试问题总结

朴素贝叶斯知识点概括

监督学习模型分类 生成模型 判别模型 概率模型 非概率模型 参数模型 非参数模型

在 Spark RandomForestClassifier 中预测类概率

python基于朴素贝叶斯模型的预测概率和标签信息可视化ROC曲线

python基于logistic回归模型的预测概率和标签信息可视化ROC曲线