목록Total (94)
Stats & AI tech blog - '일단 시도함'
1. 콕스비례위험모형이란?위험함수에 공변량에 대한 회귀식을 포함하는 모형으로 여러 설명 변수들이 생존 시간에 미치는 영향을 평가하는데 사용된다. 생존시간 분포에 대한 가정이 필요없고, 추정된 회귀계수로부터 위험비(HR)를 구할 수 있어 널리 사용된다. 콕스비례위험모형은 대표적인 준모수적 방법을 사용하는 모형이다.아래 모형식에서 자세히 살펴보겠지만, Cox모형식은 비모수적 부분과 모수적 부분으로 구성되어있다. 2. Cox 모형 가정비례위험가정 : 각 설명 변수들이 위험률에 미치는 영향이 시간에 따라 변하지 않는다 선형성 가정 : 설명 변수와 로그 위험률 사이에 선형 관계가 있다.독립성 가정 3. Cox 모형식설명변수 $X = (X_1, X_2,,,X_p)$가 있는 콕스비례위험모형의 t시점에서의 위험함수는..
1. Kaplan-Meier 생존곡선Kaplan-Meier Estimation을 통해 시간에 따른 생존률을 확인할 수 있다. 집단 간 생존곡선을 비교하기에 용이하다.추정 방법은 아래 순서로 진행된다. 자료를 관찰기간 순서대로 정렬한다.사건이 발생한 시점의 구간생존률 $\hat{P}(t)$를 구한다.$$\hat{P}(t) = \frac{t시점에서의 생존자 수}{t시점까지의 관찰대상자 수}$$구간생존률로부터 누적생존률 $\hat{S}(t)$를 구한다.$$\hat{S}(t) = \hat{S}(t-1) \times \hat{P}(t)$$ * 누적생존률 $\hat{S}(t)$를 구하는데는 조건부확률 개념이 들어간다.예를 들어, 여섯번째 시점에서의 누적생존률 $\hat{S}(T=6)$은$$\hat{S}(T=6) ..
1. 생존 분석(survival analysis)이란?어떤 '사건'이 일어날 때까지의 '시간'을 관심있는 반응변수로 두고 분석하는 통계 기법이다.'사건'이란 사망, 질병 발생, 재발, 회복 또는 일어날 수 있는 관심있는 경험이 될 수 있다.'시간'은 한 개인을 추적했을 때, 사건이 일어날 때까지 걸린 기간을 의미한다. 생존분석에서 시간 변수를 '생존시간'이라고 표현하는 경우가 많고, 사건의 발생을 '실패'로 표현하기도 한다.하지만 경우에 따라 생존 시간이 '검사 이후 진단까지 경과된 시간'처럼 긍정적으로 해석되는 경우도 있다. 2. 용어중도 절단 (censoring)아래의 경우처럼 생존 시간에 대한 어느 정도의 정보는 가지고 있지만 정확한 생존시간을 모를 때 발생한다. - 연구 종료까지 사건이 발생하지..
1. SMOTE(synthetic minority oversampling technique)란?데이터 불균형을 해결하기 위해 소수 범주의 개체 수를 늘리는 오버샘플링(Oversamping)기법 중 하나이다.기존 Oversampling기법과는 달리 데이터를 랜덤복원추출로 생성하지 않고, KNN기반으로 소수 범주의 데이터들을 적절하게 조합하여 새로운 데이터를 만들어 낸다. 2. SMOTE 절차소수 범주(minority class)의 데이터 하나를 선택한다.소수 범주 중에서 해당 데이터와 가까운 k개를 선택한다.관측치들 간의 거리를 계산한다.랜덤하게 선택된 0~1 사이의 값을 곱한다.직선 위에 새로운 데이터를 생성한다. 3. SMOTE 한계점 - 실제 소수 범주의 특성을 온전하게 반영하지 않을 수 있다..
R에서 그래프로 탐색적 분석을 수행할 때, 주로 아래 순서대로 시각화를 진행한다. 1. 단변량 시각화: 변수의 분포 이해 (히스토그램, 박스플롯, KDE, 막대그래프) 2. 이변량 시각화 : 두 변수 간의 관계 파악 (산점도, 히트맵, 라인플롯) 3. 다변량 시각화 : 세 개 이상의 변수 간 관계 파악 (페어플롯, 병렬좌표, 히트맵) 아래는 자주 사용하는 몇 가지 그래프에 대한 예시 코드이다. 밀도추정그래프 (KDE)# 이탈여부에 따라 분포가 어떻게 다른지 확인df %>% ggplot(aes(x = tenure, fill = fct_rev(Churn), alpha = .5))+ geom_density() 평균 막대 그래프 - fct_rev()를 통해 레벨 거꾸로 표현 - stat = 'summa..
이번 포스팅에서는 R에서 K-Means Clustering을 수행하는 방법에 대해 알아보겠다. K-Means Clustering에 대한 개념 설명은 아래 게시글을 참고하면 된다.2024.02.26 - [Machine Learning/Clustering] - [머신러닝] K-Means Clustering [머신러닝] K-Means ClusteringK-Means Clustering 1) K-Means 알고리즘이란? 비지도학습에 속하는 머신러닝 기법으로 데이터를 유사한 특성을 가진 K개의 군집(Cluster)으로 묶는 알고리즘이다. K개의 점과의 거리를 기반으로 구현된다meowstudylog.tistory.com K-Means Clustering은 아래 절차대로 수행하면 된다.데이터 분할 및 전처리군집 수..
1. K-Means 알고리즘이란?비지도학습에 속하는 머신러닝 기법으로 데이터를 유사한 특성을 가진 K개의 군집(Cluster)으로 묶는 알고리즘이다. K개의 점과의 거리를 기반으로 구현된다는 면에서 K-NN 알고리즘과 유사하지만,K-NN은 지도학습 방법으로 Classification 알고리즘이고,K-Means는 비지도학습 방법으로 Clustering 알고리즘이다. 비지도학습인 Clustering은 정답이 되는 변수가 없기 때문에 분류와 달리 모델 예측 성능을 평가하기 보다이런 식으로 군집화 될 수 있구나 정도만을 파악할 수 있다. 2. K-Means 알고리즘 절차 1. 군집 개수 (K) 설정 > 2. 초기 중심점 설정 > 3. 데이터를 군집에 할당 > (4. 중심점 재설정 > 5. 군집에 재할당) 중..
1. 불균형 데이터란?우리가 관심있어하는 종속변수가 범주형 데이터일 때, 범주 항목의 비율이 불균형한 데이터를 말한다.관심있는 비정상 관측치가 정상 관측치보다 적은 경우가 실무에서는 굉장히 많다.임상 데이터에서 특정 질병의 정상 / 비정상 환자제조업에서 제품의 양품 / 불량품통신업에서 유지 / 이탈 고객금융업에서 정상 / 비정상 거래많은 비율을 차지하는 범주를 '다수 범주 (majority class)', 적은 비율을 차지하는 범주를 '소수 범주 (minority class)' 라고 한다. 2. 불균형 데이터 문제점불균형 데이터로 훈련한 모델은 소수 범주를 제대로 분류하지 못할 가능성이 크다.이런 경우 애초에 정상 데이터가 많으니까 모두 정상으로 분류하더라도 높은 정확도를 가지게 된다. (비정상은 하..
라이브러리 & 데이터 불러오기# librarysetwd("C:/Users/PC2/Documents/Rcode")req 변수명 변경# 충돌 에러 (unused argument error) 발생할 경우 패키지 명시해주기data %>% dplyr::rename(Annaul_Income = 'Annual Income (k$)', Spending_Score = 'Spending Score (1-100)') 변수 타입 변경# 동시에 여러 컬럼 변경data[,1:11] % mutate_if(is.character, as.factor) Factor 변수 처리 # factor로 변경# ordered=T는 데이터가 순서형임을 뜻함data$quarter % mutate(Time = factor(Tim..