You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于numpy中np.r_函数及x+2、x-2数组操作的疑问

关于代码中x+2和x-2的解释

先讲运算本身

x+2 和 x-2 是NumPy的广播机制在起作用:

  • 当你给一个NumPy数组和一个标量做加减时,NumPy会自动把标量"扩展"成和数组形状完全一致的结构,然后对数组里的每一个元素逐位进行加减操作。
  • 举个例子,如果x里有个元素是0.1,x+2后这个元素就变成2.1;x-2后就变成-1.9。

为什么要这么做?

这段代码是在生成一个用于机器学习演示的数据集:

  1. 初始的x = 0.3*np.random.randn(100,2),是生成100个2维样本,这些样本围绕坐标**(0,0)**呈正态分布(标准差0.3,所以点都集中在原点附近)。
  2. x+2把所有样本整体平移,让它们围绕**(2,2)形成第一个聚类簇;x-2则让样本围绕(-2,-2)**形成第二个聚类簇。
  3. 最后用np.r_把两个簇的样本按行拼接,得到200个样本的数据集(200行×2列,所以size返回400)。

这种数据集的特点是两个簇边界清晰、容易区分,常用来测试分类、聚类算法(比如K-Means、逻辑回归)的基本功能,能快速验证算法是否能正确识别出两个不同的类别。

内容的提问来源于stack exchange,提问作者Little

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:10:31