본문 바로가기

분류 전체보기

(17)
데이터 전처리 - Label Encoding, One Hot Encoding 머신 러닝 알고리즘은 단어나 글자 데이터를 가지고 학습을 할 수 없다. 숫자로 바꿔줘야 학습이 가능하다. 즉, 글자나 단어를 숫자로 바꿔주는 전처리 작업이 없이는 학습을 시킬 수 없다는 뜻이다. Label Encoding from sklearn.preprocessing import LabelEncoder ds=['태조','세종','성종','영조','정조','태조'] # 객체 생성 encoder = LabelEncoder() # fit과 transform 으로 label 인코딩 수행. encoder.fit(ds) labels = encoder.transform(ds) print('인코딩 :', labels) 결과값은 인코딩 : [4 1 0 2 3 4] 이다. 태조 -> 4, 세종 -> 1, 성종 -> 0와..
Pandas란... Pandas는 "관계형"또는 "레이블"이 있는 데이터를 쉽고 직관적으로 작업 할 수 있도록 설계된 빠르고 유연하며 표현적인 데이터 구조를 제공 하는 Python 패키지이다. Spreadsheets or databases에 저장된 데이터와 같은 테이블 형식의 데이터( tabular data )로 작업 할 때 pandas가 적합한 도구이다. Pandas는 데이터를 탐색, 정리 및 처리하는 데 도움이 된다. Pandas에서는 데이터 테이블을 Data Frame이라고 한다. 위 그림에서 처럼 Pandas = Series + Series + ... + Series 이다. Pandas는 다양한 종류의 데이터에 적합하다. SQL 테이블 또는 Excel 스프레드 시트에서와 같이 유형이 다른 열이있는 테이블 형식 데이터..
K-Means 클러스터링 머신 러닝 | 비지도학습( Unsupervised Learning ) | 군집화( Clustering ) 머신 러닝 기법 중의 하나인 군집화( Clustering 이하 클러스터링 )는 특성이 비슷한 데이터들을 군집화 하는 것이다. 분류( Classification )와 구별이 필요하다. 클러스터링은 정답이 없는 즉, 라벨링 되어 있지 않은 데이터를 묶는 비지도 학습( Unsupervised Learning ) 방법이 일반적으로 사용된다. 여러 가지 클러스터링 알고리즘( KMeans, Hierarchical Clustering, Spectral Clustering, DBSCAN )이 있으나, 데이터의 형태에 적합한 알고리즘을 선택하는 것이 중요하다. 클러스터링 기법 중 하나인 K-Means에 대해서 알아보..
나이브 베이즈 분류( Naive Bayes Classification)란... 나이브 베이즈 분류는 “베이즈 정리”를 활용하여 분류( Classification )를 수행하는 지도학습( Supervised Learning ) 알고리즘이다. 나이브 베이즈 분류는 베이즈 정리를 기반으로 한 통계적 분류 기법이다. 즉, 확률을 구해서 데이터를 분류하는 기법이다. 나이브 베이즈 분류기는 정확성도 높고 대용량 데이터에 대해 분류 속도도 빠르다. 또한, 베이즈 정리를 기반으로 하기 때문에 데이터의 속성이 서로 독립이라는 조건이 필요하다. 베이즈 정리를 어떻게 분류기법에 적용을 할 것인가? 베이즈 정리 시 예로 들었던, 검사 결과가 양성일때 암일 확률은? 즉, P(암|검상 양성). 일반적 표현으로 P(A|B)라고 하면 B라는 조건이 주어졌을때 A의 확률을 구했다. 지금까지 우린 주어진 데이터를..
두 점 사이의 거리 공식 유클리디안 거리( Euclidean Distance ) 파란선의 길이를 구하면 된다. 맨하탄 거리( Manhattan Distance ) 왜 맨하탄이라 하는지는 찾아보자. 수식은 간단하다. 위 그림의 주황색선의 길이를 구하면 된다. 해밍 거리( Hamming Distance ) 유클리드 거리, 맨하탄 거리는 물리적인 거리인 반면 해밍 거리는 이와는 좀 다른 개념이다. 같은 길이의 두 문자열에서 같은 위치에서 서로 다른 기호들이 몇 개인지를 센다. 예를 들어, 문자열 "inertia"와 "inernia"사이의 해밍 거리는 1이다. 왜? 같은 위치(5번째)에서 서로 다른 기호가 하나다. t와 n. 서로 다른 글자 개수만 세는 것이 해밍 거리 계산 법이다.
베이즈 정리( Bayes' Theorem )란... 나이브 베이즈( Naive Bayes ) 알고리즘에 대해서 이야기 하기 전에 베이즈 정리에 대해서 먼저 이야기 해 보자. 베이즈 정리( Bayes’ theorem )란 조건부 확률을 이용하여 또 다른 형태의 조건부 확률을 계산하는 방법을 설명하고 있는 정리이다. 조건부 확률은 다음과 같다. 조건부 확률 어떤 사건 B가 발생한 상태에서(조건 하에) 사건 A가 일어날 확률을 의미한다. 사건 A가 발생할 확률은 사건 B의 영향을 받아 변하는데 이를 조건부 확률이라 한다. 위와 같이 표기하고 영어로는 "The probability of A given B"라고 말한다. 좀 더 이해가 쉽게 그림으로 표현하자면 아래와 같다. 예를 들어 4개의 흰색 돌과 5개의 검은색 돌이 아래 그림과 같이 각각 A, B 박스에 들어..
랜덤 포레스트( Random Forest )란... 의사결정나무( Decision Tree )는 훌륭한 모델이지만, 오버피팅되는 경향이 있다. 가지치기( pruning ) 같은 방법으로 부작용을 최소하하는 전략이 있긴 하나 부족하다. 그래서, 의사결정나무( Decision Tree )의 약점인 오버피팅 한계를 극복하기 위한 모델이 랜덤 포레스트(Random Forest)이다. 이름에서 의미하는 것 처럼 나무가 많다. 랜덤포레스트는 같은 데이터들에 의사결정나무 여러 개를 동시에 적용해서 학습성능을 높이는 앙상블 기법입니다. 나무( tree )가 다수라고하여 숲( forest )라는 이름이 붙었다. 배깅( Bagging ) 전체 학습 데이터 중 임의로 학습 데이터를 선택해서 의사결정 트리를 만드는 것이 배깅( bagging )이다. 그리고, 임의의 학습 데이..
의사결정 나무(Decision Tree)란... 의사결정 나무( Decision Tree )란... 데이터의 속성을 분석하여 데이터간 존재하는 패턴을 예측 가능한 규칙들의 조합으로 나타내며, 그 모양이 ‘나무’와 같다고 해서 의사결정나무라 불린다. 즉, 데이터들의 속성으로부터 패턴을 찾아 분류하는 모델이다. 그냥 쉽게 스무고개쯤이라 생각하자. 결정 트리를 일반화 하면 다음과 같다. 사각형 terminal node에 속하는 데이터의 총 합은 root node의 데이터수와 같다. 즉, 2개 이상의 terminal node에 속하는 데이터는 없다는 뜻이다. 터미널 노드에 데이터가 잘 분리되기 위해서 잘 설계 된 질문지가 필요하다. 좋은 질문에 좋은 답이 있다. 질문이 잘못 되면 의도와 다른 답이 오기 마련이다. 잘 설계 된 질문지를 위해 고려해야 할 개념들..