TIL(Today I Learned)

[2025/02/03]내일배움캠프 QA/QC 1기 - 30일차

essay2892 2025. 2. 3. 20:28

코드카타(https://essay2892.tistory.com/91)

 

라이브세션

더보기

sort_index(), sort_value()

ascending = True (기본값, 오름차순), False(내림차순)

 

concat(): 여러 개의 테이블을 연결, 행 또는 열 기준, UNION ALL(SQL), 연결한 만큼 늘어남

merge(): 공통 열(키) 기준 병합, 지정된 on 키 기준, JOIN ( inner , left , right , outer )(SQL), 결과는 키에 따라 달라짐

join(): 인덱스 기준 병합, 행의 인덱스 기준,  LEFT JOIN(SQL), 결과는 left 기준

 

sns.violinplot()

 

altair : 인터랙티브

bokeh : 인터랙티브

folium : 지도 시각화

 

plotly : 강력한 인터랙티브 시각화 라이브러리, plotly.express 를 사용하면 코드가 간결해짐

웹 기반 시각화에 최적화, Dash 프레임워크와 결합하면 웹 애플리케이션에서 쉽게 활용가능

애니메이션 기능, 지도 시각화(choropleth), 트리맵, 3D산점도, 스파이더 차트/레이더 차트

 

릿지 라쏘 회귀에서는 Alpha값이 가장 중요한 하이퍼 파라미터

랜덤 포레스트에서는 n_estimators(트리 개수), max_depth(트리 최대 깊이), min_smaples_split(최소 샘플 수)

부스팅 모델 - learning_rate(학습률), n_estimators, max_depth, min_child_weight, subsample, colsample_bytree

총 10개의 변수
colsample_bytree = 0.8
10개 중에 8개의 변수만 활용해서 트리를 구성하겠다

 

 앙상블                                                                                  
-배깅 : RF model (병렬적 학습)
-부스팅 : GBM model 종류 (순차적 학습)

 

Train_test_split(train, test)
test_size = 0.2 -> train : 80%, test : 20%
new_test (새로운 데이터) 등장 .. 기존의 성능을 과연 보장?
-> No
How?
성능을 여러번 평가해야 안정적으로 생각할 수 있고, 비교적 보장할 수 있다.

  • 동일한 20% test셋으로 진행을 하면 X
  • 20% 테스트 데이터를 계속 변경 -> 성능 평가

Train, test split
-> 데이터를 k 개의 집합으로 균등 분할