Previous Post
Tweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Email this to someoneShare on FacebookShare on VkontakteShare on Odnoklassniki
Read on Mobile

R에서 사용 가능한 머신러닝 기법

이번 기사는 2018 년 6 월 28 일 독일 하이델베르그 대학교 (University of Heidelberg)에서 열린 R with Machine Learning 소개 워크샵의 슬라이드입니다.
이 워크샵은 기계 학습의 기초를 다룹니다. 예제 데이터 세트를 사용하여 R에서는 caret 패키지와 h2o를 사용하여 표준 워크 플로우를 학습했습니다.

  • 데이터 읽기
  • 탐색적 데이터 분석
  • 결측치 찾기
  • Feature Engineering
  • 학습 및 테스트 분할
  • 랜덤 포레스트, 그라데이션 부스팅, 뉴럴넷 등을 이용한 모델 학습
  • 하이퍼 파라미터 튜닝


설정

모든 분석은 RStudio를 사용하여 R로 수행됩니다. R 버전, 운영 체제 및 패키지 버전을 포함한 자세한 세션 정보는이 문서의 끝 부분에있는 sessionInfo() 출력을 참조하십시오.
모든 이미지는 ggplot2로 부터 작성 되었습니다

  • 필수 라이브러리들

 

데이터 준비

데이터 세트

이 예제 분석에서 사용하는 데이터 세트는 유방암 위스콘신 (진단) 데이터 세트입니다. 이 데이터는 UC Irvine Machine Learning Repository 에서 다운로드 할 수 있습니다.
첫 번째 데이터 세트는 예측 클래스(악성 또는 양성 유방 종양)를 찾는것입니다.

이 특징들은 세포 핵 속성을 특성화하고 유방 종양의 미세 바늘 흡인 (FNA) 이미지 분석으로 생성되었습니다.

  • 샘플 ID (코드 번호)
  • 덩어리 두께
  • 셀 크기의 균일 성
  • 세포 모양의 균일 성
  • 한계 부착
  • 단일 상피 세포 크기
  • 베어 핵의 수
  • 혈청 염색체
  • 정상 핵의 수
  • 유사 분열
  • 클래스, 즉 진단

 

결측치 데이터

결측치 값은 MICE 패키지로 정리 될 수 있습니다.
아래 사이트에 좋은 예제와 튜토리얼을 보실 수 있습니다.

https://shirinsplayground.netlify.com/2018/04/flu_prediction/

데이터 탐색

  • 분류를 위한 반응 변수

더 많은 정보는 다음 URL에서 확인하실 수 있습니다: https://shiring.github.io/machine_learning/2017/04/02/unbalanced

  • 회귀에 대한 반응 변수

 

  • Features

 

  • 상관 관계 그래프

 

주성분 분석

 

다차원 스케일링

 

t-SNE 차원 감소

 

R을 위한 머신러닝 패키지들

caret

 

트레이닝, 검증 및 테스트 데이터

 

 

회귀 분석

 

분류

Decision Tree

rpart

Random Forests

Random Forests 예측은 여러 분류 트리 생성을 기반으로 하며 분류, 회귀 작업 모두에 사용될 수 있습니다. 여기서는 분류 작업을 보여 줍니다.

savePredictions = TRUE를 지정하면 model_rf$pred를 사용하여 교차 유효성 검사에 액세스 할 수 있습니다.

 

 

불균형한 데이터 다루기

운좋게도, carat은 오버 샘플링 및 언더 샘플링 기술을 교차 검증 리샘플링과 통합하는 것을 매우 쉽게 만듭니다. 샘플링 옵션을 trainControl에 추가하고 down- 이라 불리는 under- 샘플링을 선택합니다. 나머지는 원래 모델과 동일하게 유지됩니다.

 

Feature Importance

 

  • 테스트 데이터 예측

Extreme gradient boosting trees

Extreme gradient boosting (XGBoost)익스트림 그래디언트 부스팅은 감독 학습을 위한 그래디언트 부스팅 보다 빠르고 개선된 구현입니다.

