2024/10 12

거리 측도

통계학에서 자주 사용하는 거리 측도 들에 대해서 정리해 보았습니다. ● 유클리디안 거리 두 점 사이의 가장 짧은 거리 ● 맨하튼 거리 변수들의 차이의 단순합 ● 체비셰프 거리 변수 간 거리 차이 중 최댓값 ● 표준화 거리 유클리디안 거리에서 표준편차로 나눈 거리  ● 마할라노비스 거리 표준화 거리에 변수 간 상관성을 고려한 거리 S: 변수의 공분산을 성분으로 하는 대각 행렬   ● 민코프스키 거리 유클리디안 거리와 맨하튼 거리를 한 번에 표현한 거리 ● 코사인 유사도주로 텍스트의 유사도 측정에 활용되며, 크기가 아닌 방향성을 측정하는 지표 완전히 일치하면 1, 완전히 다른 방향이면 -1 입니다.

ML 분류 모형 평가 지표

머신 러닝(Machine Learning) 의 분류 모형(Classification Model) 을 평가하는 지표들에는 여러 가지가 있는데 혼동되기가 쉽기 때문에 정리하여 소개하려고 합니다. 용어는 예측에 대한 참/거짓으로 정의합니다. ● TP(True Positive): 예측한 값이 Positive 이고 실제 값도 Positive 인 경우 ● FP(False Positive): 예측한 값이 Positive 이고 실제 값은 Negative 인 경우 ● TN(True Negative): 예측한 값이 Nagative 이고 실제 값도 Negative 인 경우 ● FN(False Negative): 예측한 값이 Negative 이고 실제 값은 Positive 인 경우 1. 정확도 (Accuracy) 전체 중 올..

SQL 유용한 코드

SQL 문제를 풀면서 자주 쓰게 되는 유용한 코드들을 정리해 봤습니다. 1. 조건이 2개 이상+ 조건과 무관한 행 출력 in 을 활용합니다. in 을 활용하지 않게 되면, 관련 조건 이외의 행들을 출력할 때 관련 없는 행들이 출력될 수 있으므로 고유한 값과 조건의 값을 묶을 수 있도록 in 을 활용해야 합니다. Where 을 쓴 후에 in 절에서 group by 및 조건을 활용할 수 있습니다. 예: product id, year, quantity, and price for the first year of every product sold.     2. join 의 특수한 경우 ● 두 테이블의 모든 경우의 수를 조합해야 하는 경우 Cross join을 활용할 수 있습니다.   ● 두 행의 요소에서 같은 것..

데이터 분석 관련 개념

ADSP 시험에 나오는 데이터 분석 관련 개념들은 상당히 생소한 경우가 많습니다. 다음에서는 ADSP 시험에 나오는 데이터 분석 개념들을 모아서 정리 해봤습니다. ◎ 분석 주제 잡기 분석의 대상을 아는데 분석 방법도 알면 최적화 (Optimization)를 주제로 선정합니다. 분석의 대상을 아는데 분석 방법은 모르면 솔루션 (Solution)을 주제로 선정합니다. 분석의 대상을 모르는데 분석의 방법은 알면 통찰 (Insight)을 주제로 선정합니다. 분석의 대상을 모르는데 분석 방법도 모르면 발견 (Discovery)을 주제로 선정합니다.◎ 빅데이터 분석 단계 1단계: 분석 기획 ○ 비즈니스 이해 ○ 프로젝트 범위 설정 - 프로젝트 범위 정의서 (SOW, Statement of Work) ○ 프로젝트 정..

유용한 파이썬 코드 2

