머신러닝 공부 - 의사결정 나무(Decision Tree) 쉽게 이해하기
의사결정 나무(Decision Tree)는 각 데이터들이 가진 속성들로부터 패턴을 찾아내서 분류 과제를 수행할 수 있도록 하는 지도학습 머신러닝 모델이다. 일단 이 모델의 개념만 최대한 쉽게 설명해본다. 의사결정 나무란 무엇인가 시험에서 A를 받은 데이터를 초록색 동그라미로 표현했다고 하자. 의사결정 나무는 대체 어떤 사람들이 그 A를 받았는...
의사결정 나무(Decision Tree)는 각 데이터들이 가진 속성들로부터 패턴을 찾아내서 분류 과제를 수행할 수 있도록 하는 지도학습 머신러닝 모델이다. 일단 이 모델의 개념만 최대한 쉽게 설명해본다. 의사결정 나무란 무엇인가 시험에서 A를 받은 데이터를 초록색 동그라미로 표현했다고 하자. 의사결정 나무는 대체 어떤 사람들이 그 A를 받았는...
회사에서 PDF 파일을 백 개쯤 인쇄할 일이 생겼다. 파일 하나씩 일일이 열어서 인쇄 버튼을 누르기 귀찮으니 한 번에 일괄로 인쇄를 눌러 놓고 싶었다. 그런데 기대처럼 안 되더라. 그래서 결론부터 얘기하자면 파이썬으로 해결했다. 아무튼 이번에 일하면서 파일 여러 개를 한번에 인쇄하게 된 과정, 이 안에서 나의 삽질, 그리고 결국 파이썬으로 작성한 코...
본 포스팅에서는 파이썬 머신러닝 라이브러리 scikit-learn을 통해 로지스틱 회귀(Logistic Regression) 알고리즘을 통해 타이타닉 탑승객 생존 예측 예제를 소개한다. sklearn LogisticRegression 사용법 실제 데이터 돌려보기 전에 사용법부터 익히고 가자. 일단 파이썬 머신러닝 라이브러리 싸이킷런을 불러오자. ...
머신러닝에서 2진 분류(Binary Classification) 모델로 사용되는 로지스틱 회귀 알고리즘에 대한 개념을 최대한 쉽게 소개한다. (이전에 선형회귀에 대한 개념을 알고 있다면 금방 이해할 수 있는 수준으로 작성했다.) 로지스틱 회귀란 무엇인가 로지스틱 회귀(Logistic Regression)는 회귀를 사용하여 데이터가 어떤 범주에 속할...
Overfitting(과적합)이란 머신러닝은 (쉽게 얘기하자면) 대량의 데이터를 알고리즘에 넣어서 일종의 규칙을 생성하고, 그 규칙에 따라 입력값을 분류하도록 하는 거다. 그래서 이 알고리즘에 제공하는 학습 데이터가 매우 중요하다. 학습 데이터의 모든 값들을 하나하나 살펴보면서 규칙을 생성하기 때문이다. overfitting은 모델의 파라미터들을 ...
분류를 수행할 수 있는 기계 학습 알고리즘을 만들고 나면, 그 분류기의 예측력을 검증/평가 해봐야 한다. 모델의 성능을 평가하려면 모델을 생성하기 전부터 애초에 데이터를 학습 세트와 평가 세트로 분리해서, 학습 세트로 모델을 만들고 평가 세트로 그 모델의 정확도를 확인하는 절차를 거친다. 그런데 분류 모델 성능 평가 지표를 소개하기 이전에 정답을 ...
K-최근접 이웃(K-Nearest Neighbors)은 일반적으로 분류(Classification)에 사용되는 지도학습 알고리즘이다. 그러나 이걸로 회귀(Regression)를 수행 할 수도 있다. Classification(분류)는 연속적이지 않은 레이블, 다시 말해 ‘무엇’인지를 예측하지만, 회귀(Regression)는 연속된 수치, 즉 ‘얼마나’...
본 포스팅에서는 파이썬 라이브러리 scikit-learn을 통해 K-최근접 이웃(K-Nearest Neighbor) 알고리즘을 사용한 분류를 직접 수행하는 코드를 소개한다. sklearn KNeighborsClassifier 사용법 실제 데이터 돌려보기 전에 사용법부터 익히고 가자. from sklearn.neighbors import KNeig...
K-최근접 이웃(K-Nearest Neighbor)은 머신러닝에서 사용되는 분류(Classification) 알고리즘이다. 유사한 특성을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정하에 사용한다. K-최근접 이웃 알고리즘의 개념 원리를 쉽게 이해하기 위해 아래 그림을 보자. 녹색 점을 파란 사각형으로 혹은 빨간 삼각형으로 분류할지 결정하...
왜 정규화를 해야 하는가 머신러닝 알고리즘은 데이터가 가진 feature(특성)들을 비교하여 데이터의 패턴을 찾는다. 그런데 여기서 주의해야 할 점이 있다. 데이터가 가진 feature의 스케일이 심하게 차이가 나는 경우 문제가 되기 때문이다. 예를 들어 ‘주택’에 관한 정보가 담긴 데이터를 생각해보자. 그 안에 feature로 방의 개수(개),...