【问题标题】:Separating Two Classes from Simulated Data从模拟数据中分离出两个类
【发布时间】:2020-10-26 16:24:30
【问题描述】:

想知道是否有人可以帮助我理解abline() in r。我的代码如下:

N = 500
fx1 <- runif(N,-2,2)
fx2 <- runif(N,-2,2)
X <- cbind(fx1,fx2)

a <- runif(1,-1,1) 
b <- runif(1,-1,1)
  
plot(X, xlim=c(-2,2),ylim=c(-2,2), xlab = "X", ylab = "Y")
abline(a,b)

这是生成数据的图像:

我想做的是在计算abline 行之后使用此数据创建两个类,尽管我不确定如何去做。想知道是否有人可以提供帮助。

【问题讨论】:

  • 您是否阅读了帮助页面?abline?它描述了如何解释 ab

标签: r machine-learning simulate


【解决方案1】:

这两条指令

a <- runif(1,-1,1) 
b <- runif(1,-1,1)

您正在生成一条线的参数。具体来说,截距和斜率

abline(a,b) 根据你的截距 a 和斜率 b 构造一条线

详情here

【讨论】:

  • 谢谢,继续看我的回答。干杯!
【解决方案2】:

我知道了,我已经阅读了文档并且我有了更好的理解。

基本上,我需要修改我现有的代码,以便对以下变量命名更有意义:

N = 1000
x <- runif(N,-2,2)
y <- runif(N,-2,2)
a <- runif(1,-1,1) 
b <- runif(1,-1,1)

当我使用 ggplot 时,它给了我下图

ggplot(X, aes(x= x, y = y)) +
  geom_point() + 
  geom_abline(slope = b, intercept = a)

然后,我只是做一个ifelse 并插入数字,看看它是否大于y

class <- as.matrix(ifelse(
 y > a + x * b, '0', '1' 
))

合并成一个数据框并重新绘制:

X <- cbind.data.frame(x, y, class)
ggplot(X, aes(x= x, y = y, color = class)) +
  geom_point() +
  geom_abline(slope = b, intercept = a)

【讨论】:

    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多