#r #machine-learning #simulate
#r #машинное обучение #имитировать
Вопрос:
Было интересно, может ли кто-нибудь помочь мне с пониманием abline()
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
вычисления строки, хотя я не уверен, как это сделать. Было интересно, может ли кто-нибудь помочь.
Комментарии:
1. Вы читали страницу справки,
?abline
? Он описывает, какa
иb
интерпретируются.
Ответ №1:
с помощью этих двух инструкций
a <- runif(1,-1,1)
b <- runif(1,-1,1)
вы генерируете параметры строки. В частности, перехват и наклон
abline(a,b)
постройте линию на основе вашего перехвата a и наклона b
подробности здесь
Комментарии:
1. Спасибо, продолжайте и посмотрите на мой ответ. Приветствия!
Ответ №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)