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

R语言如何利用标签y和均值矩阵z分配class specific means

R语言习题实现方案:类别均值分配与线性可分验证

1 基础变量生成

先按照习题要求正确生成所有核心变量,修正你之前x的维度错误:

# 生成300行2列的标准正态随机矩阵
x <- matrix(rnorm(300*2), ncol = 2)
# 生成类别标签:1、2、3各重复100次
y <- rep(1:3, each = 100)
# 生成3个类别的2维均值矩阵
z <- matrix(c(0,0,3,0,3,0), nrow = 3, ncol = 2)

2 类别均值分配

你需要的操作可以通过R的矩阵索引特性一行实现:用类别标签y作为z的行索引,就能自动匹配每个样本对应的类别均值,再叠加到原始随机矩阵x上即可:

# 给每个样本叠加对应类别的均值偏移
x_adjusted <- x + z[y, ]

原理说明:z[y, ]会根据y中每个位置的类别取值,提取z中对应行的均值向量,最终输出和x完全同维度的300行2列矩阵,相加后就完成了不同类别的均值分配。

3 分布绘制与线性可分验证

用R基础绘图函数即可快速可视化三类数据的分布:

# 绘制散点图,不同类别用不同颜色标记
plot(x_adjusted, col = y, pch = 16, 
     xlab = "第一维度", ylab = "第二维度", 
     main = "三类样本分布")
# 添加图例
legend("topleft", 
       legend = c("类别1", "类别2", "类别3"),
       col = 1:3, pch = 16)

结果说明

你定义的均值矩阵z中,类别2和类别3的均值完全一致,最终生成的样本中这两类会完全重叠,三类数据不具备线性可分性。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:54:04