이서
Data Analyst
300x250
300x250

전체 글 365

파이썬 데이터 분석을 위한 수학 & 통계 - 4회차

두 모집단에 대한 추론 1. 모평균 차이에 대한 추론 (모분산 기지) 모평균 차이에 대한 100(1-α)% 신뢰구간(confidence interval) 2. 모평균 차이에 대한 추론 (모분산을 모르지만 같은 경우) 모평균 차이에 대한 신뢰구간 3. 모평균 차이에 대한 추론 (모분산을 모르며 다른 경우) 모평균 차이에 대한 신뢰구간 4. 모비율 차이에 대한 추론 (표본이 큰 경우) 모비율 차이의 신뢰구간 5. 모분산 비율에 대한 추론 모분산 비율의 신뢰구간 분산분석 - 인과관계 예측이 좋은 의사결정 - 분산분석 : 어떤 요인이 반응치에 영향을 주는지 분석 - 분산분석의 용도 : 분산분석을 통해 의미 있는 요인들을 선별하고, 바람직한 반응치를 얻을 수 있는 수준 범위를 사전에 찾아 놓으면 추후의 분석에 많..

Lv3 | 전처리 | 수치형 데이터 정규화 MinMaxScaler()

의사결정 나무나, 랜덤포레스트 같은 '트리 기반의 모델' 들은 대소 비교를 통해서 구분하기 때문에, 숫자의 단위에 크게 영향을 받지 않습니다. 하지만, Logistic Regression, Lasso 등과 같은 '평활 함수 모델'들은 숫자의 크기와 단위에 영향을 많이 받습니다. 따라서, 수치형 데이터 정규화를 통해 모든 모델에 잘 어울리는 데이터를 만들어주고자 한다. 다양한 수치형 데이터 정규화 방법 중에서, 'Min-Max Scailing' 기법은 간단하다. 가장 작은 값을 0으로, 가장 큰 값은 1로 만들어주는 방법이다. 그리고 그 사이의 값들은 비율에 따라서 0~1 사이에 분포하게 됩니다. # describe를 통해 "fixed acidity"의 데이터의 분포가 어떻게 생겼는지 짐작해 보세요 tra..

파이썬 데이터 분석을 위한 수학 & 통계 - 3회차 - 3

범주형 데이터 분석 1. 적합도 검정(goodness of fit test) - 본격적인 검정을 들어가기 전에 한다. - 관측이나 실험을 통해 얻어진 표본 데이터의 분포가 특정 형태의 분포와 일치하는지 알아보고자 하는 검정 방법 - 범주형 데이터의 관측치와 기댓값과의 차이를 근거로 검정 - 범주의 총 개수 à k - 범주 i의 기대도수(expected frequency) à E_i - 범주 i의 관측도수(observed frequency) à O_i 귀무가설 H0 : “관측 데이터는 특정 분포를 따른다” 귀무가설 H0 : 범주 i의 발생확률 pi 설정 k = 범주의 개수 m = 귀무가설에서 설정한 분포에서 추정한 모수의 개수 실습코드 # 카이제곱 검정 (적합도) print(spt.chisquare([16..

파이썬 데이터 분석을 위한 수학 & 통계 - 3회차 - 2

