- 🛠머신러닝 선형 회귀 모델의 설명력과 통계적 유의성을 판단하는 기준 1. 선형 회귀 모델의 설명력 1-1. R^2 선형 회귀 모델의 설명력은 R^2으로 평가하며, R^2은 다음과 같이 나타낼 수 있다. R^2 = 1 - (SSR / SST) = (SSE / SST) R^2은 종속변수(y)의 전체 분산(variation)중에서, 모형에 의해 설명되는 정도를 의미하며, 0~1 사이의 값을 가진다. R^2가 1에 가까운 값이 될수록 해당 선형 회귀 모델의 설명력이 좋다는 의미이다.(모델이 데이터의 변동을 잘 설명하고 있다는 것을 의미함) 1) SST (Total Sum of Squares) - 샘플 데이터에 존재하는 종속변수(y)의 전체 흩어진 정도 - 전체 데이터의 변동성 - 모든 데이터 포인트가 데이터의 평균에서 얼마나 멀리 떨어져 있는가 - (모델없이) y가 얼마나 퍼져..
- 🛠머신러닝 선형회귀(Linear Regression) 밑바닥부터 이해하기 0. 선형회귀 '파라미터'와 '종속변수'가 선형 관계인 모형을 선형회귀(Linear Regression) 모형이라고 한다. * 파라미터의 의미 예시) population model : 연봉 = b0 + b1교육정도 + u E(연봉|교육정도) = b0 + b1교육정도 (교육정도에 따른 연봉의 평균값) 이때, b0 = 1, b1 = 0.5, 교육정도 = 10이라고 가정 E(연봉|교육정도) = 1 + 0.5*10 = 6 해석) 교육정도가 10인 사람들의 평균연봉이 6이다. (즉, 교육정도가 10인 사람들은 평균적으로 6을 번다.) (주의, 교육정도가 10인 모든 사람들의 연봉이 6이라는 의미가 아님) * 다음 중, 선형회귀 모형이 아닌 것은? 1. y = b0 + b1X1 + b2X2 2. y = b0 + b..
- 📄 연구 기초 통계(2) 평균(mean), 분산(variance), 공분산(Covariance) 수집한 데이터로 계산을 수행하여 얻은 값을 '통계량'이라고 하고, 이러한 통계량을 통해 대상을 이해하는 과정이 데이터 분석이다. 데이터에서 몇 가지 통계량을 계산하여 요약하면, 데이터가 어떻게 형성되어 있는지 특징짓는 일이 가능해지는데, 이를 기술 통계량 또는 요약 통계량이라고 한다. * 대표적인 기술통계량 대표값(위치 파악) 데이터의 퍼짐 정도(형태 파악) 평균값(mean), 중앙값(median), 최빈값(mode) 분산(variance), 표준편차(standard deviation) - 변수는 확률분포를 가지는데, 이때 확률분포의 위치와 형태를 파악하는것이 중요하다. 위치와 형태를 결정하는 것이 평균, 분산, 공분산이다. 01. 평균(mean) 1-1. 이산변수의 평균 표본 크기 n인 양적 변수 표본..
- 🤖딥러닝 [Docker] 도커로 딥러닝 환경 구축하기 A to Z 1. 도커 이미지 다운 1-1.Docker hub(https://hub.docker.com/)에서 'pytorch' 검색 클릭 1-2. 적절한 버전의 tags선택 1-3. Tag에서 버전 확인 후 copy 1-4. (터미널) 도커에 pytorch 이미지 가져오기 docker pull : docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime 1-5. (터미널) 다운받아진 도커 이미지 확인 docker images 확인결과, PyTorch와 CUDA, cuDNN이 포함된 pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime 이미지가 설치된것을 확인할 수 있다. 이때 IMAGE ID는 26551f1051e7이다. 1-6. (터미널)..
- 📄 연구 기초 통계(1) 확률 변수(Random variable), 확률 분포(Probability Distribution), 정규분포(Normal Distribution), 표준정규분포(Standard Normal Distribution) 01. 변수 - 그 값이 무작위 시행 (random experiment)에 의해 결정되는 것 - 하나의 숫자를 무작위 시행의 각 결과에 할당(assign)하는 함수 - 표본공간에서 실수로의 함수 - 변수가 특정한 값을 취하는 것 = 하나의 사건 - 데이터 중, 공통의 측정 방법으로 얻은 같은 성질의 값 - 통계학에서 변수의 개수는 '차원'이라 표현되기도 함. *서로 독립인 두 사건 P(A∩B)=P(A)P(B) 또는 P(A│B)=P(A) * 독립인 두 변수 P(X=x, Y=y) = P(X=x)P(Y=y) P(X=x|Y=y) = P(X=x) 02. 변수의 종류 변수의 종류에 따라 확률을 계산하는 방법이 다르기 때문에 이를 구분하는 것이 필요. 2-1. 이산 변수 : 셀 수 있는 변수 (finite varia..
- 💻프로그래밍 [Docker] 윈도우11에서 도커 설치하기 1. WSL2 (Window Subsystem for Linux 2) 활성화 - Docker는 linux기반으로 동작하기 때문에, window 환경에서 linux를 사용할 수 있도록 WSL2를 활성화 해야함. 1-1. 관리자 권한으로 Window PowerShell 실행 1-2. 명령어 실행 # Windows SubSystem Linux를 활성화시키는 명령어 > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart # VirtualMachinePlatform 기능을 활성화시키는 명령어 : WSL2 버전에 필요한 명령어 > dism.exe /online /enable-feature /fea..
- 📄 연구 [통계] 사전 확률 (Prior Probability) / 가능도(Likelihood) / 사후 분포(Posterior Distribution) 사전확률(Prior Probability) - 새로운 정보나 데이터를 얻기 전에, 어떤 가설이나 사건에 대해 갖고 있는 초기 믿음 - ex) 코로나에 걸릴 확률이 20%라고 가정했을 때 20%가 그 병에 대한 사전 확률. 아직 어떠한 검사 결과도 보지 않았을 때 그 병에 걸렸을 것이라고 믿는 초기 확률값 가능도(Likelihood) - 주어진 데이터가 특정 가설이나 파라미터값에 대해 얼마나 '잘 맞는지'를 나타낸값 - 사전 확률과는 다르게, 새로운 데이터를 바탕으로 계산됨 - ex) 병원에서 코로나 검사를 받았고 결과가 양성이 나왔다고 했을 때, 이 검사 결과가 처음에 생각했던 그 병을 실제로 가지고 있을 '가능성'을 얼마나 높이는지. 즉, 양성 결과가 나올 확률을 가능도(likelihood)라고 할 수..
- 🤖딥러닝 CrossEntropyLoss Label Smoothing code 01. 클래스 별 weight 계산 # 클래스별 샘플 수 count_class_0 = 10000 #y_train에있는 0과1의 갯수 count_class_1 = 400 # 전체 샘플 수 total_count = count_class_0 + count_class_1 # 클래스별 가중치 계산 weight_class_0 = total_count / (2 * count_class_0) weight_class_1 = total_count / (2 * count_class_1) # 가중치 텐서 생성 weights = torch.tensor([weight_class_0, weight_class_1]) weights = weights.to(device) 02. Label Smoothing Loss function 정의..
- 🤖딥러닝 CalibratedClassifierCV python code 01. Import library & make dataset import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier from sklearn.calibration import CalibratedClassifierCV, calibration_curve from sklearn.metrics import roc_auc_score from sklearn.model_selection import train_test_split from tqdm import tqdm_notebook as tqdm import os i..
- 📄 연구 [코호트] * 코호트 - 특정 기간안에 하나 이상의 포함 기준에 속하는 사람의 집단 - '표현형(phenotype)'이라고도 함 *OHDSI에서의 코호트 정의 방식 - 한 사람은 여러개의 코호트에 속할 수도 있다. - 한 사람이 동일한 코호트에 여러 다른 기간에 걸쳐 속할 수도 있다. - 한 사람이 같은 기간에 동일한 코호트에 여러번 속하지 않을 수도 있다. - 코호트에는 0명 혹은 그 이상의 구성원을 가질 수도 있다. ex) 고혈압 치료 약물인 ACE inhibitor를 복용하기 시작한 사람 중에서 혈관성 부종이 일어날 위험을 예측하기 위한 연구. -> target cohort : ACE inhibitor를 복용하기 시작한 사람 -> outcome cohort : 혈관성 부종이 발생한 사람 * 규칙 기반 코호트(..