본문 바로가기

오늘코드

[멋쟁이사자처럼 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달 정도 되었다면 연도, 월별로 구해서 보더라도 큰 의미를 찾기 어려울 것입니다. 그래서 서비스 초기에는 시간대별, 일자별로 보기도 합니다. 서비스를 어느정도 운영하다보면 연도, 월별로 궁금해 지는 시점이 옵니다. 그 때는 연도, 월별로 구해서 보게 됩니다. 위 예시처럼 투자를 위해 리텐션을.. 더보기
[멋쟁이사자처럼 AI스쿨] 3월 1주 WIL 23.2.27 - 28 회고. 1. 능동적으로 데이터를 사용하는 방법. 스토리지 사이즈를 줄이는 방법, 파일 사이즈를 효율적으로 관리하는 방법 : parquet. 파일 포맷을 통해 파일 용량을 줄이는 방법 열 스토리지, 필요한 데이터만 읽기 효율적인 바이너리 패킹 압축 알고리즘 및 인코딩 선택 데이터를 파일로 분할하여 병렬 처리 가능 메모리 사이즈를 줄이는 방법, 메모리를 효율적으로 관리하는 방법 : downcast float, int형의 데이터 타입 변경을 통해 메모리 다운 사이즈 수행 2. 비즈니스 데이터 분석. groupby를 활용해 count, sum, mean 등을 활용. nlargest를 통해 상위 제품 추출 datetime 모듈을 통해 날짜 형식 변경 dt 접근자를 통한 파생변수 생성. 조건.. 더보기