아무튼 워라밸

머신러닝 공부 - 나이브 베이즈(Naive Bayes)를 활용한 문서 분류 파이썬 코드 예시

이전 포스팅에서 나이브 베이즈(Naive Bayes)를 사용해 텍스트를 어떻게 분류할 수 있는지 개념적으로 살펴보았다. 이번에는 파이썬 머신러닝 라이브러리 scikit-learn에서 실제로 어떻게 구현하고 동작하는지 코드를 알아볼 차례. scikit-learn 사용법 1. CounterVectorizer scikit-learn에서 Naive B...

머신러닝 공부 - 나이브 베이즈(Naive Bayes)를 활용한 문서 분류 쉽게 이해하기

나이브 베이즈 분류기(Naive Bayes Classifier)는 “베이즈 정리”를 활용하여 분류를 수행하는 머신러닝 지도학습 알고리즘이다. 특히 텍스트(문서)의 분류에 많이 사용되는데, 실제로 어떤 계산을 통해 분류하게 되는지 그 과정을 최대한 쉽게 소개해본다. 베이즈 정리 “베이즈 정리”에 대해서는 이전 포스팅에서 짤막하게 개념을 다룬 바 있다...

머신러닝 공부 - 베이즈 정리 (Bayes' Theorem) 쉽게 이해하기

머신러닝 알고리즘 나이브 베이즈(Naive Bayes)를 사용하기 위해서는 일단 베이즈 정리(Bayes’ Theorem)라는 걸 먼저 이해해야 한다. 본 포스팅에서는 베이즈 정리의 개념만 최대한 쉽게 설명해본다. 베이즈 정리(Bayes’ Theorem)란 베이즈 정리(Bayes’ Theorem)는 새로운 사건의 확률을 계산하기 전에 이미 일어난 사...

머신러닝 공부 - 랜덤 포레스트(Random Forest) 쉽게 이해하기

의사결정 나무는 매우 훌륭한 모델이지만, 학습 데이터에 오버피팅 하는 경향이 있다. 가지치기(pruning) 같은 방법을 통해 그런 부작용을 최소하하는 전략이 있긴 하나 역시나 좀 부족하다. 그래서 본 포스팅에서는 의사결정 트리의 오버피팅 한계를 극복하기 위한 전략으로 랜덤 포레스트(Random Forest)를 소개하고자 한다. 랜덤 포레스트란 ...

머신러닝 공부 - 의사결정 나무(Decision Tree) 쉽게 이해하기

의사결정 나무(Decision Tree)는 각 데이터들이 가진 속성들로부터 패턴을 찾아내서 분류 과제를 수행할 수 있도록 하는 지도학습 머신러닝 모델이다. 일단 이 모델의 개념만 최대한 쉽게 설명해본다. 의사결정 나무란 무엇인가 시험에서 A를 받은 데이터를 초록색 동그라미로 표현했다고 하자. 의사결정 나무는 대체 어떤 사람들이 그 A를 받았는...

파이썬으로 파일 여러개 한 번에 인쇄하는 방법

회사에서 PDF 파일을 백 개쯤 인쇄할 일이 생겼다. 파일 하나씩 일일이 열어서 인쇄 버튼을 누르기 귀찮으니 한 번에 일괄로 인쇄를 눌러 놓고 싶었다. 그런데 기대처럼 안 되더라. 그래서 결론부터 얘기하자면 파이썬으로 해결했다. 아무튼 이번에 일하면서 파일 여러 개를 한번에 인쇄하게 된 과정, 이 안에서 나의 삽질, 그리고 결국 파이썬으로 작성한 코...

머신러닝 공부 - 로지스틱 회귀(Logistic Regression) 파이썬 코드 예시

본 포스팅에서는 파이썬 머신러닝 라이브러리 scikit-learn을 통해 로지스틱 회귀(Logistic Regression) 알고리즘을 통해 타이타닉 탑승객 생존 예측 예제를 소개한다. sklearn LogisticRegression 사용법 실제 데이터 돌려보기 전에 사용법부터 익히고 가자. 일단 파이썬 머신러닝 라이브러리 싸이킷런을 불러오자. ...

머신러닝 공부 - 로지스틱 회귀(Logistic Regression) 쉽게 이해하기

머신러닝에서 2진 분류(Binary Classification) 모델로 사용되는 로지스틱 회귀 알고리즘에 대한 개념을 최대한 쉽게 소개한다. (이전에 선형회귀에 대한 개념을 알고 있다면 금방 이해할 수 있는 수준으로 작성했다.) 로지스틱 회귀란 무엇인가 로지스틱 회귀(Logistic Regression)는 회귀를 사용하여 데이터가 어떤 범주에 속할...

머신러닝 공부 - 오버피팅(Overfitting)의 개념과 해결 방법

Overfitting(과적합)이란 머신러닝은 (쉽게 얘기하자면) 대량의 데이터를 알고리즘에 넣어서 일종의 규칙을 생성하고, 그 규칙에 따라 입력값을 분류하도록 하는 거다. 그래서 이 알고리즘에 제공하는 학습 데이터가 매우 중요하다. 학습 데이터의 모든 값들을 하나하나 살펴보면서 규칙을 생성하기 때문이다. overfitting은 모델의 파라미터들을 ...

머신러닝 공부 - 분류 모델의 성능 평가 지표 (Accuracy, Recall, Precision, F1)

분류를 수행할 수 있는 기계 학습 알고리즘을 만들고 나면, 그 분류기의 예측력을 검증/평가 해봐야 한다. 모델의 성능을 평가하려면 모델을 생성하기 전부터 애초에 데이터를 학습 세트와 평가 세트로 분리해서, 학습 세트로 모델을 만들고 평가 세트로 그 모델의 정확도를 확인하는 절차를 거친다. 그런데 분류 모델 성능 평가 지표를 소개하기 이전에 정답을 ...