有人可以解释这一行:Z = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])

用户1761806

我一直在调整这个例子以使用 20 个功能而不是 2 个。我已经让大部分工作正常工作,但它在这一行给了我一个错误:

Z = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])

predict_proba文档只讨论了 x 的输入,而不是 x 和 y,此外我们还有 ravel() 在这里进行。所以想知道发生了什么?我遇到的错误是在尝试进行连接时发生的:

338         res = _nx.concatenate(tuple(objs), axis=self.axis)
    339         return self._retval(res)
    340 

ValueError: all the input array dimensions except for the concatenation axis must match exactly

但是我已经检查过 xx(测试输入)和 yy(测试标签)中的行数是否相同。

塞拉鲁克

该示例似乎工作正常。

关键是这一行:y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1

它表明这里的 yy 与您可能认为的标签无关,但实际上是第二个维度。所以串联代码只是简单地创建一个所有特征的网格,然后将其输入模型以形成预测。

更详细地:

您可以逐行浏览代码,看看会发生什么。

之前

Z = clf.predict_proba(np.c_[xx.ravel(), yy.ravel()])

如果您将 存储np.c_[xx.ravel(), yy.ravel()]在具有名称的变量中vrb

vrb = np.c_[xx.ravel(), yy.ravel()]

然后你可以看到它是什么

vrb.shape
vrb

结果:

(61600L, 2L)

array([[ 3.3 ,  1.  ],
       [ 3.32,  1.  ],
       [ 3.34,  1.  ],
        ...,
       [ 8.84,  5.38],
       [ 8.86,  5.38],
       [ 8.88,  5.38]])

这意味着结果np.c_[xx.ravel(), yy.ravel()]是一个包含 61600 行(样本)和 2 个特征(列)的数组。

使用clf.predict_proba(vrb)您预测这些样本的标签。

矩阵“vrb”必须与用于拟合分类器(训练阶段)的矩阵具有相同的“第二维”(列数)。

要测试这种用法:

X.shape

结果是:

(150L, 2L)

您可以清楚地看到训练数据 (X) 有 2 列(特征)。

如果您上传代码和数据,我可以提供更多帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

转换目标变量时,“ DataFrame”对象没有属性“ ravel”吗?

有人可以解释这一行代码吗?

numpy中的flatten和ravel函数有什么区别?

列表到数组的转换以使用ravel()函数

如何在clf.predict_proba()中找到相应的类

numpy中的flatten和ravel有什么区别?

已知轴数时X.ravel()和X.reshape(s0 * s1 * s2)之间的差异

在重塑中使用python ravel vs.transpose

如何在clf.predict_proba(X_test)中获得更多小数?

Matlab表示法的含义:xx @ yy

a.transpose()。ravel()[0] = x无法更改numpy中原始数组的值?

阈值Otsu:AttributeError:'AxesSubplot'对象没有属性'ravel'

y.ravel()。shape [0]有什么作用?

有人可以向我解释这一行吗?c | = 1 << i;

有人可以解释一下为什么输出C ++递归函数

Python Numpy Ravel函数不展平数组

有人可以解释一下这行c ++吗?

“ AttributeError:'list'对象没有属性'ravel'”

有人可以从datepicker解释这一行代码吗

有人知道yy的意思吗?

有人可以向我解释这一行吗?

Scikit学习和数据虚拟化:为什么在使用预测时必须使用ravel?

带有“CLF”的文档的奇怪关键字

有人可以解释一下Scala的这一行编码吗

numpy.matrix.A1 和 ravel 的区别

参数 = int(theta.ravel().shape[1]) 是什么意思?

为什么我需要在这种情况下使用 ravel()?

如何正确使用 clf.predict_proba?

Spring Cloud Kubernetes 没有加载像 xx.yy 这样的模式的密钥