728x90

데이터 분석 31

Step2. 머신러닝을 시작하기 전에

머신러닝을 시작하기 전에 알아야 할 것은 특성 공학(feature engineering) 이다. 특성 공학이란 머신러닝 프로젝트에서 훈련에 사용할 좋은 데이터(특성)들을 찾는 것이다. 에러, 이상치, 잡음으로 가득하면 결과가 좋지 않게 나오는 것은 당연하기 때문에 특성 공학에 시간을 쏟는 것은 절대 시간을 버리는 것이 아니다. 특성공학에는 두 가지 작업을 포함한다. 특성 선택(feature selection) : 가지고 있는 특성 중에서 훈련에 가장 유용한 특성을 선택 특성 추출(feature extraction) : 특성을 결합하여 더 유용한 특성을 만든다. 모델이 새로운 샘플에 얼마나 잘 일반화될지 아는 유일한 방법은 새로운 샘플을 실제로 적용해보는 것이다. 그렇게 하기 위해 주로 쓰는 방법은 훈련 ..

Step1. 머신러닝이란.

# 머신러닝 데이터를 기반으로 학습하는 컴퓨터 프로그래밍. 머신러닝 기술을 통해 대용량의 데이터를 분석할 때 겉으로 보이지 않았던 패턴을 발견하게 되는데 그것을 데이터 마이닝(data mining) 이라고 한다. # 머신러닝의 종류 사람이 관여하여 훈련(학습)하는 것의 여부 (지도학습, 비지도학습, 준지도학습, 강화 학습) 실시간으로 학습의 능력을 키워나가는지의 여부(온라인학습, 배치 학습) 알고 있는 데이터와 새로운 데이터를 비교하는지, 훈련 데이터 셋에서 패턴을 발견하여 예측하는지의 여부(사례 기반 학습, 모델 기반 학습) (1) 지도학습 알고리즘 k-NN 알고리즘 선형 회귀(Linear Regression) 로지스틱 회귀(Logistic Regression) 서포트 벡터 머신(SVM; Support..

[Python] 분산 분석(ANOVA) : feat.크루스칼-왈리스 순위합 검정- (2)

이전 게시물에 이어서 만약 등분산이었을 때의 분산분석을 해보자. stats.f_oneway(iris.loc[iris.species == "setosa", "petal_length"], iris.loc[iris.species == "versicolor", "petal_length"], iris.loc[iris.species == "virginica", "petal_length"]) ------------------------------------------------------------------------- F_onewayResult(statistic=1180.161182252981, pvalue=2.8567766109615584e-91) 등분산 일 때의 분산분석은 stats.f_oneway() 를 사..

[Python] 분산 분석(ANOVA) : feat.(SST,SSE,SSB) - (1)

