「R에 의한 기계 학습」의 공부 이력(2)

6893 단어 RRStudio기계 학습

R에 의한 기계 학습



(소프트웨어 품질 기술자를 위한) 데이터 분석 연구회에서 책 『R에 의한 기계 학습(Machine Learning with R)』을 사용하여 기계 학습을 배운다.
htps //w w. 아마존. 이. jp/dp/4798145114/

제3장 지연 학습 - 최근 방법을 이용한 분류



의문점


  • k의 선택을 하는 방법의 1개에 「훈련 인스턴스의 개수의 제곱근을 최초의 k로 한다는 방법」이 있는 것 같지만, 어떠한 사고방식으로 “제곱근” 사용하기로 했는지는 불명.
  • 지연 학습이라는 말을 스스로 설명할 수 없다.
  • 책에서 설명


  • 학습의 엄격한 정의 하에서, 지연 학습기는 아무것도 배우지 않았다. 단순히 훈련 데이터를 축어적으로 저장하고 있을 뿐이다. 따라서 실제로 아무것도하지 않는 훈련 단계는 매우 빠르게 통과 할 수 있습니다. 물론 단점은 예측이 훈련에 비해 느려지는 경향이 있다.
  • k 근방법은 추상화와 일반화가 생략되어 있는 것 같지만, 원래 추상화와 일반화가 스스로는 잘 설명할 수 없다.
  • 모델(함수)을 만들지 않는다는 것일까?

  • 피처라는 단어가 사용되고 있지만, 스스로는 잘 설명할 수 없다. 특징이라는 것일까?
  • 특징, 속성이라고 해도 좋을 것 같다.

  • Z 스코어 표준화는 스스로 설명할 수 없다.
  • 표준 편차는 항상 알 수 없습니다. 표준편차가 이미지하기 쉽게 하고 싶다.
    h tps : // / - 케이. 네 t/바시 c/g
    htps : ///--케이. 네 t/바시 c/g
  • 카이제곱값(카이제곱 검정)을 스스로 설명할 수 없다.
    htps : // 베스트 비오 s들 scs. 코 m/안녕하세요 cy/치-s 있어. HTML
    h tps : // / - 케이. 네 t / hy 뽀뽀 s s s g / 치 % 2 % 80 % 90 s 쿠 - st /
  • R 인자 벡터를 이해하기 어렵다.
    ht tp // m-히야마. 하테나 bぉg. 코m/엔트리/20151215/1450140312
    htp : // by - 네네세 lf. 이 m/r_바시 c_후우c와 r/

  • CSV 파일 가져오기



    RSutdio의 팝업 메뉴 [Import Dataset ...]에서 CSV 파일의 데이터를 읽으려고했지만 실패.

    > library(readr)
    > datasettest <- read_csv("~/data/wisc_bc_data.csv")
    Error: '~/data/wisc_bc_data.csv' does not exist.
    

    시행 착오하는 것이 번거로웠기 때문에, 자신이 알고 있는 Rcmdr를 사용한 CSV 파일의 데이터 로드의 방법을 사용.
    > library(Rcmdr)
    

    Rcmdr 메뉴 [데이터]-[데이터 가져오기]-[텍스트 파일 또는 클립보드, URL에서...]에서 CSV 파일의 데이터 로드.



    로드 성공. RSutdio에서도 데이터 확인 가능.

    > str(wbcd)
    'data.frame':   569 obs. of  32 variables:
     $ id               : int  87139402 8910251 905520 868871 9012568 906539 925291 87880 862989 89827 ...
     $ diagnosis        : Factor w/ 2 levels "B","M": 1 1 1 1 1 1 1 2 1 1 ...
     $ radius_mean      : num  12.3 10.6 11 11.3 15.2 ...
     $ texture_mean     : num  12.4 18.9 16.8 13.4 13.2 ...
     $ perimeter_mean   : num  78.8 69.3 70.9 73 97.7 ...
     $ area_mean        : num  464 346 373 385 712 ...
     $ smoothness_mean  : num  0.1028 0.0969 0.1077 0.1164 0.0796 ...
     $ compactness_mean : num  0.0698 0.1147 0.078 0.1136 0.0693 ...
     $ concavity_mean   : num  0.0399 0.0639 0.0305 0.0464 0.0339 ...
     $ points_mean      : num  0.037 0.0264 0.0248 0.048 0.0266 ...
     $ symmetry_mean    : num  0.196 0.192 0.171 0.177 0.172 ...
     $ dimension_mean   : num  0.0595 0.0649 0.0634 0.0607 0.0554 ...
     $ radius_se        : num  0.236 0.451 0.197 0.338 0.178 ...
     $ texture_se       : num  0.666 1.197 1.387 1.343 0.412 ...
     $ perimeter_se     : num  1.67 3.43 1.34 1.85 1.34 ...
     $ area_se          : num  17.4 27.1 13.5 26.3 17.7 ...
     $ smoothness_se    : num  0.00805 0.00747 0.00516 0.01127 0.00501 ...
     $ compactness_se   : num  0.0118 0.03581 0.00936 0.03498 0.01485 ...
     $ concavity_se     : num  0.0168 0.0335 0.0106 0.0219 0.0155 ...
     $ points_se        : num  0.01241 0.01365 0.00748 0.01965 0.00915 ...
     $ symmetry_se      : num  0.0192 0.035 0.0172 0.0158 0.0165 ...
     $ dimension_se     : num  0.00225 0.00332 0.0022 0.00344 0.00177 ...
     $ radius_worst     : num  13.5 11.9 12.4 11.9 16.2 ...
     $ texture_worst    : num  15.6 22.9 26.4 15.8 15.7 ...
     $ perimeter_worst  : num  87 78.3 79.9 76.5 104.5 ...
     $ area_worst       : num  549 425 471 434 819 ...
     $ smoothness_worst : num  0.139 0.121 0.137 0.137 0.113 ...
     $ compactness_worst: num  0.127 0.252 0.148 0.182 0.174 ...
     $ concavity_worst  : num  0.1242 0.1916 0.1067 0.0867 0.1362 ...
     $ points_worst     : num  0.0939 0.0793 0.0743 0.0861 0.0818 ...
     $ symmetry_worst   : num  0.283 0.294 0.3 0.21 0.249 ...
     $ dimension_worst  : num  0.0677 0.0759 0.0788 0.0678 0.0677 ...
    

    RStudio에서 Project를 만들고 Project 폴더의 상대 경로로 파일 경로를 지정하면 Read.csv() 함수로 읽을 수 있습니다.

    '준비', '수치 데이터 정규화' 및 '데이터별 모델 훈련'



    도서대로 명령을 실행하기 만하면 도서 거리의 결과를 얻을 수 있습니다.

    테이블



    table() 명령으로 집계가 가능하다.
    > table(wbcd$diagnosis)
      B   M 
    357 212 
    

    function



    함수를 만들 수도 있습니다.
     normalize <- function(x) {return ((x - min(x))/(max(x)-min(x)))}
    



    knn



    k 이웃법 분류의 구문

    분류기 구축 및 예측
    p <- knn(train, test, class, k)
    train : 수치 훈련 데이터를 저장하는 데이터 프레임
    test : 숫자 테스트 데이터를 저장하는 데이터 프레임
    class : 훈련 데이터의 각 행의 클래스를 포함하는 인자 벡터
    k: 투표할 최근 이웃 인스턴스 수를 나타내는 정수
    이 함수는 테스트 데이터 프레임의 각 행에서 예상 클래스를 모은 요인 벡터를 반환합니다.

    도서 설명에서 knn의 매개 변수 이름? 가 「class」가 되고 있지만 실제로 지정하는 것은 「cl」.
    > temp_pred <- knn(train = test_train,test = test_test, class = test_train_labels, k = 21)
    Error in knn(train = test_train, test = test_test, class = test_train_labels,  : 
      unused argument (class = test_train_labels)
    
    wbcd_pred <- knn(train = wbcd_train, test = wbcd_test, cl = wbcd_train_labels, k = 3)
    

    모델 성능 개선



    스케일



    scale() 함수는, 디폴트로 Z 스코어 표준화를 사용해 값의 범위의 조정을 할 수 있다.

    좋은 웹페이지 즐겨찾기