210415study

Feature Engineering에 필요한 지식

코드

  • pd.concat() 데이터 프레임 두개를 붙여 새로운 DataFrame을 만듬

  • ().fit_transform(데이터[‘열’]) : 데이터 열을 레이블인코딩해준다.

    라벨인코더 (LabelEncoder)
    문자를 숫자(수치화), 숫자를 문자로 매핑
    문자를 0부터 시작하는 정수형 숫자로 바꿔주는 기능을 제공한다.

  • sklearn.model_selection.StratifiedKFold
    K-FOLD 교차검증을 위한 함수
    Parameters

    • n_splits : default=5
    • shuffle : bool, default=False
    • random_state: (int) default=None

      각 클래스에대한 폴드의 랜덤성을 제어하는 인덱스들에 순서를 부여하고 그 순서의 영향을 미치게 한다.

텍스트 마이닝 (text Mining)

텍스트마이닝은 자연어처리 기술에 기반한다. 인간 언어 중 문자로 표현된 언어를 컴퓨터로 분석 처리하고 그 구조와 의미를 이해하고자하는 기술이 바로 자연언어처리기술이다.
텍스트 마이닝은 한마디로 비정형 텍스트 데이터에서 가치와 의미가 있는 정보를 찾아내는(mining) 기술이라고 할 수 있다. 사용자는 텍스트 마이닝 기술을 통해 방대한 정보 뭉치에서 의미있는 정보를 추출해내고, 다른 정보와의 연계성을 파악하며, 텍스트가 가진 카테고리를 찾아내는 등, 단순한 정보 검색 그 이상의 결과를 얻어 낼 수 있다. 컴퓨터가 인간이 사용하는 언어로 기술된 정보를 깊이 분석하고 그 안에 숨겨진 정보를 발굴해내기 위해서는 대용량 언어 자원과 복잡한 통계적, 규칙적 알고리즘이 적용되어야만 한다.

교차 검증

Train set과 test set으로 평가를 하고 반복적으로 모델을 튜닝하다보면 test set에만 과적합되는 결과가 생긴다. 내가 만든 모델이 test set에만 잘 동작하는 모델이 되는 것이다. 이 문제를 해결하고자 교차검증이 필요하다.
과적합의 원인은 test set이 데이터 중 일부분으로 고정되어있고, 이 일부분의 데이터셋에 대해 성능이 잘 나오도록 파라미터를 반복적으로 튜닝하기 때문에 발생한다. 교차검증은 데이터의 모든 부분을 사용하여 모델을 검증하고 test set을 하나로 고정하지않는다.
img_4.png
전체 데이터셋을 k개의 subset으로 나누고 k번의 평가를 실행하는데, 이때 test set을 중복없이 바꾸어가면서 평가를 진행한다.

K-Fold 교차검증

img_1.png

정의 : K개의 fold를 만들어서 진행하는 교차 검증
사용 이유

  1. 총 데이터 개수가 적은 데이터 셋에대해 정확도 향상
  2. Train, valid, test 세개의 데이터셋으로 분류하는것보다 train과 test로만 분류할 때 학습 데이터 셋이 더 많기 때문

img_2.png

과정

  1. 기존 과정과 같이 training set와 test set을 나눈다
  2. Training을 k개의 fold로 나눈다(위의 그림은 5개로 나눔
  3. 한 개의 fold에 있는 데이터를 다시 k개로 쪼갠 다음, k-1개는 training data, 마지막 한 개한 validation Data set으로 지정한다.
  4. 모델을 생성하고 예측을 진행하여 이에대한 에러값을 추출한다.
  5. 다음 Fold에서는 Vaildation set을 바꿔서 지정하고, 이전 Fold에서 Validation역할을 했던 Set은 다시 training set으로 활용한다.
  6. 이를 K번 반복한다.
Author

이현정

Posted on

2021-04-15

Updated on

2021-04-16

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.