본문 바로가기

반응형

전체 글

(70)
ROC 커브와 AUC (를 이해하기 전 민감도와 특이도 이해하기) 일부내용은 ADsP 시험 공부할 때도 나왔던 내용이다. 오분류표를 살펴보면 다음표와 같다. predict Positive Negative Actual Positive TP FN Negative FP TN ROC커브를 이해하기 위해서는 민감도와 특이도를 알아야한다. 민감도(Recall or Sensitivity) : TP/(TP+FN)-실제로 P인 것들 중 P로 예측한 비율 특이도(Specificity): TN/(FP+TN): 실제로 N인 것들 중 N으로 예측한 비율 ROC 그래프는 X축에 '1-특이도', Y축에 '민감도' 를 두어 두 평가값의 관계를 모형으로 나타낸다. 1-특이도와 민감도는 서로 반비례의 관계를 가진다. 어느 한 쪽을 올리려고 하면, 다른 한 쪽은 떨어진다. 예컨대 모든 것을 Positi..
지도학습(supervised learning)-나이브 베이지안 모델 in R(Today I learn) 나이브 베이지안의 모델은 P(A|B)=P(A and B)/ P(B) 이러한 형태를 취하고 있다. 사건 B가 일어날 경우, 사건 A가 나올 확률을 나타낸다. 단순히 갯수를 구해서 식으로 확률을 구할 수 있고, 함수를 사용해 구할 수도 있다. 함수를 사용하는 방법은 다음과 같다. datacamp에서 소개한 라이브러리와 함수이다. # Load the naivebayes package library(naivebayes) # Build the prediction model a
지도학습(supervised learning)-KNN : 정규화에 대해(Today I learn) knn은 기본적으로 각 데이터 별로 떨어져 있는 거리를 구해 구분을 한다. 여기서 문제가 되는 것은 실제 거리를 나타내는 것이 아니라, 카테고리상으로 구분하기 위해 숫자를 쓴 경우다. 예컨대 질병에 걸렸으면 1, 질병에 걸리지 않았으면 0으로 데이터를 나타낸 경우 0과 1로 나타낸 것은 단순히 구분하기 위함이지, 실제의 차이에 기반을 둔 구분이 아니다. 그렇기 때문에 이러한 차이를 실제 차이로 받아들여서는 안된다. 이 문제를 해결하기 위해서 dummy coding을 진행하거나 정규화를 한다. 정규화에 대해 얘기해보자. 정규화를 한다는 것은 rescale을 한다는 것이다. normalize
지도학습(supervised learning)-KNN : 분류에 대해 (today I learn) datacamp에서 배웠던 내용을 정리하고 요약해보는 시간! 지도학습에서 분류는 새로운 데이터가 제시되었을 때, 학습한 데이터를 바탕으로 새롭게 제시된 데이터가 어떤 데이터에 해당하는 지 분류하는 것을 말합니다. 지도학습인 까닭은 사전에 정보들을 (인간이) 라벨링해서 구분시켜놓기(정답?을 알려주기) 때문. 반대로 비지도학습은 정답을 안알려줌! 라벨링을 안해줌. 그냥 비슷해보이는 것끼리 묶어두는 것. datacamp에서 소개된 첫 번째 지도학습: 분류는 표지판을 인식하고 분류하는 작업이다. 많은 자율주행차들이 카메라를 이용해 차량 운행과 관련한 자료를 수집한다. 이 때 조건 중 하나에도 표지판을 이해하고 표지판의 지시에 따라 자동차를 운행하는 것이 하나다. 데이터 캠프에서 소개한 방식 중 하나는 표지판을 ..
[EDA] facet_grid를 더 잘 써보기(Today I learn) 앞서서 facet_grid는 facet_grid에 있는 variable에 따라 구역을 나누는 역할을 한다. R에 있는 mtcars라는 데이터를 이용해서 어떤 느낌인지만 간단하게 살펴보도록 하자. str(mtcars) 위 명령어를 통해 'data.frame':32 obs. of 11 variables: $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ... $ cyl : num 6 6 4 6 8 6 8 4 4 6 ... $ disp: num 160 160 108 258 360 ... $ hp : num 110 110 93 110 175 105 245 62 95 123 ... $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.2..
[EDA] 탐색적 데이터 분석 위키백과에서 탐색적 데이터 분석(EDA)는 ' 기존의 통계학이 정보의 추출에서 가설 검정 등에 치우쳐 자료가 가지고 있는 본연의 의미를 찾는데 어려움이 있어 이를 보완하고자 주어진 자료만 가지고도 충분한 정보를 찾을 수 있도록 여러가지 탐색적 자료 분석 방법을 개발하였다. 대표적인 예로 박스플롯을 들 수 있다.' 라고 설명한다. 탐색적 데이터 분석은 결국 데이터를 이해하는 과정이라고 본다. 각각의 데이터를 요리조리 '탐색'하면서 어떤 방식으로 데이터를 정제하고, 가공할지에 대해 살펴보는 단계라고 생각한다. 시각화를 한다던가, 간단한 통계치로 구현한다던가 하는 방식으로 데이터를 살펴보는 것이다. DATACAMP에서는 박스플롯이외에도 table()함수를 통해 빈도수를 확인한다던가, prop.table() 함..
Power analyses power analyses는 주로 필요한 표본의 갯수를 구하기 위해 사용한다. 이를 위해서는 power, significant level(or alpha), effect size를 알아야함. Power: The probability of rejecting the null hypothesis when it is false. It is also the basis of procedures for estimating the sample size needed to detect an effect of a particular magnitude Power gives a method of discriminating between competing tests of the same hypothesis, the test wi..
[SSizeLogisticBin함수] A/B테스트를 위해 필요한 표본 개수 알아내기 Datacamp에서 배우고 있는 A/B테스트 A/B테스트에서 A/B테스트를 수행하기 위해 필요한 최소한의 표본 개수를 알기 위해 SSizeLogisticBin함수를 쓴다. 라이브러리는 library(powerMediation)로 불러온다. 아래는 Datacamp에서 나온 예시 데이터다. 해당 예시에서는 전환율을 끌어올리기 이를 검증하기 위해 필요한 최소한의 표본 갯수를 알고자 한다. A에서 쓴 디자인을 통해 나온 전환율(30%)

반응형