표본의 분포 1. 통계량과 추정량 확률표본(random sample) 독립적이며 동일한 분포를 따르는 (iid: independent and identically distributed) 확률변수들의 집합 통계량(statistic) 미지의(unknown) 모수를 포함하지 않는 확률표본의 함수 추정량(estimator) 미지의 모수를 추정하기 위한 통계량 불편성(unbiasedness) 추정량의 기댓값이 추정하고자 하는 모수와 같아지는 특성으로서, 좋은 추정량이 되기 위한 첫 번째 요건 정규 모집단에서 일정한 개수의 확률표본으로 만들 수 있는 모평균에 대한 불편추정량 중 표본평균의 분산이 최소(UMVUE) 2. 중심극한정리 표본평균의 분포가 정규분포로 근사 단일 모집단에 대한 추론 구간추정 신뢰구간(conf..

파이썬 데이터 분석을 위한 수학 & 통계 - 3회차 - 1

이산형 확률분포 1. 이산균일분포 - n 개의 결과값이 균일한 확률로 발생하는 확률분포 2. 이항분포 - 성공확률이 일정한 n회의 시행에서 나오는 성공 횟수의 확률분포 PDF 기댓값 분산 실습코드 import scipy.stats as spt import numpy as np import pandas as pd import matplotlib.pyplot as plt # Binomial distribution 이항분포 fig, ax = plt.subplots(1, 1) n=70; p=0.4; m,var,skw,kur=spt.binom.stats(n,p,moments='mvsk') #n 횟수, #moment print(m,var,skw,kur) x = np.arange(spt.binom.ppf(0.01, ..

Lv3 | 전처리 | 이상치 탐지

데이터 중에는 이상치가 존재한다. 이상치는 말 그대로 이상이 있는 데이터다. 일반적인 데이터 패턴과 매우 다른 패턴을 갖는 데이터과 된다. 이러한 이상치 데이터는 모델의 성능을 크게 떨어트립니다. 오늘은 이상치를 탐지하는법을 배우겠다. 대표적인 방법은 IQR 로, 사분위 값의 편차를 이용한다. 이를 boxplot 그래프로 볼 수 있다. import seaborn as sns sns.boxplot(data='데이터셋')

Lv3 | EDA | 타깃 변수 분포 시각화 seaborn distplot()

Lv3 부터 EDA과정에 시각화를 진행한다. 가장 중요한 변수, 예측하고자 하는 변수인 종속변수의 분포를 시각해보자. matplotlub, seaborn 라이브러리로 시각화를 출력할 수 있다. 시각화 결과를 통해 머신러닝 방향성을 잡을 수 있다. import matplotlib.pyplot as plt import seaborn as sns 시각화를 진행할 때는 보통 copy() 메서드로 복사본을 생성한 후 진행한다 dfcopy=df.copy() seaborn의 distplot() 메서드를 이용한다. sns.distplot(df['피쳐명'],kde=True, bins=None) df['피쳐명']: 출력하고자 하는 컬럼 kde: 그래프에 선을 출력할건지 여부 bins: 출력할 막대그래프 갯수

파이썬 데이터 분석을 위한 수학 & 통계 - 2회차 - 2

확률변수 1. 확률변수의 기댓값 - 확률변수의 결과값을 그 확률 변수의 확률분포를 가중치로 평균한 값 - 확률실험을 무한히 반복했을 때 관측되는 확률변수 값들의 평균 이산형 연속형 기댓값의 특성 2. 분산과 표준편차 확률변수의 분산(variance) 분산의 특성 3. 공분산 두 확률변수의 공분산(covariance) 분산과 공분산의 특성 독립일 경우 공분산이 0이 된다. 4. 상관계수 두 확률변수의 상관계수(correlation coefficient) 상관계수를 하기위해 선형 관계이여야하며, 산점도를 통해 데이터의 형태가 특정한 경우(데이터가 산발적으로 흩어져있는 경우) 전처리를 해준다.

파이썬 데이터 분석을 위한 수학 & 통계 - 2회차 - 1

확률변수와 확률분포 1. 확률변수와 확률분포의 개념 확률변수: 표본공간의 각 원소를 실수 값으로 바꾸는 함수, 확률분포를 가짐 이산표본공간: 유한개 또는 셀 수 있는 무한개의 원소로 구성된 표본공간 이산확률변수: ex) 동전의 앞면이 나올 떄까지의 시행 횟수 연속표본공간: 실직선 상의 임의의 구간으로 나타낼 수 있는 표본 공간 연속확률변수: ex) 사람의 키와 몸무게, 제품의 수명 이산확률분포: 이산표본공간의 확률변수로부터 생성된 확률분포 확률질량함수(probability mass function) 연속확률분포(continuous probability distrubution) -연속적인 값을 갖는 확률변수의 확률분포 -확률분포함수 f(x)는 확률 P(a

Lv3 | EDA | read_csv(), info(), shape, head()

EDA의 첫 번쨰 순서로 가장 기본적인 데이터 불러오기, 데이터 정보 관측하기, 데이터 크기 파악하기, 데이터 피쳐 알아보기를 진행한다. CSV 파일을 pandas DataFrame class로 불러오기 위해 read_csv() 메서드를 활용할 수 있다. df = pd.read_csv(‘경로') info() 메서드를 활용하여 데이터의 피쳐수와 컬럼명, 결측치여부, dtype에 대한 정보를 알 수 있다. df.info() shape attribute를 쓰면 데이터의 행갯수, 열갯수를 출력하여 데이터의 크기를 파악할 수 있다. df.shape head() 메서드를 통해 데이터의 대략적인 정보를 알 수 있다. df.head()

Lv2 | 튜닝 | 하이퍼파라미터, GridSearch 개념 (정지규칙)

하이퍼 파라미터 튜닝은 정지규칙 값들을 설정하는 것을 의미한다. 의사결정나무에는 정지 규칙이라는 개념이 있다. 1. 최대깊이 최대깊이는 최대로 내려갈 수 있는 depth 이다. 뿌리 노드로부터 내려갈 수 있는 깊이를 지정하며 작을수록 트리는 작아지게 된다. 2. 최소노드크기 최소노드크기는 노드를 분할하기 위한 데이터 수이다. 해당 노드에 이 값보다 적은 확률변수 수가 있다면 stop 작을수록 트리는 커지게 된다. 3.최소향상도 최소향상도는 노드를 분할하기 위한 최소 향상도이다. 향상도가 설정값 이하라면 더 이상 분할하지 않는다. 작을수록 트리는 커진다. 4.비용 복잡도 트리가 커지는 것에 대해 패널티 계수를 설정해서 불순도와 트리가 커지는 것에 대해 복잡도를 계산하는 것이다. 이와 같은 정지규칙들을 종합..

파이썬 데이터 분석을 위한 수학 & 통계 - 1회차

모집단과 표본 정의 1) 모집단 통계분석의 연구대상이 되는 모든 개체들의 집합, 올바른 의사결정을 하기 위해 관심을 갖고 연구해야 할 대상 2) 모수 모집단의 특성을 나타내는 수치로서, 올바른 의사결정을 위해 특별히 관심을 갖는 모ㅜ만이 연구의 대상이 된다. ex) 평균, 분산, 표준편차, 비율 등 3) 표본 모집단의 특성을 파악하기 위해 모집단으로부터 일정한 규칙에 의해 추출한 모집단의 부분집합 4) 통계적 추론 모집단의 특성(평균, 분산, 비율 등)을 추측하는 것 ex) 추정(estimation), 가설검정(hypothesis test)-> 귀무가설: 반드시 보편적인 사실, 대립가설: 연구자가 원하는 바 5) 통계량 모집단의 특성(평균, 분산, 비율 등)을 추측하기 위해 사용하는 표본의 함수 6) 추..

