본문 바로가기

박조은

[멋쟁이사자처럼 AI스쿨] TIL(23.3.21) XGBoost, LightBGM portable 이식성이 높다 다른 프로그래밍 언어를 지원하기 적합한 구조로 설계, 여러 언어 지원. 배깅 병렬트리를 여러 개 생성, 오버피팅에 좀 더 덜 취약. 랜덤포레스트, ExtraTree 부스팅 순차적으로 트리를 생성, 오버피팅에 좀 더 취약하며, 개별 트리의 성능이 중요할 때 사용. GBM, XGBoost, LightGBM, CatBoost XGBoost xgboost는 GBT에서 병렬 학습을 지원하여 학습 속도가 빨라진 모델. 기본 GBT에 비해 더 효율적이고, 다양한 종류의 데이터에 대응할 수 있으며 이식성이 높음. 모든 가능한 트리를 나열하여 최적 트리를 찾는 것은 거의 불가능 2차 근사식을 바탕으로 한 손실함수를 토대로 매 iteration마다 하나의 leaf로부터 가지를 늘려나가는 것이.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.20), RandomSearchCV 한쪽에 치우쳐진 데이터 -> 모델이 골고루 학습하기 어려움 -> log1p로 정규분포에 가깝게 만들어줘 모델이 학습하기 쉽도록 해줌! Label Smoothing 이란? log1p - 회귀 모델에서 사용할 수 있는 레이블 스무딩(Label Smoothing) 기법 예시 ) - 데이터 정규화(regularization)에 많이 사용되는 테크닉이며 모델의 일반화 성능을 높여주기도 한다. - label을 있는 그대로 사용하는 것이 아닌, 조금 Smooth 하게 만들어 정규화 시키는 것이다 Boosting 부스팅은 약한 트리 모델을 여러개를 순차적으로 연결해서 강한 트리 모델을 만들어 내는 앙상블 방식 RandomizedSearchCV parameter 종류 - n_iter : CV 가 검증을 해볼 파라미터 조.. 더보기
[멋쟁이사자처럼 AI스쿨] week13 - WIL AIS8 week13 23.3.13 - 3.15, 머신러닝 0601 파일 회귀 모델을 사용해 보기 회귀 모델의 평가 측정 공식 R square Score, MAE, MSE, RMSE, RMSLE 알아보기 ExtraTreeRegressor 모델 사용 CrossValidation 사용 어떤 피처를 선택하는게 중요한지 => Baseline 점수 만들기 0602 파일 로그를 변환하고 다시 원래 값으로 복원하는 방법 GridSearchCV Gradient Boosting 모델 모델의 성능을 향상시키는 다양한 방법 데이터 수집: 교육 예제의 수 늘리기 특성 처리: 더 많은 변수 추가 및 특성 처리(전처리, feature engineering) 향상 모델 파라미터 튜닝: 학습 알고리즘에서 사용하는 교육 파라미터의 대.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.13), RandomForest, OneHotEncoding 3.13 학습 내용 0501 => 머신러닝의 지도학습의 분류를 사용하는 Scikit-learn API 기초와 DecisionTree 를 실습, 수치데이터만 사용 0502 => 범주형 데이터를 인코딩(수치 데이터로 변환)해서 사용하는 방법, One-Hot-Encoding(pd.get_dummies), RandomForest 0503 => One-Hot-Encoding(scikit-learn), 언더피팅, 오버피팅을 평가시 train, test 데이터에 대한 점수 비교. 기존에는 test 데이터에 대해서만 평가했는데 train 데이터로 평가해볼 예정입니다. cross validation 기법을 사용해서 평가해볼 예정입니다. 요약정리 underfitting과 overfitting 언더피팅(underfittin.. 더보기
[멋쟁이사자처럼 AI스쿨] week12 - WIL 23.3.6 - 23.3.8 week12. RFM & 머신러닝 기초 고객가치 평가의 척도, RFM(Recency, Freq uency, Monetary) RFM 모형 - 일정기간 동안 발생된 고객의 구매 패턴을 이용, 고객을 분류, 고객의 기본적인 구매 패턴 → 고객가치 평가 ▶ 기업의 마케팅 전략에서 고객의 평가/분류방법으로 가장 많이 사용되고 있는 분석 방법 Recency - 거래의 최근성 : 고객이 얼마나 최근에 구입했는가? Frequency - 거래 빈도 : 고객이 얼마나 빈번하게 우리 상품을 구입했나? Monetary - 거래 규모 : 고객이 구입했던 총 금액은 어느 정도인가? - "고객이 어떤 행동 패턴을 가지고 있나"에 의하여 고객가치를 평가. 고객의 과거 구매행태에 근거, 미래의 구매행태를.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.8), 머신러닝 머신러닝 - 지도학습 XGBoost, LightGBM, CatBoost, TensorFlow, Keras 에서도 사이킷런 스타일의 API 를 제공. df.value_counts(1) = df.value_counts(normalize=True) 지니 불순도는 집합에 이질적인 것이 얼마나 섞였는지를 측정하는 지표이며 CART 알고리즘에서 사용한다. 어떤 집합에서 한 항목을 뽑아 무작위로 라벨을 추정할 때 틀릴 확률을 말한다. 집합에 있는 항목이 모두 같다면 지니 불순도는 최솟값(0)을 갖게 되며 이 집합은 완전히 순수하다고 할 수 있다. Q. 결측치 채우기? A. 결측치를 채울 때 평균, 중앙값 등으로 채우기도 합니다. 결측치가 너무 많은데 해당 변수가 중요한 값일 때는 제거하는 것보다 채우는 것이 더 나을.. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.7), 머신러닝 Scikit-learn 지도학습 vs 비지도학습 지도 학습 > 정답(Label) 있는 데이터를 학습 분류 : 범주형 데이터를 각 class별로 나누는 것 (범주형 변수) 회귀 : 하나의 가설에 미치는 다양한 수치형 변수들과의 인과성 분석 (수치형 변수) 비지도 학습 > 정답(Label) 없는 데이터를 학습 군집화 : 유사도가 높은 범주끼리 모아주는 것, 분류와는 다르게 정답이 없다. (범주형 변수) 차원축소 : 고차원 데이터를 차원을 축소해서 분석할 특성을 줄이고 한눈에 볼 수 있게 해줌 (수치형 변수) No Free Lunch Theorems for Optimization > Wolpert와 Macready가 1997년에 발표한 논문, > 어떤 최적화 알고리즘이든 모든 문제에서 효과적일 수 없음. > .. 더보기
[멋쟁이사자처럼 AI스쿨] TIL(23.3.6), RFM Q. 요일별 & 월별, 시간대별 구매 빈도수 지표가 중요한 이유 ? - 중요한 segment 이기 때문 - 특정 시간대나 요일에 서버 증설 또는 알림 , 프로모션, 광고 등 - 구매율을 높이기위한 어떤 액션을 시도할 수 있기 때문. - 조회수 증가 -> 서비스 개선에 활용 리텐션을 구할 때는 연도, 월, 일, 주별로 구하기도. => 어떤 관점에서 볼 것인지에 따라 주기를 정하게 됨. 예를 들어 게임을 오픈했는데 1~2달 정도 되었다면 연도, 월별로 구해서 보더라도 큰 의미를 찾기 어려울 것입니다. 그래서 서비스 초기에는 시간대별, 일자별로 보기도 합니다. 서비스를 어느정도 운영하다보면 연도, 월별로 궁금해 지는 시점이 옵니다. 그 때는 연도, 월별로 구해서 보게 됩니다. 위 예시처럼 투자를 위해 리텐션을.. 더보기