python - 我如何解释两个“=”和整个这个表达式?
问题描述
train_acc = np.mean(y_train == y_train_pred)
这个表达式的赋值和求值是如何工作的?
解决方案
很简单,假设你有这两个 numpy 数组:
y_train = np.array([1, 2, 3, 4])
y_train_pred = np.array([1, 2, 3, 5])
正如我们所见,这两个数组仅在最后一个元素上有所不同。所以,当我们申请时y_train == y_train_pred
,我们会得到:
>>> y_train == y_train_pred
array([ True, True, True, False])
# same as array([ 1, 1, 1, 0])
现在,当我们应用 时np.mean
,我们将得到它的平均值3/4
:
>>> np.mean(y_train == y_train_pred)
0.75
所以,回答你的问题:==
前面的语法是什么意思?它只是意味着遍历 numpy 数组并检查其中的每个元素是否y_train
等于的相反元素,如果它们匹配,则y_train_pred
返回其中一个。True
False
希望这能回答你的问题!!
推荐阅读
- logic - 如何在 Coq 中对自然数使用 mod 算术(特别是 Zplus_mod 定理)?
- python - 简单 Python 3 if 语句中的 HackerRank 运行时错误
- blazor - Blazor webassembly:如何将自定义类型参数传递给自定义 ValidationAttribute
- javascript - 将条目数组转换为 HTML 字符串
- r - 为 R 中的部分字符串匹配两个数据帧
- r - 使用 lapply 基于两个或多个因子变量对数据框进行子集化
- python - 无法导入“flask_uploads”pylint(导入错误)
- android - Android 屏幕密度限定符
- bash - 以编程方式循环传递给脚本或函数的参数
- reactjs - 删除 gh-pages 分支后在 github 上重新发布应用程序