Lv2 | 튜닝 | 변수 제거 (drop())

변수 중요도가 낮은 피쳐를 파악하고 나면 차례대로 하나씩 피쳐를 제거하면서 모델을 새로 훈련할 수 있다. 각 모델로 예측하여 성능을 비교한다. 우선 id 피쳐는 예측에 의미가 없는 피쳐이다. id 와 count 를 drop 한 X_train_1 훈련 df 을 새로 생성한다. 예측을 할 때 test 는 훈련 셋과 동일한 피쳐를 가져야 한다. 따라서 동일하게 피쳐를 drop 한 test_1 df 를 생성한다. hour_bef_windspeed 와 hour_bef_pm2.5 피쳐에 관하여도 추가로 drop 을 수행하면서 위의 과정을 반복해한다. 그럼 총 3 쌍의 X_train 셋과 test 셋이 생성된다. 이에 따라 각 모델로 예측한 예측값들을 submission 에 저장한 후, 리더보드에 제출해 점수를 비교..

Lv2 | 튜닝 | 랜덤포레스트 변수중요도 확인 (feature_importances_)

fit() 으로 모델이 학습되고 나면 feature_importances_ 속성(attribute) 으로 변수의 중요도를 파악할 수 있습니다. 변수의 중요도란 예측변수를 결정할 때 각 피쳐가 얼마나 중요한 역할을 하는지에 대한 척도입니다. 변수의 중요도가 낮다면 해당 피쳐를 제거하는 것이 모델의 성능을 높일 수 있습니다. model.feature_importances_

300x250
300x250