본문 바로가기

Study history33

ADP) 3-3. 파이썬으로 리샘플링, 데이터분할 - 부트스트랩, 일반적 데이터 분할(훈련/테스트), 홀드아웃방법, K-fold 교차분석 파이썬 데이터 리샘플링, 분할 방법들 부트스트랩 모집단에서 추출한 표본에 대해서 또 다시 재표본을 여러번 추출하여 모델을 평가하거나 데이터의 분포를 파악하는 재표본 추출방법이다. 샘플링을 할 때는 단순랜덤 복원 추출법을 사용하여 동일한 크기의 표본을 여러개 생성하므로, 특정 데이터가 여러 샘플에 포함될 수도 있고 혹은 어떠한 샘플에도 포함되지 않을수도 있다. 부트스트랩을 통해 100개의 샘플을 추출했을 때 샘플에 한번도 선택되지 않는 원데이터가 발생할 확률은 36.8%이다. 이러한 데이터를 OOB(out of bag)데이터라고 하며, OOB 데이터의 실제값과 예측값 사이의 오차로 정의되는 값을 OOB-error라고 한다. ensenble 기법들(Bagging, Boosting)에서 파라미터로 Bootst.. 2021. 12. 2.
ADP) 3-2. 파이썬으로 표본 추출: 단순랜덤 추출법, 계통추출법, 집락추출법, 층화추출법 파이썬으로 표본 추출 (Sampling) 하기 단순랜덤추출법 (simple random sampling) 각 샘플에 번호를 부여하여 임의의 n개를 추출하는 방법으로 각 샘플은 선택될 확률이 동일하다. 추출한 element를 다시 집어 넣어 추출하면 복원 추출, 다시 집어넣지 않고 추출하면 비복원 추출이다. pandas의 DataFrame으로 만든 데이터프레임 객체인 df에 .sample() 함수를 써서 전체 데이터 중 일부 샘플을 랜덤으로 추출할 수 있다. df.sample(n=2, replace=False)의 식으로 사용하는데, n은 추출할 샘플의 개수이고 replace는 샘플을 복원해서 뽑을지 여부이다. replace=False로 파라미터를 설정하면, 샘플을 뽑을 때마다 뽑은 샘플을 복원하지 않고 연.. 2021. 12. 2.
ADP) 3-1. 전처리 1탄 (결측치, 이상값, 클래스 불균형 처리방법들) 결측치 처리 방법들 데이터에 있는 결측치들을 처리하는 여러가지 방법들이 있다. 결측값인 채로 처리: 결측값인 채로 모델링 가능한 모델들이 있다. (예: GBDT모델) Zero Imputation: 0으로 대치한다. Constant Imputation: 지정한 상수값으로 대치한다. (예: -9999) 대표값으로 채우기: 해당 열의 평균값, 중앙값, 최빈값 등을 구해서 대치한다. 하지만 결측값이 랜덤하게 발생하는 경우가 아니라면 적절한 방법은 아니다. 단순확률대치법(Single Stochastic Imputation): 관련된 비슷한 데이터 셋에서 랜덤하게 선택한다. (예: Hot-Deck imputation) 다른 변수들로부터 모델을 만들어서 결측값 예측: KNN, DNN, Stochastic regres.. 2021. 12. 2.
ADP) 1-3-1. 탐색적 자료 분석: 요약, 기술통계 (평균, 표준편차, 중위수, 사분위수, 변동계수, 최빈값, 그래프, 왜도, 첨도), 줄기잎그림, 도넛차트, 히스토그램, 상자수염 그림 파이썬으로 탐색적 자료 분석 (EDA) 하기 탐색적 분석은 다양한 차원과 값을 조합해가며 특이점이나 유의미한 사실을 도출하고 분석의 최종 목적을 달성해가는 과정으로서 데이터의 특징과 내재하는 구조적 관계를 알아내기 위한 기법들의 통칭이다. 프린스톤 대학의 Tukey 교수가 1977년 저서를 발표함으로써 EDA가 등장한다. EDA의 4가지 주제는 저항성의 강조, 잔차계산, 자료변수의 재표현, 그래프를 통한 현시성이다. EDA는 데이터이해 단계에서 변수의 분포와 특성을 파악하고, 변수 생성 단계에서 분석목적에 맞는 주요한 요약 및 파생변수 생성하며, 변수 선택 단계에서 목적변수에 의미있는 후보 변수를 선택하기 위해 활용된다. 기술 통계 (Descriptive statisctics) 모집단으로부터 표본을 추출.. 2021. 12. 1.
ADP) 의사결정나무 예제 (+파이썬으로 분류트리, 회귀트리 구현하기) 의사결정나무(=결정트리, Decision Tree)란? 분류와 회귀 문제에 널리 사용한다. 결정에 다다르기 위해 예/아니오 질문을 이어 나가면서 학습한다. 트리의 노드node는 질문이나 정답을 담은 네모 상자이다. 특히 마지막 노드는 리프leaf라고도 한다. if-then 규칙의 가장 마지막 부분, 혹은 트리의 마지막 가지 부분을 의미한다. 트리 모델에서 잎 노드는 어떤 레코드에 적용할 최종적인 분류 규칙을 의미한다. 엣지edge는 질문의 답과 다음 질문을 연결한다. 맨 위의 노드는 루트노드root node이다. 결정 트리를 학습한다는 것은 정답에 가장 빨리 도달하는 예/아니오 질문 목록을 학습한다는 뜻이다. 머신러닝에서는 이런 질문들을 테스트라고 한다. 트리를 만들 때 알고리즘은 가능한 모든 테스트(질.. 2021. 12. 1.