본문 바로가기

전체 글56

변수 선택(Feature Selection) - Filter, Wrapper, Embedding 방법 지도학습(supervised learning)의 변수 선택(Feature Selection)의 종류 Filter 방법 다중 t-검정 기반(분류분석인 경우) 다중 correlation 기반(회귀분석인 경우) Wrapper 방법 All Subsets(모든 가능 조합 다 해보기) Backward Elimination(후진 소거법) Forward Selection(전진 선택법) Stepwise Elimination/Selection(단계적 제거/선택법) Backward, Forward 조합 Embedding 방법(모델 내장) Ridge(L2 정규화) Lasso(L1 정규화) Elastic Net(L1, L2 정규화) Decision tree Random Forest 등 Wrapper 방법 sklearn의 RFE.. 2023. 3. 8.
상관계수 검정 - Pearson, Spearman, Kendall 상관분석(correlation analysis) 상관분석이란 두 변수 사이의 연관성에 관한 분석이다. 상관계수의 유형 피어슨(Pearson) 상관계수 : 연속형의 두 변수들을 상관관계 측정 방식으로 변수가 정규분포를 따른다고 가정할 때 사용. 가장 대표적인 상관계수이다. 스피어만(spearman) 상관계수 : 정규분포를 심하게 벗어나는 두 변수들의 상관관계를 측정하는 방식으로 순서 자료의 상관관계를 측정하는 경우에도 이용된다. 자료의 순위를 이용한 상관계수이다. 켄달(Kendall)의 타우(Tau) : 스피머만 상관계수와 사용목적은 동일하나 계산방식이 다르다. 자료의 순위를 이용한 상관계수이다. 피어슨 상관계수 공분산을 이용하여 구한다. 가설 - 귀무가설 H0 : 두 변수 간에 모상관계수 p는 0이다. .. 2023. 3. 8.
단순/다중 선형회귀 모형 - 유의성 검정 / 적합도 측정 회귀분석의 종류 종류 특징 모형식 선형회귀 단순회귀(simple regression) 독립변수가 1개 종속수와의 관계가 직선 다중회귀(multiple regression) 독립변수가 k개 종속변수와의 관계가 선형(1차함수) 다항회귀(polynomial regression) 독립변수가 k개 종속변수와의 관계가 1차함수 이상 비선형 회귀(Non-Linear regression) 회귀식의 모양이 미지의 모수들의 선형관계가 아닌 경우 단순선형회귀모형 유의성 검정 가정 표본이 정규 분포를 따른다 등분산성을 가진다. 가설 귀무가설 H0 : 회귀계수는(기울기)는 0이다. 종속가설 H1 : 회귀계수는 0이 아니다. 모집단의 기울기가 0이라면 X변수는 무의미한 변수임을 뜻한다. 즉, 귀무가설 H0이 사실일 때 회귀모형의.. 2023. 3. 6.
비모수 검정 - Wilcoxon rank-sum(Mann-Whitney U) / Wilcoxon Signed rank test Mann-Whitney U Test Wilcoxon rank-sum(아래 나올 Wilcoxon signed-rank test와 다름) 검정이라고 불리기도 한다. U값을 계산하기 때문에 U 검정이라고 한다. 두 독립인 모집단의 분포를 비교하는 검정으로, 두 표본 t-검정의 비모수(nonparametric) 버전 이라고 보면된다. 두 집단 각각의 값들의 순위들을 합한 것을 사용한다. 만약 두 집단이 비슷한 분포를 하고 있다면 각 순위들의 합도 비슷할것이라는 가정으로부터 시작 가설 귀무가설 H0 : 두 모집단의 분포는 동일하다. 대립가설 H1 : 두 모집단의 분포는 동일하지 않다. U값 계산 R1, R2 = 그룹 1과 2의 값들을 섞어 순위대로 세웠을 때 각각의 순위 합 n1, n2 = 그룹 1, 2의 관측치.. 2023. 3. 2.
범주형 자료 검정 - Chi-Squared Test 카이제곱 검정(Chi-Squared Test) 카이제곱검정은 주로 범주형인 자료를 분석하는데 활용된다. 범주형 자료 분석은 크게 적합도 검정(goodness of fit test), 독립성 검정(test of independence)으로 나누어진다. 검정방법 종류 설명 적합도 검정(goodness of fit test) 하나의 범주형 변수에 대해 관측 값들이 어떤 분포를 띄는지 검정 독립성 검정(independence test) 서로 다른 두 범주형 변수 간에 연관성이 있는지를 검정 적합성 검정(goodness of fit) 각 범주마다 수행해야 한다. 검정 통계량 각 범주별 빈도와 기대빈도의 차이의 크기를 이용한다 * 파이썬의 경우 scipy.stats.chisquare 함수에 관측치와 예측치를 입력하.. 2023. 3. 2.
분산 분석 - Analysis of Variance(ANOVA) 분산분석이란? 연속형 자료에 대한 2개 이상의 그룹 간의 평균차이를 검정하는것 평균의 차이를 파악하기 위해 변동성을 이용한다. 그룹별 평균이 다르다는 것은 평균들의 변동성이 크다는 사실을 의미한다. 용어 설명 요인(factor) : 모집단(그룹)의 구분기준.(나에게는 feature라는 명칭이 조금더 와닿는다) 처리(treatment) : 요인을 구성하는 각 모집단(A타입, B타입, C타입) 요인의 개수에 따라 일원분산분석(one-way ANOVA), 이원분산분석(two-way ANOVA) 등으로 구분한다. 일원분산분석(One-way ANOVA) 일원배치 자료의 구조 1개의 요인에 대해 k개의 처리(그룹)으로 분류되어있는 자료 각 처리(그룹)마다의 표본수가 달라도 됨. 일원분산분석의 가정 정규성 등분산성 .. 2023. 3. 2.
정규성 검정 및 변환 정규성 검정 검정 대상 검정 방법 검정/변환식 Python 라이브러리 비고 정규성 검정 Q-Q Plot 표준 정규 분포의 백분위수 statsmodels.api.qqplot 시각적 확인만 가능 직선형태일수록 정규성을 가짐 Shapiro-Wilks scipy.stats.shapiro Kilmogorov-Smirnov (ks test) * sup = max scipy.stats.kstest 누적분포함수와의 가장 큰 차이를 측정 python 라이브러리 사용시 표준화를 먼저 진행해야한다. (유사) 정규 분포로 변환 skewness 를 제거하여 정규성을 가지도록 변환하는 방법들. * 정규화(normalize)와는 다르다. 정규화란? 변수값을 최소 0과 최대 1구간으로 치환하는 것 1. Box-Cox 변환을 모두 해.. 2023. 2. 28.
표본/분산 차이에 대한 가설 검정 방법 평균/분산 차이에 대한 검정 검정 대상 검정 방법 검정/변환식 Python 라이브러리 비고 모평균 표본평균 z-검정 scipy.stats.norm.cdf scipy.stats.norm.ppf 모 표준편차를 알아야 함 t-검정 scipy.stats.t.cdf scipy.stats.t.ppf scipy.stats.ttest_1samp 모 표준편차를 몰라도 됨 모비율표본비율 확률에 대한 z-검정 scipy.stats.norm.cdf scipy.stats.norm.ppf statsmodel.stats.api.proportions_ztest 표본 확률이 근사적 정규분포를 따른다. p : 평균 p(1-p)/n : 분산 모분산표본분산 카이제곱 scipy.stats.chi2.cdf scipy.stats.chi2.ppf.. 2023. 2. 28.
통계적 가설 검정 방법 가설 H0 / 귀무가설 / Null Hypothesis 대립가설이 증명되기 전까지 유지하는 가정 H0이 옳음을 증명할 필요는 없다 법정에서 무죄추정의 원칙과 비슷 H1 / 대립가설 / Alternative Hypothesis 채택하려면 증명이 필요함 증거가 강하다면 귀무가설을 기각한다(reject H0) 증거가 불충분하면 -> 귀무가설을 기각하지 못한다(do not reject H0) Test-statistic / 검정 통계량 절대값이 0보다 커질수록 H1이라는 증거가 강해짐 P-value - H0 귀무가설이 옳을 확률과 비례함 대체로 0.05(5%) 기준으로 판단한다 가설검정의 절차 두가지 가설을 설정한다 귀무가설이 맞다는 전제하에 절차를 시작 대립가설에 대한 증거값을 계산 방법1) 유의 확률에 의한 .. 2023. 2. 28.
빅데이터 개요 빅데이터 빅데이터란, 사회 전반에서 빠르게 생성되는 다양한 유형의 방대한 데이터이다 기업에서는 빅데이터를 다른 기업과의 차별화를 위한 리소스로 인식하고있다. 빅데이터를 활용하는 비즈니스가 급속히 증가하는 중이다. 사회 전반에서 빅데이터의 활용이 점점 중요해지고 있다. 디지털 전환 디지털 전환이란 사회에서 발생하는 여러 현상/사건 등을 데이터화 하여 새로운가치를 발견하고자 하는 활동이다. 디지털 기술혁신으로 인해 전 산업분야에 걸쳐 디지털 전환이 진행되었다. IoT의 발달로 수 많은 장치와 기계등에서 방대한 양의 데이터가 발생하고있다 모바일과 웹을 통해 다양한 유형의 대용량 데이터가 빠르게 발생하고 있다. 빅데이터의 특성 5V Volumn : 대용량 Variety : 다양한 형태 Velocity : 고속생.. 2023. 2. 28.
GitHub - 19가지 Pull Request 작성 요령 최근 들어 꼼꼼하신 분들과 일을 하다 보니 PR 요청에도 많은 신경을 쓰게 된다. 정리되지 않은 머릿속의 관행과 지식 정도로 PR을 작성하곤 했는데, 글로 정리해두는 것도 좋을 것 같다. * PR : Pull Request * 보이 스카우트 규칙 : 수정 전보다 수정후 더 코드는 깔끔하게 유지되어야 한다는 규칙 1. 작게 유지할 것 PR의 규모는 작게 유지하는 것이 좋다. 개발하면서 코드를 작성하고 리팩토링 하고, 포맷팅, 보이 스카우트하는 것이 매우 유혹적이지만, 일반적으로 최고의 개발자들은 모든 것을 한 번에 바꾸고 싶은 유혹에 대해 저항한다. 능숙한 개발자들은 단일 목표를 유지하고 최소한의 코드 변경으로 작업을 완료한다. 일부는 심지어 '줄 삭제', '줄 추가' PR 비율을 가장 높게 하려고 노력한.. 2022. 8. 31.
Clean Code - 깔끔한 변수명(Variable Name) 클린 코드/깔끔한 코드에 대해서 정리해보고자 한다. 이번글에서는 변수명을 어떻게 작성하는게 좋은지 정리하고자 한다. 의도가 분명할 것 변수, 함수, 클래스의 이름은 존재 이유, 수행 기능, 사용방법이 드러나야 한다. 주석이 필요하다면 의도를 드러내지 못했음을 의미한다. 맥락이 분명하다면 짧게 작성하자. 정보와 의미를 담아야 한다 연속적인 숫자는 의미를 담지 못한다. 개념의 구분이 없이 이름만 다른 경우 혼동을 준다. 발음하기 쉬울 것 (다음 예시의 위쪽 변수는 어떻게 읽겠을 수 있을까 ㅡㅡ; 사실상 불가능) 검색하기 쉬울 것 한 글자 변수명은 검색도 어렵고 직접 찾기도 어렵다. 숫자는 constant로 정의해두자. 인코딩을 피하자 헝가리안 표기법처럼 타입을 변수명 앞에 붙일 필요 없다. - 요즘 IDE는.. 2021. 12. 17.