본문 바로가기

분류 전체보기

(23)
통계 이론 (Box Plot) Box Plot (상자 그림) 박스 플롯을 이용하면 데이터들의 중앙값과 이상치들을 빠르게 확인할 수 있다. 그럼 이러한 박스 플롯을 그리기 위한 개념들과 방법을 살펴보자. 이상치 이상치란 데이터들의 분포를 확인하였을 때, 일반적인 범위 내에서 벗어나, 평균과 같이 통계처리를 할 때 결과를 왜곡시킬 수 있는 값을 의미한다. 사분위수 사분위수는 데이터를 크기에 따라 4등분을 했다고 생각하면 된다. 이때, 4등분을 하면 그 나누어진 데이터 범위들의 경계는 3 곳이 될 것이다. 따라서 사분위수는 제 1 사분위수 (Q1), 제 2 사분위수 (Q2), 제 3 사분위수(Q3)로 3개가 된다. 사분위수를 구하는 방법 1. 데이터들의 중앙값을 구한다. => Q2 2. Q2를 기준으로 왼쪽 데이터들만 고려할 때, 중앙값을..
코딩 테스트 주요 알고리즘 feat.그리디 본 내용은 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 책을 기반으로 포스팅하였습니다. 그리디 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 그리디 알고리즘은 탐욕법으로 소개되는데, 이는 말 그대로 단순하게 탐욕적으로 문제를 푸는 알고리즘이라는 의미이다. 나중의 영향을 고려하지 않고, 현재 순간에서 가장 좋은 선택을 해나가는 것이다. 이러한 그리디 알고리즘 문제는 정렬 알고리즘과 짝을 이뤄 출제되는 경우가 많다. 그리디 알고리즘은 많은 유형을 접해보며, 문제에 익숙해지도록 훈련해야 한다. 그러면 그리디 알고리즘의 대표 예시인 최소한의 동전으로 돈을 거슬러주는 '거스름돈 문제'를 생각해보자. 이 문제를 풀기 위한 핵심 아이디어는 가장 큰 화폐 단위부터 거슬러 주는 것이다...
머신러닝 핵심 요약 3 (BAYESIAN NETWORKS) 베이즈 정리 베이즈 정리는 조건부 확률에 사전확률(prior)을 활용하여 통계적 추론을 하는 방법이다. 베이지안 분류기 베이즈 정리를 이용하여 분류에 활용한 것이다. 테스트 데이터 x가 있을 때, 이 x가 어떤 class인지 구하기 위해서는 다음과 같은 식을 이용하면 된다. $$P(class|x) = P(x|class)P(class) /P(x)$$ 위 식을 각 class 별로 구하여 테스트 데이터 x가 해당 class일 확률을 계산한 후, 가장 큰 확률을 지닌 class를 택하는 것이다. 이때 분모의 P(x)는 모든 class에 대하여 전부 동일하므로, 생략할 수 있다. 만약 데이터의 feature가 2개라고 가정한다면, 실제로 각 class에 대해 비교하게 될 최종 식은 다음과 같이 정리될 수 있다. ..
머신러닝 핵심 요약 2 (DECISION TREE) 의사결정 트리(DECISION TREE)는 무언가를 결정할 수 있는 기준들을 학습하는 것이다. 이미지 출처:https://tensorflow.blog 좋은 트리의 기준 1) DECISION TREE에서 마지막 노드인 leaf node에서 동일한 레이블의 데이터만 있을 때, 분류 정확도가 높다고 할 수 있다. 2) 트리의 깊이가 짧으면 모델의 학습 속도가 빠르다고 할 수 있다. (feature선택 순서에 따라 트리의 깊이가 달라지기도 한다.) 트리 생성 전, 알아둘 것 root 노드는 모든 데이터를 고려한다. 하위 노드로 내려갈수록 점점 데이터가 분류된다. 트리생성과정 노드에 하나의 class만 있거나, 더 이상 고려할 feature가 없으면 leaf node 분류하고 자식노드를 생성하지 않는다. (fea..
코딩 테스트를 위한 파이썬 문법 2 본 내용은 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 책의 부록 A 부분을 참고하여 포스팅하였습니다. ▷ 조건문 ※ 해당 조건문에 속하는 문장은 들여쓰기(Tab or 스페이스바*4)하여 써야 함 if 조건문 1: 조건문 1이 True일 때 실행할 코드 elif 조건문 2: 조건문 1이 아니면서, 조건문 2가 True일 때 실행할 코드 else: 위의 조건들 1, 2가 모두 False일 때 실행할 코드 elif (else if; 그게 아니라면~ ) if문이 나오면 elif는 여러개 나올 수 있음 else는 if 하나당 한개만 가능 ※ if False == if 0 (정수형에서는 0이 아니면, 전부 True이다.) == if " " == if [ ] == if ( ) == if None 비교 연산..
머신러닝 핵심 요약 1 (INTRODUCTION) Machine Learning 사람이 만든 기술을 구축하는 기술 이미지 출처: https://blogs.nvidia.co.kr 이제야 머신러닝/딥러닝이 뜨는 이유? 첫번째, 기계가 발전하면서 분산저장시스템이 발달 두번째, GPU를 사용하면서 대용량데이터를 처리할 기술이 생김 feature feature == attribute == 열 == 차원 (즉, feature을 늘린다 == 차원을 늘린다.) 일반적으로 label 개수 (= class 개수) < feature 개수 < Data 개수 이다. feature 선택은 매우 중요하다. feature에 대한 도메인 지식(전문지식)이 요구된다. e.g.) 일본어 문장에 대한 감정 분석시, 일본어에 대한 전문지식이 요구됨 feature에 비해 데이터가 너무 적으면..
코딩 테스트를 위한 파이썬 문법 1 본 내용은 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 책의 부록 A 부분을 참고하여 포스팅하였습니다. ▷ 자료형 1. 수자료형 e나 E를 이용한 지수 표현 방식 e 다음에 오는 수는 10의 지수부를 의미 숫자 e 지수 == 숫자 x 10 지수 e.g.) 1e9 == 109 == 1,000,000,000 정확한 소수점 값을 비교하는 작업이 필요할 때 round() 함수 사용 round(실수형 데이터, 반올림하고자 하는 위치-1) e.g.) round(123.456,2) == 123.46 숫자 사칙연산( +, -, *, /) (※ 나누기를 할 때에는 소수점까지 써야됨) a**b: a의 b제곱 a//b: a를 b로 나눈 몫 a%b: a를 b로 나눈 나머지 숫자 관련 유용한 함수 모음 abs(숫자) ..