“XGBoost는 오버 피팅을 제어하기 위해보다 정규화 된 모델 형식화를 사용하여 더 나은 성능을 제공합니다. – “Tianqi Chen, xgboost의 개발자

XGBoost는 분류 및 회귀 트리 집합 (CART)의 예측 합계를 의미하는 트리 합계 모델입니다. XGBoost는 Random Forests와 비슷하지만 모델링 교육에 다른 접근 방식을 사용합니다. 분류 및 회귀 작업에 사용할 수 있습니다. 여기서는 분류 작업을 보여줍니다.

 

  • Feature Importance

  • predicting test data

 

캐럿에서 사용 가능한 모델

https://topepo.github.io/caret/available-models.html

Feature Selection

전체 데이터 세트에서 기능 선택을 수행하면 예측 편향이 발생할 수 있으므로 교육 데이터 단독으로 전체 모델링 프로세스를 실행해야합니다!

  • 상관 관계

모든 피처 간의 상관 관계가 계산되고 corrplot 패키지로 시각화됩니다. 그런 다음 0.7보다 높은 상관 관계를 가진 모든 피쳐를 제거하고 피쳐를 더 낮은 평균으로 유지합니다.

 

 

  • Recursive Feature Elimination (RFE)

피쳐를 선택하는 또 다른 방법은 RFE(Recursive Feature Elimination)입니다. RFE는 무작위 포리스트 (Random Forest) 알고리즘을 사용하여 피쳐의 조합을 테스트하고 각 피팅을 정확도 점수로 평가합니다. 가장 높은 점수를 가진 조합이 일반적으로 우선적입니다.
>

 

 

  • Genetic Algorithm (GA)

유전자 알고리즘 (Genetic Algorithm, GA)은 자연 선택의 진화 원리에 기초하여 개발되었습니다. 그것은 시간에 따른 선택 모델링을 통해 주어진 유전자형 세트를 가진 개체군을 최적화하는 것을 목표로합니다. 각 세대 (즉 반복)에서 각 개인의 적합성은 유전자형에 따라 계산됩니다. 그런 다음, 적자는 다음 세대를 생산하기 위해 선택됩니다. 이 후속 개체의 생성은 부모 대립 유전자의 (재) 조합으로 인한 유전형을 갖게됩니다. 이 새로운 유전형은 다시 각 개인의 적합성을 결정합니다. 이 선택 과정은 지정된 수의 세대 동안 반복되며 (이상적으로) 유전자 풀에서 적자 대립 유전자가 고정되도록 유도합니다.
이 최적화 개념은 기계 학습에서의 피쳐 선택 프로세스와 같이 비 진화 모델에도 적용될 수 있습니다.

 

caret을 사용한 하이퍼 매개 변수 튜닝

  • 데카르트 격자(Cartesian Grid)
  • mtry: 각 분할에서 후보로 임의로 샘플링 된 변수의 수

 

  • 무작위 검색

 

h2o로 그리드 검색

R 패키지 h2o는 오픈 소스 시스템 학습 및 심층 학습 플랫폼인 H2O에 편리한 인터페이스를 제공합니다. H2O는 분류, 회귀 및 심층 학습을위한 광범위한 일반 기계 학습 알고리즘을 배포합니다.

트레이닝, 검증 및 테스트 데이터

분류(Classificaation)

랜덤포레스트 (Random Forest)


이상으로 R 에서 사용 가능한 머신러닝 기법들을 다뤄봤습니다. 더 많은 머신러닝 게시물에 관심이 있다면 https://shirinsplayground.netlify.com/categories/#posts-list-machine-learning – https://shiring.github.io/categories.html#machine_learning-ref 에서 machine_learning 카테고리 목록을 확인하십시오.


소스: Code for Workshop: Introduction to Machine Learning with R

(Visited 30 times, 1 visits today)
Next Post

Written by

Related Post

lime 패키지로 Keras 이미지 분류 모델링
우리는 keras로 이미지 분류 모델을 training 하는 것이 얼마나 쉬운지 지난 게시물을 통해 알 수

댓글 남기기