【发布时间】:2015-08-24 10:31:56
【问题描述】:
我已经在 sklearn 的 100x85 数组上训练了一个机器学习二进制分类器。我希望能够改变数组中的 2 个特征,比如第 0 列和第 1 列,并生成等高线或曲面图,显示属于一个类别的预测概率如何在整个曲面上变化。
在我看来,我会使用类似以下的东西:
X = 100 x 85 用于训练集的数据数组 clf = 训练有素的 2 类分类器
x = np.array(X)
y = np.array(X)
x[:,0] = np.linspace(0, 100, 100)
y[:,1] = np.linspace(0, 100, 100)
xx, yy = meshgrid(x,y)
下一步是使用
clf.predict_proba(<input arrays>)
接着是绘图,但使用 meshgrid 会导致两个 8500x8500 矩阵无法在我的分类器中使用。
如何在网格中的每个点获得必要的 100x85 向量,以便在我的分类器中使用 pred_proba?
感谢您提供的任何帮助。
【问题讨论】:
-
np.meshgrid需要 2 个或更多 1D 输入数组。你给它提供了 2x 2D 数组,这些数组正在被展平,这就是为什么你会为xx、yy获得 8500x8500 大小的数组。
标签: python arrays matplotlib scipy scikit-learn