목록python/ML (27)
sein-choi 님의 블로그
부스팅 알고리즘가장 최근의 알고리즘이다.여러 개의 약한 학습기(weak learner)를 순차적으로 학습하면서 잘못 예측한 데이터에 가중치를 부여하여 오류를 개선해나가는 학습 방식이다.하이퍼 파라미터 조절하고 그 이론을 안다면 적용할 부분이 많다 Weak learner #1 : 빨간색과 녹색 포인트를 분리하는 결정 경계(점선)를 보여주지만, 강조된 빨간색 포인트는 잘못 분류 되었다.Weak learner #2 : 이전에 잘못 분류된 빨간색 포인트를 더 잘 분류하는 다른 결정 경계를 보여준다. Strong learner : 약한 학습기의 결정을 통합하여 빨간색과 녹색 포인트를 더 잘 분리하는 결합된 결정 경계를 보여준다. 🔶부스팅 알고리즘 종류 🔸Gradient Boosting Model : 가중치..
✅최근접 이웃(KNN) : 주어진 데이터 포인트의 가장 가까운 k개의 이웃을 기반으로 예측하는 방법예를 들어,K=3이라면 별 1개와 세모 2개이므로 ? 는 세모로 예측될 것K=7이라면 별 4개와 세모 3개이므로 ?는 별로 예측될 것별과 세모는 타겟 변수이다. 예시 : 영화 평점(x축)과 관람객 수(y축)를 이용하여 영화의 흥행 여부를 예측하는 경우x축 : 영화 평점 (독립 변수)y축 : 관람객 수 (독립 변수)타겟 변수 : 흥행 여부 (종속 변수) 🔸KNN의 프로세스 거리 측정 : 주어진 데이터 포인트와 기존 데이터 포인트들 간의 거리를 계산한다. 일반적으로 유클리드 거리(Euclidean distance)를 많이 사용한다.이웃 선택 : 가장 가까운 k개의 데이터 포인트(이웃)를 선택한다.결정 : 분..
의사결정 나무의 과적합 및 불안정성 문제를 해결하기 위한 방법으로, 여러 개의 나무(tree)를 결합하여 숲(forest)를 만드는 아이디어가 바로 랜덤 포레스트이다. 🔸배깅(Bagging)의 원리데이터 부족문제를 해결하기위한 방법Bootstrapping + AggregatingBootstrapping : 데이터를 복원 추출해서 유사하지만 다른 데이터 집단을 생성하는 것복원 추출: 데이터를 추첨한 후, 중복 추출이 가능하도록 한 번 뽑은 표본을 모집단에 다시 넣어 다음 표본을 추출하는 방법. 즉, 같은 데이터가 여러 번 추출될 수 있다. Bootstrap을 통해 생성한 데이터 샘플들은 모집단의 분포를 유사하게 따라가고 있으니 다양성을 보장하면서 데이터의 부족한 이슈를 해결할 수 있다.Aggregatin..
🔸타이타닉 성별에 따른 생존예측을 의사결정 나무 알고리즘에 적용 후 시각화 예시루트 노드(Root Node) : 의사결정나무의 시작점. 최초의 분할조건리프 노드(Leaf Node) : 루트 노드로부터 파생된 중간 혹은 최종 노드 불순도(impurity)지니 계수는 데이터의 순도를 측정하는 데 사용되는 지표 중 하나이다. 0과 1 사이의 값을 가지며, 값이 0에 가까울수록 데이터가 순수하고(즉, 특정 클래스에 속하는 데이터만 존재), 1에 가까울수록 데이터가 불순하다(즉, 다양한 클래스의 데이터가 균등하게 분포되어 있음)는 것을 의미한다.완벽한 순도 (0) : 모든 데이터가 단 하나의 클래스에만 속하는 경우이다. 즉, 특정 노드에 속한 모든 데이터가 동일한 클래스라는 의미이다.완전한 불순도 (1) : 각..
고정된 테스트 데이터를 사용하여 모델을 평가할 때, 과적합의 위험이 존재한다.데이터 편향 : 고정된 테스트 데이터가 특정 패턴을 많이 포함할 경우, 모델이 그 패턴을 과도하게 학습할 수 있다.일반화 오류 : 고정된 테스트 데이터는 전체 데이터의 대표성을 충분히 가지지 않을 수 있어, 실제 데이터 분포와 차이가 생길 수 있다.모델 평가의 불안정성 : 하나의 테스트 데이터셋에 의존하면, 모델의 성능 평가가 불안정할 수 있으며, 다른 테스트 데이터에서 성능이 크게 달라질 수 있다.이를 보완할 수 있는 교차검증(Cross Validation) 교차검증(Cross Validation)이란 데이터 셋을 여러 개의 하위 집합으로 나누어 돌아가면서 검증 데이터로 사용하는 방법이다.✅K-Fold Validationtra..
Kaggle 타이타닉 예측 대회타이타닉 생존 예측 모델 만들기1. 필요한 라이브러리 불러오기import pandas as pd # 데이터 조작 및 분석을 위해 사용import numpy as np # 수치 계산을 위해 사용import matplotlib.pyplot as plt # 데이터 시각화를 위해 사용import seaborn as sns # 데이터 시각화를 위해 사용2. train / test 데이터 분리 및 데이터 불러오기캐글에서는 train과 test 데이터를 각각 제공하여 따로 분리할 필요가 없다train_df = pd.read_csv('C:/Users/sein4/Documents/pandas/titanic/train.csv')test_df = pd.read_csv('C:/Users/sei..