내가 까먹을까봐 만든 블로그

전체 글

Data Science/Data Analysis

[Python] 분산 분석을 위한 ANOVA(Analysis Of Variance)

주요 개념귀무가설대립가설ANOVA(Analysis Of Variance, 분산 분석) ANOVA(Analysis Of Variance, 분산 분석)은 독립 변수가 하나이고 측정 집단이 3개 이상인 다수 집단의 평균(또는 산술 평균)에서 분산 값을 비교하는 데 사용되는 통계 공식이다. A 그림: ANOVA 분석 결과, 그룹 사이의 차이가 없음B 그림: ANOVA 분석 결과, 그룹 사이의 유의한 차이가 존재 예를 들어, 과학자들은 다양한 당뇨병 약물의 효과를 연구할 목적으로 약물 유형과 그에 따른 혈당 수치 사이의 관계를 설정하고 실험하여 조사했다 가정한다. 이때 표본 집단은 사람들의 집합이다. 샘플 모집단을 여러 그룹으로 나누고 각 그룹은 시험 기간 동안 특정 의약품을 투여받는다. 시험 기간이 끝나면 각..

Data Science/Data Analysis

[Python] 결정계수 R2 score(R-squared)와 조정된 결정계수(Adjusted R-squared)의 이해

결정계수 - R2 score(R-squared)결정계수는 상관계수를 제곱한 값으로 보면 된다. 하지만 결정계수는 상관계수와 달리 변수간 영향을 주는 정도 또는 인과 관계의 정도를 정량화해서 나타낸 수치라는 것이다. 따라서, 결정계수는 상관 분석이 아닌 회귀 분석에서 사용하는 수치라고 할 수 있다. 결정 계수를 나타내는 R2 score(R-squared)는 회귀 모델의 성능에 대한 평가 지표이다.결정계수(R-squared)란 일반적으로 \( R^2 \)으로 표기된다. 회귀모델에서 독립 변수가 종속 변수를 얼마나 잘 설명해주는지 보여주는 지표이다. 결정계수가 높을수록 독립 변수가 종속 변수를 잘 설명한다는 뜻인데, 이때 독립 변수의 개수가 증가하면 함께 증가한다. 그러므로 결정계수에만 의존하여 회귀 모델을 ..

Data Science/Data Analysis

[Python] 길이가 다른 데이터 유사도 측정을 위한 DTW(Dynamic Time Warping)

DTW(Dynamic Time Warping, 동적 시간 워핑)DTW(Dynamic Time Warping, 동적 시간 워핑)란 두 개의 시계열이 존재할 때 상호 간 얼마나 유사한지 측정하기 위한 방식이다. 길이가 동일한 시계열의 유사도를 측정하는 방법은 다양하다. 코사인 유사도를 사용해도 되고, 유클리드 거리(Euclidean Distance)를 이용해 계산하면 유사도를 판단할 수 있다. 유클리드 거리는 두 점사이의 거리를 계산할 때 사용하는 방법인데 수식은 아래와 같다.$$ d = \sqrt{(a_1-b_1)^2+(a_2-b_2)^2+...+(a_n-b_n)^2} $$ 유클리드 거리는 계산이 쉽고 연산 속도가 빠르다는 장점이 있다. 하지만 유클리드 거리는 같은 시점의 거리를 계산하기 때문에 속도를 반..

Data Science/Data Analysis

[Python] 유클리드 거리(Euclidean Distance), 맨하탄 거리(Manhattan Distance), 해밍 거리(Hamming Distance)를 이용한 두 점 사이의 거리 구하기

주요 개념유클리드 거리(Euclidean Distance)맨하탄 거리(Manhattan Distance)해밍 거리(Hamming Distance) 두 점 사이의 거리를 구하는 방법은 유사도(Similarity)와 관련이 있다. 거리가 가까울수록 해당 데이터가 가지고 있는 특징(feature)이 유사할 가능성이 크기 때문이다. 두 점사이 거리를 구하기 위한 대표적인 방법으로 아래 세 가지가 있다. 하지만 아래 방식들은 데이터의 차원과 요소 개수가 동일해야 한다. 유클리드 거리(Euclidean Distance)우선 유클리드 거리(Euclidean Distance)는 아래 그림과 같이 계산할 수 있다. 피타고라스 정리와 크게 다르지 않다. 다만 차수가 많아져도 아래와 같이 계산할 수 있다.$$ d = \sq..

Languages/JavaScript

[JavaScript] "?"의 기능들

1. 삼항 연산자(Ternary Operator) if-else 문으로 처리할 수 있지만 삼항 연산자를 사용하면 가독성은 떨어질 수 있지만 간결하게 표현이 가능하다. 브런치(Branch)문의 원래 기능처럼 런타임에 변수나 상태 등을 변경할 때 사용할 수 있다. const actions = ["Work", "Eat", "Leave"]; console.log(actions.includes("Eat") ? "Hamburger" : "Coding"); // "Hamburger" 2. 선택적 체인(Optional Chaining) 존재하지 않는 속성(property)을 호출하면 오류를 반환한다. 이때 오류가 아닌 undefined를 반환하도록 하는 선택적 체인(Optional Chaining) 방법이 있다. An..

Languages/Python

[Python] 파이썬 속도에 영향을 주는 GIL(Global Interpreter Lock)과 Garbage Collection

주요 개념병렬처리GIL(Global Interpreter Lock)Garbage Collection(GC)Thread 파이썬은 일반적으로 컴파일 언어보다 속도가 느리다. 이는 GIL(Global Interpreter Lock) 때문인데 이는 파이썬 객체에 대한 다중 접근을 보호하기 위한 Mutex(Mutual Exclusion, 상호 배제)로서 여러 쓰레드가 동시에 병렬적(Parallel)으로 실행하지 못하도록 하는 것이다. 따라서 한 파이썬 프로세스는 파이썬 인터프리터에 의해 한 쓰레드만이 작업 공간을 점유할 수 있다. 즉 파이썬에서 멀티 쓰레딩을 사용하게 되면 시분할 방식으로 프로세스들이 돌아가며 작업을 수행한다. 병렬 처리, 분산 처리를 통해 속도를 향상시키는 여러 기술이 나왔지만 파이썬은 해당 기..

AlienCoder
외부 저장소
loading