1. R을 이용하여 0< x <1 구간의 의 출력자료 100개를 생성하고 이를 신경망을 통해 적합
음... 잘 안보이지만 함수 neuralnet()을 사용하기 위하여 package “neuralnet”을 install하였다.
난수를 생성하여 사용할 것인데, 생성 전에 set.seed()함수를 통하여 난수를 생성할 때에 값이 바뀌지 않도록 설정한다.
train.input 에는 0~1사이의 숫자를 100개 생성하여 dataframe 형태로 저장한다.
또한 train.output에는 을 거친 데이터를 dataframe 형태로 저장한다.
마지막으로 train.data의 1열에는 train.input 데이터를, 2열에는 train.output 데이터를 삽입한다.
열의 이름을 “Input”과 “Output”으로 setting을 해준 후 결과를 확인한다.
neuralnet() 함수를 사용하여 train.data를 분석하였다. hidden node는 5개로 지정하였으며 코드는 다음과 같다.
코드 실행 결과는 다음 그림과 같다.
다음으로 구성을 시각화 하였다.
위에서 설정한 것과 같이 hidden node는 총 5개로 구성되었으며, 각각의 edge에는 가중치가 쓰여 있다. 여기서 hidden node의 수만 정하고 layer의 수는 정하지 않았는데, layer의 수도 정하고 싶다면 위의 함수에서 hidden = c(2,3) 과 같이 표현하면 된다. (예시는 layer 2개, node 3개이다.)
이제 신경망 모형을 통하여 추정치와 실제 값이 얼마나 유사한지 확인할 차례이다. 다음은 test.data를 net.sinpi에 적합 시킨 결과이다.
test.data 를 net.sinpi에 적합 시킨 결과이다. 다음 결과를 해석하기 위해 상관관계와 RMSE를 구한다.
상관관계는 다음과 같이 강력한 음의 상관관계가 나온다. 이는 변수 x가 증가하면 변수 y가 감소한다고 자신있게 말할 수 있다.
또한 RMSE를 계산하였을 때, 약 2.03으로 나왔으며, RMSE가 작을수록 더 좋은 결과라고 할 수 있다.
마지막 해석부분에서 모자람이 많이 느껴진다.... 더 열심히 공부해야지!ㅜㅜ
'SEMINAR > 데이터마이닝' 카테고리의 다른 글
데이터마이닝 R - Random Forest (0) | 2020.06.25 |
---|---|
데이터마이닝 R - Naive bayes classification 실습 (0) | 2020.05.18 |
데이터마이닝 R - Logistic regression_실습 및 해석 (0) | 2020.05.06 |
데이터마이닝 R - 변수 선택 방법 실습 예제 (0) | 2020.05.04 |