승객들의 정보나 생존여부에 대한 데이터를 활용해 생존여부 예측
CSV Reader: 데이터 파일 불러옴 (json, txt, xlsx...)
성별, 생존여부,...
feature(특성) = attribute(속성) = column
데이터 결측치 확인: 누락된 데이터 확인 (NaN, ?) 0으로 채우거나 이전 로우의 값을 사용하거나,로우 삭제...
EDA(Exploratory Data Analysis)
그룹별 데이터, count데이터
데이터 시각화: 데이터의 전반적인 특성을 이해하기 위해 시각적인 그래프 형태로 나타낸것
정보 조직화
정보 시각화: 실제 그래프로, 히스토그램
상호작용: 마우스 커서를 가져다대면 수치 (인터랙티브, 대시보드)
성별 생존확률
Bar Chart
Options: Aggregation Method: Average
plot option: x축 y축
Interactive View: Group Bar Chart
성별 탑승 인원
Pclass별 생존확률
CSV Reader - Number To String(데이터 타입 변환 정수형을 문자형으로) - Bar Chart
성별 및 Pclass별 생존확률
CSV Reader - Number To String - Pivoting - Bar Chart
성별 생사인원
CSV Reader - Number To String - Pivoting - Bar Chart
Aggregation Method: sum
탑승인원 연령
CSV Reader - Histogram Chart(JFreeChart)
Number of bins: 막대 수
동등한 자녀/ 배우자 수
CSV Reader - Number To String - Bar Chart
티켓 가격 분포
CSV Reader- Histogram Chart
Boxplot(상자그림) 개념 : 분포 보기 좋음
데이터 분포 및 이상치를 확인할 수 있는 박스 형태의 그래프
최솟값, 최댓값, 1사분위수(Q1), 2사분위수(Q2, 중앙값), 3사분위수(Q3)의 분포범위를 나타냄
최소값 혹은 최대값 범위에 속하지 않는 데이터는 이상치(동그라미)로 분류
티켓가격과 연령 Boxplot
CSV Reader - Number To String - Conditional Box Plot
y축 나이 x축 Pclass
Pclass별 나이 분포, 1등석 나이분포가 넓음, 3클래스는 어린 사람들이 많음
25%, 중앙값 50%, 75%
결측치 처리하기
결측치를 직접 대입
Nominal Histogram Table
미사용 속성제거
CSV Reader - Rule Engine- Column Filter(컬럼 제거, Cabin 컬럼 삭제) - Mission Value(결측치일 경우 삭제) - Statistics - Number To String - Colum Filter(이름, 티켓id 등과 같이 의미 없는 컬럼 삭제)
데이터 전처리: 예측에 필요없는 데이터 삭제
데이터 전처리 및 시각화
로지스틱 회귀분석 개념
독립 변수의 선형 결합을 활용하여 사건의 발생 가능성을 예측하는 통계기법
독립 변수(Pclass, Sex, Age)와 종속변수(생존여부)간의 연관성을 분석
범주형 데이터를 종속 변수로 설정하여 분류 분석 수행
0,1을 분류하는 이진 분류 문제에서 활용
모델링 결과의 해석이 편리하다는 점에서 통계분석에서 주로 사용
데이터 정규화
ColumnFilter - Normalizer - Partitioning(8:2로 학습데이터와 테스트 데이터로 나눔) - Logistic Regression Learner(학습을 해서) - Logistioc Regression Predictor(예측을 함/생존여부를 예측함) - Scorer(JavaScript) (일반적으로 예측과 결과는 다름/ 생존여부를 얼마나 잘 맞추었는지/ 모델 평가, 검증)
일반적으로 Min-Max 사용
Z-Score은 이상치가 많을 때
train, test 데이터 분리
Relative(%) : 학습데이터 비율
Use random seed: 시드설정, 수는 상관이 없음, 재 실행을 보장한다.
First partition: train으로 학습
Second partition: test
예측 모델 생성(Logistic Regression Learner)
예측 결과 확인(Logistioc Regression Predictor)
Predicted data
Prediction(Survived): 예측값
Survived: 실제값
모델 평가
Overall Accuracy보다 F-measure가 정확하다.
나이브 베이즈 모델
데이터의 특성들이 독립적이라는 베이즈 정리를 적용한 통계 기반 분류기
독립 변수의 특성에 상호 연관성이 없다고 가정
노이즈 및 결측치가 많은 데이터를 효율적으로 분석할 수 있으며, 학습 시 많은 양의 데이터를 필요로 하지 않음
다른 머신러닝 알고리즘에 비교적 많은 파라미터가 필요하지 않기 때문에 빠른 연산이 가능
수치 데이터가 많은 경우 학습이 어렵고, 데이터의 중요한 특성을 제대로 반영하지 못하는 단점이 존재
문자형 속성 숫자형으로 변경
Normalizer - Rule Engine(성별을 male=0, female =1) - Rule Engine(탑승선착장도 변경 CS...숫자로) - Partitioning - Naive Bayes Learner - Navie Bayes Prodictor - Scorer(Javascript)
SVM
데이터 집합에서 새로운 데이터가 어떤 클래스에 포함될 지 예측하는 이진 선형 분류 기법
선형 분류 뿐만 아니라 비선형 분류도 커널 트릭(kernel trick)을 통해 수행 가능
커널 트릭은 비선형 분류를 위해 데이터를 고차원 공간에 할당하는 방법론
소프트 마진: 소프트 벡터와의 거리가 클수록 분류를 잘했다
의사결정나무 개념(가지 치는 방식)
정형 데이터를 가장 효율적으로 학습할 수 있는 기법 중 하나
데이터의 칼럼을 기준으로 예측 방식 결정
랜덤포레스트, GBM, XGB, LGBM과 같은 모델들이 출현
multilayer perception 진화한것이 딥러닝
Tabnet: 트리기반 효율적인 학습방식을 딥러닝으로 구현
규칙기반, 적응성은 낮다. 정형화된 데이터에 대해서는 효과적이지만 트렌드가 바뀔 수 있는 것들은 일반적으로는 Tabnet과 같은 딥러닝이 더 좋다.
age. sibsp: 독립변수
survived: 종속변수
SVM, 딥러닝: 독립 변수들 같은 조건이라고 가정하고 연산
의사결정나무 모델(Decision Tree Learner): 정규화 필요 없음 (상대적 조건으로 가지치기)
train, test 데이터 분리
Column Filter > Partitioning > Dicision Tree Learner > Decision Tree Predictor > Scorer(Java Script)
accuracy 직관적, F score 중요(클래스 불균형)
랜덤 포레스트 개념
다수의 의사결정나무를 생성하여 최적의 분류 및 회귀 결과를 도출
여러 개의 의사결정나무를 임의오 생성하여 결과 값을 종합하는 방식
의사결정나무들의 예측 값을 평균하거나(회귀), 가장 많이 선택한 결과를 도출 (분류)
Partitioning > Random Forest Learner > Random Forest Predictor > Scorer(Java Script)
GBM(Gradient Boosting Machine)
의사결정나무를 부스팅 기법으로 응용한것
부스팅: 앙상블 학습방식의 일환으로 모델 가중치를 공유하면서 학습
랜덤 포레스트모델에 비해 정밀한 예측은 가능하지만 과적합 문제가 발생할 수 있다.
Partitioning > Gradient Boosted Tree Learner > Gradient Boosted Tree Predictor > Scorer (Java Script)
XGB 개념
GBM모델의 병렬 컴퓨팅 학습, 과적합 방지 설계, 확장성 확보 등의 부분에서 개선된 모델
정형 데이터 분석에서 가장 많이 활용되는 알고리즘
LGB
'빅데이터 분석' 카테고리의 다른 글
엑셀 데이터 처리 (0) | 2023.07.29 |
---|---|
KNIME 이해 및 설치 (0) | 2023.07.23 |
빅데이터 분석 플랫폼(2) (0) | 2023.07.23 |
빅데이터 분석 플랫폼(1) (0) | 2023.07.23 |
코딩 분석 도구 (0) | 2023.07.23 |