Blog

  • 기계 학습 machine learning

    연구에 있어 예측 모형을 만들어 낼 수 있으면 조금 더 연구의 가치를 높일 수 있다. 기존에 내가 사용할 줄 아는 것은 선형 회귀 분석이나 로지스틱 분석이었다. 그런데 이번에 결과를 내어야만 하는 연구에서는 이보다 더 심도 있는 분석이 필요하였다. 그래서 random forest나 SVM 같은 기계 학습 방법을 이용하기로 하였다. 인터넷을 검색하여 보았고 R의 caret 패키지를 알게 되었다. glm 명령어와 유사하다.

    caret 패키지만 불러와도 문제는 없으나 confusion matrix를 위해서는 tidyverse가 필요하다. 그리고 병렬 처리로 분석 속도를 높일 수 있는 doMC를 사용한다. 자료 크기가 작기 때문에 그냥 해도 괜찮지만, xgboost 같은 것을 하면 꼭 필요하다.

    library('tidyverse')
    library('caret')
    library('doMC')
    registerDoMC(cores = 4)

    자료 배치는 보통 다음과 같은 형식으로 하는 것 같다.

    fitControl = trainControl(method='repeatedcv', number = 5, repeats = 30)

    보통은 원래 자료를 분할하여 학습용, 검정용을 만들지만, 이번 연구에 있어서는 예측이 필요한 세트가 있기 때문에 따로 만들었다. A와 C 그룹으로 모델을 만든다음 B 그룹에서 평가를 하는 것이 원래 연구 목적이었다. 그룹을 만들 때 factor로 지정을 해주어야 한다.

    dt_train$GROUP = as.factor(dt_train$GROUP)
    dt_test$GROUP = as.factor(dt_test$GROUP)

    generalized linear model, random forest, SVM 모델은 다음과 같이 만들 수 있다. 지원하는 모델이 많기 때문에 홈페이지에서 찾아서 method에서 지정해 주면 된다. 앞서 언급한 3가지는 각각 glm, rf, svmRadial 이라고 지정한다.

    fit = train(GROUP ~ A + B + C + D + E, method=’glm’, trControl = fitControl, data = dt_train)

    Confusion matrix와 새로운 모델에서의 예측은 다음과 같이 확인할 수 있다.

    predict(fit, newdata = dt_train) %>% confusionMatrix(dt_train$GROUP)
    predict(fit, newdata = dt_test)
  • 블럭을 주석 처리하기

    여러 줄을 주석처리하는 것이 힘들어서 찾아보니 역시 방법은 있었다. 내가 선택한 방법은 큰 따옴표 혹은 작은 따옴표 3개를 이용하여 주석처리 하는 것이다.

    '''
    주석 처리 할 부분
    '''
    
    혹은
    
    """
    주석 처리 할 부분
    """
  • xfce4 에서 PATH 설정

    xfce4를 사용하게 되면 PATH 설정이 기본으로 다시 되어 있다. ~/.xsessionrc 파일을 만들어서 사용 환경에 맞는 PATH를 설정한다.

    export=$PATH:~/.local/bin
  • xfce 자동 로그인

    내가 리눅스를 이용하는 방법은 리눅스 컴퓨터에 프로그램을 설치하고 웹 서비스등을 이용해서 접속하여 작업하는 것이다. RStudio나 Jupyter Notebook 같은 프로그램을 이용하기 때문이다. 따라서 SSH 설정까지 끝나면 리눅스 컴퓨터가 CUI나 GUI나 차이가 없다. 그래픽 카드드라이버를 고려하지 않아도 되며, 설치하는 패키지가 적기 때문에 CUI를 선호한다. 하지만 GUI가 좋을 때가 있는데 여러 터미널 화면을 띄워야 할 때나 터미널 화면을 거슬러 올라가야 할 때이다. 그리고 화면보호기 기능이다. 모니터에 터미널 화면이 계속 떠 있는데, 절전 차원에서 고려하면 좋을 때가 있다.

    일단 단순한 xfce를 설치한다. xfce는 다음과 같이 설치하면 된다. 재부팅하면 처음에 로그인 화면이 지나가고, 첫 화면 설정을 하는데 기본 설정 사용을 선택하는 것이 좋다.

    sudo apt install xfce4

    경우에 따라서 자동 로그인을 해야할 경우가 있다. 다음과 같은 방법으로 설정해준다.

    /etc/lightdm/lightdm.conf 
    
    [Seat:*]
    autologin-user=사용자명

    자동 로그인을 할 경우 xrdp로 접속이 안되는 것 같다.