matplotlib - 无法解释 matplotlib 绘图
问题描述
我从其中一个培训课程中获得了以下代码。
from sklearn.datasets import make_moons
X, y = make_moons(n_samples=1000, noise=0.1, random_state=0)
plt.plot(X[y==0, 0], X[y==0, 1], 'ob', alpha=0.5)
plt.plot(X[y==1, 0], X[y==1, 1], 'xr', alpha=0.5)
plt.legend(['0', '1'])
我无法理解以下内容。
X,y 将被分配 1000 个数据点?我们将如何区分 X 和 y 之间的值
plt.plot(X[y==0, 0], X[y==0, 1] & plt.plot(X[y==1, 0], X[y==1, 1] 我们是什么在这里试试?我不明白 X[y==0, 0], X[y==0, 1] 和 X[y==1, 0], X[y==1, 1]。
有人可以帮我理解上面的代码吗?
解决方案
很抱歉,这些都是非常基本的问题,在开始学习更高级的内容之前,您可能需要复习一下您的 Python 知识。
查看文档,
make_moons
返回一个元组 (X,y),它被解压缩到变量 X 和 y 中。允许您编写的逻辑相同:a,b = 1,2
产生 2 个变量a
,分别b
等于1
和2
。
X
是一个维度矩阵,(1000,2)
语法为X[:,0]
您提供第一列和X[:,1]
第二列。此外,代码仅选择行,例如,y==0
。y
是一个 shape 向量(1000,)
,y==0
返回一个 shape 向量,(1000,)
其中每个元素要么是要么True
取决于False
元素是否等于 0。因此X[y==0, 0]
仅返回 0 的第一列X
和等于 0 的行。在https://docs.scipy.org/doc/numpy/reference/arrays.indexing.htmly
阅读有关数组索引的更多信息
推荐阅读
- angular - 如何将数据从 Angular 表单发送到 Spring Boot 微服务
- html - 添加文本时如何阻止网格中的容器扩展?
- c# - EF Core .NET 打包所有层 cqrs 错误
- javascript - 在网页上通过 JavaScript 模拟鼠标滚轮旋转
- php - 如何从主题中删除 woocommerce.css 文件?
- android - 如何在 intelliJ (maven) 中调试/启动 Android 应用程序
- bash - 无法将命令存储到bash中的变量
- neo4j - Neo4j - 大于 11 的可变长度永远运行并且查询永远不会返回
- r - 如何计算 Rstudio 中一组特定行的平均值
- r - 如何在R中隐藏滑块?