파이썬 코드 중 유용할 수 있는 코드들을 정리해 봤습니다. ● 문자열 1. 판별 문자.isdigit() → 숫자인지 판별 문자.isalpha() → 문자인지 판별 문자.isalnum() → 문자나 숫자인지 판별 문자.isupper() → 대문자인지 판별 문자.islower() → 소문자인지 판별 2. 문자 번호 조회 ord(문자) → 문자 번호 반환 chr(문자 번호) → 문자 반환 3. 문자열 변경 문자열.replace('문자 패턴','변경 패턴') 3. 리스트와 유사한 기능 활용 가능 : 요소 추가/제거 제외 ● 문자열 슬라이싱 S='안녕하세요' S[1:4:2]= '녕세' S[::-1] =  '요세하녕안'S[::2] =  '안하요' ● 개수 세기 문자열.count(문자) ● any, all any (..

유용한 리스트, 딕셔너리 코드

파이썬을 다루다 보면 많이 쓰게 되는 코드들 중 리스트, 딕셔너리가 있습니다. 리스트, 딕셔너리 코드 중에서 자주 쓰는 코드들을 정리해 봤습니다. 1. 리스트 ● 제거 list.remove('a'): 처음으로 나오는 'a' 제거 del list[i] : 인덱스 i 에 해당하는 요소 제거 ● 인덱스 list.index('a'): a 의 인덱스 list.insert( i,'a' ): 인덱스 i 에 'a' 삽입 list.pop(i): 인덱스 i 에 해당하는 값 제거 (객체에 저장도 가능) list.pop(): 마지막 값 제거 (객체에 저장도 가능) ● 정렬 list.sort(): 리스트 오름차순 정렬  sorted(반복 가능한 객체): 오름차순 정렬한 리스트 반환정렬 함수(ex: max, sort) (key=..

유용한 파이썬 코드

파이썬 코드를 작성할 때에는 가급적 간결하고 읽기 쉽게 작성해야 나중에 볼 때에 고치기도 쉽고 실수할 가능성이 적습니다. 이러한 관점에서 파이썬 코드 작성시에 유용한 코드들을 정리해 봤습니다.  ● 리스트 컴프리헨션 : 반복, 조건에 따른 리스트를 생성할 때 간결하게 활용 가능   필요한 경우 lambda, map/filter 을 섞어 쓸 수 있지만 코드가 길어질 수 있으므로 가급적 리스트 컴프리헨션 활용하는 것이 좋습니다.  ● lambda: 함수 선언 없이 간결하게 함수 표현 가능   ● map, filter: 특정 조건을 Iterable 객체에 적용 Iterable 객체: list, dict, set, str, bytes, tuple, range ○ map(조작 함수, Iterable 객체) = 적..

확률 이론 및 확률 분포

통계에서 기본이 되는 확률 이론과 확률 분포들에 대해 정리해 보았습니다. * 표본 공간 실험으로 가능한 모든 결과들의 집합 (ex: {앞면, 뒷면}) * 확률 변수 표본 공간의 결과들을 수치적 값으로 표현한 변수 * 확률 분포 확률 변수에 대응하는 확률이 어떻게 분포하고 있는지 나타낸 것 * 확률 함수 확률 변수를 확률에 대응시키는 함수 * 이산 확률 분포 확률 변수의 수를 셀 수 있는 경우의 분포 → 확률 함수: 확률 질량 함수 * 연속 확률 분포 확률 변수가 특정 구간 전체에 해당하므로 셀 수 없는 경우의 분포 → 확률 함수: 확률 밀도 함수 * 이산 확률 분포들 → 확률 변수 1. 베르누이 분포 → 성공 (1) or 실패(0) 2. 이항 분포 → n 번의 베르누이 시행 중 성공의 횟수 3. 초기하 ..

측정과 척도

통계학에서 기본이 되는 측정과 척도 개념에 관하여 정리해 보았습니다. 측정 수준 명목 수준: 단순 분류 (ex: 남성, 여성) 서열 수준: 서열 관계 (ex: 장관, 차관, 실장 ~) 등간 수준: 절댓값 0 이 없고, 가감만 가능합니다. (ex: ~ 지수, 온도, 날짜) 비율 수준: 절댓값 0 이 있고, 가감승제가 모두 가능합니다. (ex: 근무연수, 몸무게, 나이, 실업률) 명목 → 서열 → 등간 → 비율 수준은 포함관계입니다. 타당성과 신뢰성 타당성 = 정확성 , 신뢰성 = 일관성 타당성 → 신뢰성 은 포함관계입니다. 척도 지수는 변수의 속성인 지표들의 단순 합이고, 척도는 여기에 강도를 고려한 개념입니다. 예: 서스톤 척도, 보가더스 척도, 거트만 척도, 의미분화 척도, 리커트 척도 (=총화평정법)..

표본 추출 방법

확률 vs 비 확률 표본 추출법 확률 표본 추출법은 조사 대상이 표본으로 추출될 확률이 알려지는 경우로, 무작위적 추출과 같습니다. 비확률 표본 추출법은 조사 대상이 표본으로 추출될 확률을 모르는 경우로, 작위적 추출과 같습니다. 확률 표본 추출법 1. 단순 무작위 표본 추출 은 모집단의 구성 요소가 표본으로 뽑힐 확률이 동등한 경우입니다. 2. 체계적 / 계통적 표본 추출 은 일정한 표본 추출 간격에 따라 요소를 추출하는 경우입니다. 표본 추출 간격은 모집단의 수 / 추출하려는 표본의 수로 구합니다. 최초의 표집 간격 내에서 하나를 무작위 추출한 후, 표집 간격을 더하면서 표본을 추출합니다. 3. 층화 표본 추출 은 모집단을 내부의 요소가 동질적이지만 계층 간에는 이질적이도록 계층에서 표본을 무작위로 ..