월간 데이콘 반도체 박막 두께 분석 경진대회

베이스 코드라인이 파이썬으로만 있어서 R로도 만들어 보았습니다.

2020.01.17 12:31 4,833 조회

##대회 참가자 대부분이 베이스라인을 이용하여 파이썬을 사용하실텐데 저처럼 R사용자들을 위해 만들어 보았습니다. 코드 내용은 데이콘에서 제공하는 파이썬 베이스 라인과 거의 똑같습니다.

##이 글은 케라스가 설치된것을 전제로 합니다.

##참고한 책은 '케라스 창시자의 딥러닝 with R' 입니다.



##패키지 불러오기

if(!require('keras')){install.packages('keras');library(keras)}


##데이터 불러오기

data<-read.csv('데이터 위치/train.csv')

 

 ##케라스로 사용하기 위한 데이터 정리(factor 형으로 되어있어서 숫자로 변환 하였고, 문자 변환을 안하고 바로 숫자형태로 변환하면 원하는 대로 변환되지 않습니다.)

data[,1]<-as.numeric(as.character(data[,1]))

data[,2]<-as.numeric(as.character(data[,2]))

data[,3]<-as.numeric(as.character(data[,3]))

data[,4]<-as.numeric(as.character(data[,4]))

 


##독립변수와 종속변수 분리 (matrix 형태가 아니면 오류가 뜹니다)

train_data<-as.matrix(data[,c(5:230)])

train_labels<-as.matrix(data[,c(1:4)])

 

 

##케라스를 통해 모델 생성 

model<-keras_model_sequential() %>% 

 layer_dense(units = 160,activation = 'relu',input_shape = 226) %>% 

 layer_dense(units = 160,activation = 'relu') %>% 

 layer_dense(units = 160,activation = 'relu') %>% 

 layer_dense(units = 4,activation ='linear')

 


##모델 컴파일

model %>% compile(

 optimizer='adam',

 loss='mae',

 metrics=c('mae')

)


##모델 학습

history<-model %>% fit(train_data, train_labels, epochs=20, batch_size=10000)

 



 ##테스트 데이터 준비하기

test_ori<-read.csv('데이터 위치/test.csv') 

test_data<-as.matrix(test_ori[,-1])

 


##예측값 생성

result<-predict(model,test_data)


##파일 생성

write.csv(result,'저장할 위치/result.csv')



##result.csv를 submission파일에 복사 붙여넣기


로그인이 필요합니다
0 / 1000
달마보살
2020.01.17 13:17

감사합니다 ~ !

ChiefDataOfficer
2020.01.17 18:20

좋은 내용이네요! 공유 감사합니다~