본문 바로가기

AI/회귀19

[회귀 - 19] R 제곱(R Squared)이란? R제곱은 회귀 모델의 성능을 평가할 수 있는 값이다. R제곱은 모델이 얼마나 데이터에 잘 맞는지 알려준다. R제곱의 값이 1에 가까울 수록 모델이 데이터에 잘 맞는 것이다. 수정된 R 제곱에서 주의할 점은 p인데, p는 독립 변수의 갯수이다. p가 많아질수록 1에서 값이 멀이지기 때문에 꼭 필요한 독립 변수만 적용할 수 있도록 해야한다. 2022. 4. 25.
[회귀 - 18] R을 이용한 랜덤 포레스트 실습 랜덤 포레스트 라이브러리를 설치하고 아래의 코드를 실행한다. library(randomForest) set.seed(1234) regressor = randomForest(x = dataset[-2], y = dataset$Salary, ntree = 500) # 나무의 갯수 predict(regressor, data.frame(Level = 6.5)) 결과 값 : 160907.7 이는 A의 말한 16만 달러와 매우 흡사한 결과다. 그래프를 그려보면, library(ggplot2) x_grid = seq(min(dataset$Level), max(dataset$Level), 0.01) ggplot() + geom_point(aes(x = dataset$Level, y = dataset$Salary), c.. 2022. 4. 25.
[회귀 - 17] 랜덤 포레스트(Random Forest)란? 랜덤 포레스트란? 범주화 나무와 비슷 앙상블 학습(Ensamble Leaning)이란? 여러 알고리즘이나 같은 알고리즘을 여러 개 가져와서 조합해 원래보다 훨씬 더 강력한 걸 만드는 학습. Step 1: 랜덤한 K 데이터 포인트들을 훈련 세트에서 고른다. Step 2: 이 K 데이터 포인트들로 의사 결정 나무를 만든다. Step 3: 1~2를 여러번 반복 한다. Step 4: Step 3으로부터 만들어진 의사 결정 나무들의 평균을 구한다. 나무들을 많이 만드므로 랜덤 포레스트라고 한다. 2022. 4. 25.
[회귀 - 16] R을 이용한 의사 결정 트리 실습 [회귀 - 12]에서처럼 A의 연봉 예측을 해보겠다. 이번엔 의사 결정 트리다. 바로 예측까지 해보겠다. library(rpart) # 의사 결정 트리 라이브러리 regressor = rpart(formula = Salary ~ ., data = dataset, control = rpart.control(minsplit = 1)) # 분할을 많이해 정보량을 늘리는 것과 같다. predict(regressor, data.frame(Level = 6.5)) # 6.5 수준의 연봉 예측 결과 값 : 250000 다른 모델에 비해 예측 값이 상당히 높게 나왔다. 그래프까지 확인해보자. library(ggplot2) x_grid = seq(min(dataset$Level), max(dataset$Level), 0.. 2022. 4. 25.
[회귀 - 15] 의사 결정 트리(Decision Tree)란? 먼저 회귀 나무(Regression Trees)에 대해 알아보자. 위와 같은 산점도 그래프가 있다. 주의할 점은 가로축이 x1, 세로축이 x2이고, y축은 3차원에 표현된다는 점이다. 이 그래프에 x1 = -0.5 선을 그어보자. 그럼 이제 데이터를 x1 = -0.5를 기준으로 왼쪽 값과 오른쪽 값로 나눌 수 있을 것이다. 이제 우리는 2개의 정보를 갖게 된 것이다. 이 말을 정리하면, 기준선을 그을수록 우리의 정보량이 늘어난다는 뜻이다. 그리고 이렇게 갈라진 정보를 '잎'이라고 한다. 이것을 회귀 나무로 표현하면 아래와 같다. 이제 다시 x2 = 1(x1 < -0.5)선을 그어보자. 이제 슬슬 감이 올 것이다. 다시 이것을 회귀 나무로 표현해보자. 그리고 독립 변수(파란점)들에 의해 결정되는 종속 변수.. 2022. 4. 25.