분산 분석(ANOVA : Analysis of Variance) k 개의 집단을 비교하여 다름을 판단하는 것. (k : 3개 이상의 유한한 개수) 분산 분석의 대립가설은 많은 경우의 수를 가지고 있다. 그래서 최소한 2개의 집단은 차이가 있을 것으로 판단한다. 일표본 검정 -> 독립 2표본 -> 분산분석 -> 회귀분석으로 확장된다. 모집단 A, B, C 가 있고 모두 정규분포를 따른다고 가정한다. 각각의 모집단에서 표본을 추출하는데 데이터 2개씩 가져온다고 가정해보자. 우리는 뽑아낸 표본들의 데이터들에 대해 Y의 다름이 얼마나 되는지 측정하고 싶다. 하지만 데이터에서 전체 평균을 빼고 모두를 더하면 무조건 0 이 나온다. 그래서 그 편차를 제곱을 한다. SST = SSE(Sum of Square Erro..

[Python] 카이제곱 검정(교차분석)

# 카이제곱 검정(Chi-square : χ2) 질적자료와 질적자료간에 서로 통계적으로 관계가 있는지 판단하는 검정 카이제곱 분포를 기반으로 관찰된 빈도와 기대되는 빈도와 의미있게 다른지 여부를 검증한다. 예시를 통해 알아보자. - 예제 데이터 수집 귀무가설 : 성별과 사람이 안경을 쓰는 것은 관련성이 없다. 대립가설 : 성별과 사람이 안경을 쓰는 것은 관련성이 있다. 만약 합계는 변하지 않는다고 가정했을 때 귀무가설이 맞다면 예상할 수 있는 값이 있을 것이다. 그것이 바로 기대값(Expected Value) 이다. 그래서 관찰된 값과 기대값 사이의 차이가 거의 없으면 귀무가설을 따를 수 있다. 하지만 관찰된 값과 기대값 사이의 차이가 많다면 대립가설을 따를 수 있다. 이 때, 기대값을 모두 더한 값은 ..

[Python] 대응 2표본 검정(Paired test) - (2)

♪ 대응 2표본 검정 - (1) Paired t-test - (2) Wilcoxon's signed rank test 이전 게시물에서는 대응 2표본 t 검정(Paired t-test) 에 대해서 알아봤다. 하지만 정규성이 만족했을 때의 이야기이므로 이번에는 정규성 가정이 깨졌을 때를 이야기해보자. Wilcoxon's signed rank test 사전(pre)과 사후(post)가 함께 있으니 두 집단처럼 보이지만 사전 - 사후 이니 결국 한 집단이다. 결국 D(difference) 만 본다면 일표본 검정과 같아진다. 그래서, 사전의 양적 자료와 사후의 양적 자료를 뺀 값이 정규성 가정을 만족하지 않을 때 사용한다. [가설검정] 귀무가설 : 다이어트는 몸무게를 줄이는 것에 효과가 없다. (사전 몸무게 = ..

[자료구조] Heap(힙)

우선 순위 큐를 위한 자료구조 Heap 이란? Heap 이란 자료구소 형태 중 하나로서 우선순위 큐를 위해 사용한다. 예를 들어 최대값 또는 최소값을 계속 반환해야 할 때 효율적이다. import heapq import heapq heapq 모듈을 선언하여 힙 자료구조를 사용할 수 있도록 한다. 기본적인 내장 모듈이므로 따로 다운받을 필요는 없다. heapq.heapify(배열) - 배열을 heap 구조로 변환 heap1 = [1,3,2,6,8,0,6] heapq.heapify(heap1) heap1 ----------------------------------- [0, 3, 1, 6, 8, 2, 6] [1, 3, 2, 6, 8, 0, 6] --> [0, 3, 1, 6, 8, 2, 6] ? 어떤 원리로 ..

[Python] 대응 2표본 검정(Paired test) - (1)

♪ 대응 2표본 검정 - (1) Paired t-test - (2) Wilcoxon's signed rank test ※ 대응표본(paired sample) - 두 모집단으로부터 표본을 각각 추출할 때 표본 각각의 인자가 서로 대응되는 표본 - 사전(pre)과 사후(post)를 비교할 때 주로 사용한다. 만약에 이런 질문을 받았다고 생각해보자. "다이어트 프로그램이 체중 감량하는데 효과가 있다는 것을 증명해봐!" 이런 상황일 때 대응 2표본 검정을 실행시키면 된다. 모집단 A(Pre) 와 모집단 B(Post)가 있다고 가정하자. 각 모집단에는 인자들이 있을 것이고 서로 대응한다. 예를 들어, 다이어트 프로그램을 하기 전(Pre)과 후(Post) 라고 정하였다. 귀무가설은 "다이어트 프로그램을 하기 전의 ..

[Python] 독립 2표본 검정(Two sample test)

♪ 독립 2표본 검정 - 두 개의 독립적인 모집단에 대한 평균에 통계적으로 유의한 차이가 있는지를 검정하는 방법. - 독립 : A 집단의 양적 자료가 B 집단의 양적 자료에게 영향을 주지 않는 상태 이제 과정을 진행해보겠다. 독립 2표본은 모집단이 2개가 존재한다. (모집단 A, 모집단 B) 평균은 모집단을 대표하는 값이다. 귀무가설 : A집단의 평균과 B집단의 평균은 같다. 대립가설 : A집단의 평균과 B집단의 평균은 같지 않다. 유의수준 = 0.05 귀무가설과 대립가설이 주어졌다. 이제 귀무가설과 대립가설 중 하나를 선택하기 위해서는 모집단에서 표본을 추출하여 평균을 알아보자. 가정해 보았을 때 A 표본의 평균 - B 표본의 평균 = 0 이라면 귀무가설에 가까울 것이고, A 표본의 평균 - B 표본의..

[Python] 일표본 t 검정(One sample t-test)

일표본 t 검정을 공부하기에 앞서 가설검정에 대해 알아보겠다. ※ 가설검정이란? 모집단에 대한 입장(주장)에 대해 표본을 추출하여 수집된 데이터에 근거하여 그 입장(주장)이 맞다고 할 수 있는지를 통계적으로 검정하는 것이다. 가설에는 "귀무가설" 과 "대립가설" 이 있다. 귀무가설(歸無假說; Null hypothesis) : 모집단에 대한 기존의 생각(입장) 대립가설(對立假說; alternative hypothesis) : 귀무가설과 다른 새로운 생각(입장) 표본의 데이터를 근거로 귀무가설과 대립가설 중에서 하나를 선택하는 과정이 가설검정이다. import scipy.stats as stats # 분석에 필요한 라이브러리 ♪ 일표본 t 검정(One sample t-test) - 한 개의 모집단을 이루고 ..

728x90