목록머신러닝 (11)
오랑우탄의 반란
불균형 데이터란?불균형 데이터란 목표 변수가 범주형 데이터일 때 범주별 관측치의 개수/비율 차이가 큰 데이터를 뜻합니다. 이때 데이터가 더 많은 쪽을 다수 범주(majority class), 적은 쪽을 소수 범주(minority class)라고 부릅니다. 실무에서 분류 작업을 진행할 때 균형 데이터보다 불균형 데이터를 다뤄야 하는 경우가 많습니다. 신용카드 회사의 정상 거래 대비 사기 거래, 통신회사 기존 유저 대비 이탈(churn) 유저 등 특정 데이터의 비율이 월등히 크거나 작은 경우가 있겠지요. 그럼 이 불균형 데이터가 왜 머신러닝 분류작업 시 문제가 될까요? 불균형 데이터가 왜 문제인가? 머신러닝으로 분류 작업을 진행할 때 프로그램은 자동으로 다수 범주 데이터에 더 큰 비중을 둬서 ..
딥러닝 Deep Learning 딥러닝은 머신러닝의 한 분야로, 신경세포 구조를 모방한 인공 신경망(Artificial Neural Networks)을 사용합니다. 딥러닝은 머신러닝과 기본적인 흐름은 같지만 내부 구조가 다르며 자연어 처리와 이미지 처리에 최적화 되어 있는 기법입니다. 둘 다 데이터로부터 가중치를 학습해서 패턴을 인식하고 결정을 내리는 알고리즘 개발과 관련된 AI의 하위 분야입니다. (머신러닝은 데이터 안의 통계적 관계를 찾아내 예측/부류를 함) 인공 신경망(Artificial Neural Networks): 인간의 신경세포를 모방하여 만든 망(Networks)퍼셉트론(Perceptron): 인공 신경망의 가장 작은 단위앞서 선형회귀에서 키와 몸무게를 예제 데이터를 퍼셉트론으로 표현하..
지금까지 머신러닝의 대표적인 지도학습인 회귀/분류를 살펴봤는데요머신러닝의 다른 종류인 비지도학습과 그 대표적인 예시 K-Means Clustering을 알아보겠습니다. 비지도학습이란? 데이터의 유사성을 기반으로 레이블링해서 답을 지정하는 작업정답이 없는 문제이기 때문에 주관적인 판단이 개입됨예시) 고객 특성에 따른 그룹화 (헤비유저 vs 일반유저) K-Means Clustering 이론K개의 군집 수 설정임의의 중심점 선정해당 중심점과 거리가 가까운 데이터를 그룹화 데이터 그룹의 무게중심으로 중심점 이동중심점을 이동했기 때문에 다시 거리가 가까운 데이터 그룹화 위 과정 3~5번 반복장점- 일반적이고 적용이 쉬움단점- 거리 기반 가까움 측정이기 때문에 차원 많을수록 정확도 떨어짐- 반복 횟수가 많을수록 ..
지금까지 배웠던 이론을 바탕으로 실제 데이터분석의 전 과정 실습을 해보겠습니다. 데이터분석 예측모델링 w. 타이타닉 데이터지난 모델링 실습에서 활용했던 타이타닉 데이터로 분석을 진행하겠습니다. Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com 칼럼별 데이터를 체크해둡니다. ColumnDetailsDatatypePassengerId 승객 ID (PK)int64Survived (Y)사망 (0) 생존 (1) int64Pclass 티켓 등급 (1,2,3)int64 (범주형)Name 이름objectSex 성별 object (범주형)Age 나이float64 SibSp 형제와 배우자 수int64 Parch 부모와 자식 수int64 Ticket ..
머신러닝 로지스틱회귀분석 실습앞서 배원 로지스틱 회귀를 사용한 분석 분류를 직접 파이썬에서 데이터셋으로 실습해보겠습니다. 캐글 타이타닉 예측 대회의 Titanic - Machine Learning from Disaster 데이터를 사용하겠습니다. Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com 대회 주제는 탑승한 승객의 정보를 바탕으로 생존 유무를 예측하는 분류 문제였는데요종속변수 Y를 사망(0) / 생존(1)으로 두고 독립변수 X를 티켓등급, 성별, 요금 등으로 넣어보며 확인해보는 분류 분석을 아래의 단계에 따라 진행하겠습니다. (데이터 전처리 단계는 생략하고 바로 회귀분석만 진행한다는 점 참고) 데이터 확인변수 설정 및 로지스틱..
로지스틱회귀란?독립변수 Y의 선형 결합을 이용해 사건의 발생 가능성을 예측하는 데 사용되는 통계 기법 로지스틱회귀 이론만약 X를 연속형 변수로 두고 Y 를 특정 값이 될 확률로 설정한다면, 앞서 배웠던 선형회귀로는 표현이 불가능할 것입니다. 선형 함수는 발산하기 때문에 실제 확률이 0보다 작거나 1보다 크게 나올 수도 있기 때문이지요. 그래서 이 한계를 보완하고자 로지스틱회귀를 사용합니다. 아래 그래프를 보시면 함수에 로그를 취해서 Y값이 0, 1로 수렴하도록 설계된 것을 볼 수 있습니다. 즉, Y가 특정 범주에 속할 때 범주형 변수에 대한 분석으로 로지스틱회귀가 적합합니다. 로지스틱회귀 수식로그함수가 어떻게 그려지는지 단계별로 살펴보겠습니다. 1. Odds RatioOdds ratio (오즈비)란..
다중선형회귀앞서 간단한 선형회귀 분석을 진행했는데요, 모든 데이터가 선형적인 관계를 보이면 참 좋겠지만 현실의 데이터는 비선형적인 관계를 지닐 때가 훨씬 많습니다. 그렇기 때문에 다중선형회귀분석이 더 많이 쓰일 수 있는데요, tips 데이터 중 수치형 데이터에 대해 분석을 진행했다면 이번에는 범주형 데이터를 인코딩(encoding)하는 과정까지 다뤄보도록 하겠습니다. 머신러닝 다중선형회귀분석 실습진행방법은 선형회귀와 동일한데요, 범주형 데이터를 간단하게 전처리하는 과정만 추가됩니다.라이브러리 설치는 생략하겠습니다. 데이터 확인 (Seaborn tips)범주형 데이터 인코딩 다중선형회귀 모델 훈련모델 평가 1. 데이터 확인사용할 tips 데이터를 다시 확인해줍니다. 해당 데이터에는 NaN 값이 없..
머신러닝 선형회귀분석 실습회귀분석은 scikit-learn 라이브러리에서 제공해주는 함수만 다룰 줄 알면 매우 간단한데요, 아래 단계에 따라 진행하겠습니다.사용할 라이브러리 설치데이터 확인 (Seaborn tips)선형회귀 모델 훈련모델 평가 1. 라이브러리 설치우선 사용할 라이브러리를 모두 import 해줍니다.import pandas as pd import matplotlib.pyplot as pltimport seaborn as snsimport numpy as npimport sklearn #scikit-learn으로 적으면 안됨 라이브러리 설치가 안 되어 있다면 pip 설치를 진행해주세요.! pip install 라이브러리 2. 데이터 확인 이번 실습에서 사용할 데이터는 Seaborn 라이브러..