「R에 의한 기계 학습」의 공부 이력(2)
R에 의한 기계 학습
(소프트웨어 품질 기술자를 위한) 데이터 분석 연구회에서 책 『R에 의한 기계 학습(Machine Learning with R)』을 사용하여 기계 학습을 배운다.
htps //w w. 아마존. 이. jp/dp/4798145114/
제3장 지연 학습 - 최근 방법을 이용한 분류
의문점
의문점
학습의 엄격한 정의 하에서, 지연 학습기는 아무것도 배우지 않았다. 단순히 훈련 데이터를 축어적으로 저장하고 있을 뿐이다. 따라서 실제로 아무것도하지 않는 훈련 단계는 매우 빠르게 통과 할 수 있습니다. 물론 단점은 예측이 훈련에 비해 느려지는 경향이 있다.
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 /
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 스코어 표준화를 사용해 값의 범위의 조정을 할 수 있다.
Reference
이 문제에 관하여(「R에 의한 기계 학습」의 공부 이력(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazuo_reve/items/388968db10b67dbbb7ac텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)