통계 및 인공지능

Symbolic Regression in R

cj92 2021. 6. 12. 14:14

최근에 검색을 하다가 기호적회귀분석이란 것을 알게 되었다.

 

이를 적용함에 있어 R패키지 보다 python 패키지가 좀 더 유용해 보였다.

 

따라서 python을 R에서 쓰는 식으로 예제코드를 생성하였다. 

 

세팅하는 부분은 아래 블로그를 참고하기 바란다.

 

https://rcj92.tistory.com/10

 

R tensorflow-gpu 설정하기

오늘은 R쓰시는 분들이 딥러닝 할 때 GPU세팅을 힘들어해서 R에서 tensorflow를 gpu로 돌리기 위한 세팅을 해보겠다. 지금은 tensorflow라이브러리에서 install_tensorflow()를 활용하면 쉽게 가능하다고 하

rcj92.tistory.com

 

https://pycj92.tistory.com/23

 

기호적회귀분석(Symbolic Regression)

현실에 데이터는 고도의 비선형 자료에 해당하며, 문제 해결에 다양한 제약이 존재한다. 전통적인 최적화 알고리즘들은 이러한 알고리즘을 해결하기에 한계가 존재한다고 한다. 따라서 이러한

pycj92.tistory.com

library(forecast)
library(reticulate)
data=decompose(AirPassengers)
data=na.omit(data.frame(x=data$x,seasonal=data$seasonal,trand=data$trend,random=data$random))
train=data[1:80,]
test=data[81:nrow(data),]
gpl=import('gplearn')
function_set=c('add','sub','mul','div')
model=gpl$genetic$SymbolicRegressor(population_size = 3000L, 
                              tournament_size = 5L,
                              generations = 25L,
                              stopping_criteria = 0.1,
                              function_set = function_set,
                              metric = 'rmse',
                              p_crossover = 0.65,
                              p_subtree_mutation = 0.15,
                              p_hoist_mutation = 0.05, 
                              p_point_mutation = 0.1,
                              verbose = 1,
                              random_state = 42L,
                              n_jobs = -1L)
model$fit(train,as.vector(apply(train,1,sum)))
plot(apply(data,1,sum))
points(c(apply(train,1,sum),model$predict(test)),col=c(rep(1,80),rep(2,52)))

'통계 및 인공지능' 카테고리의 다른 글

[tensorflow]attention model  (0) 2021.06.11
[tensorflow]Seq2Seq regression in R  (0) 2021.06.10
WaveNet in R  (0) 2021.05.02
1D-CNN & Multi input Multi output Model in R  (1) 2021.05.02
R에서 ELMO 모형 사용하기  (0) 2021.04.26