본문 바로가기

전체 글192

[AI 부트캠프] DAY 61 - 머신러닝 프로젝트 5 [오늘의 일지] 머신러닝 프로젝트 - 딥러닝, Stacking과 Voting, 대회 초기화 [상세 내용] 머신러닝 프로젝트 - 아래의 주제들을 설명하기에 앞서서 저희 조는 더 이상 발전이 없었던 평가지표 때문에 강사님께 조언을 구했습니다. 강사님도 이 정도 해서 진전이 없는 상태라면 완전히 다른 알고리즘 모델로 방향을 틀어봐야 한다고 말해주셨습니다. 그중 하나의 예시가 딥러닝이었는데 아직 딥러닝을 배우지 않은 상태여서 강사님은 머신러닝 알고리즘 모델 3가지를 앙상블을 하는 방법인 stacking이나 voting을 대회 같은 특수한 상황에서는 자주 사용한다고 말씀하셨습니다. 그래서 간단하게 알아보도록 하겠습니다. 딥러닝 - 딥러닝은 아직 배우지 않았기 때문에 간단하게 있는 코드만 가져와서 실행을 해보았습니.. 2023. 10. 18.
[AI 부트캠프] DAY 60 - 머신러닝 프로젝트 4 [오늘의 일지] 머신러닝 프로젝트 - 이상치 조절, 왜도가 심한 데이터 처리, 전처리 결과 [상세 내용] 머신러닝 프로젝트 이상치 조절 - 지난 일지를 보면 알겠지만 어느 시점부터 아무리 하이퍼파라미터를 더 많은 학습을 할 수 있도록 수정도 해보고 알고리즘 모델을 바꿔서 사용해 봐도 특정 평가지표에 머물러 있는 상황이 이어졌습니다. 그래서 결국 초심으로 돌아가서 주어진 데이터의 분포부터 파악했습니다. 데이터를 보다 보니 몇 가지 특이한 점을 발견했습니다. 타깃 값을 포함한 피치 5가지가 이상치를 많이 가지고 있었으며 왜도도 심하게 0 값으로 쏠려 있는 것을 확인했습니다. 그래서 이상치가 모델학습에 주는 영향에 대해서 한번 찾아보았습니다. 모델의 정확성에 부정적인 영향: 이상치는 모델이 일반적인 패턴을 학.. 2023. 10. 17.
[AI 부트캠프] DAY 59 - 머신러닝 프로젝트 3 [오늘의 일지] 머신러닝 프로젝트 - CatBoost, HistGradientBoosting, Random Forest [상세 내용] 머신러닝 프로젝트 CatBoost - 어제 LGBM을 사용하면서 계속해서 하이퍼파라미터를 여러 가지로 수정해 가면서 좋은 평가지표를 얻으려는 시도를 많이 했지만 아쉽게도 어느 순간부터는 정체되는 느낌을 받았고 optuna를 통해서 최적의 파라미터 값을 찾기 위해서 수치를 더 깊은 학습을 하도록 조정했지만 시간만 오래 걸렸고 실패했습니다. 그러던 중에 여러 가지 알고리즘을 사용하면서 최적의 모델을 찾을 수 있다는 이야기를 듣고 CatBoost를 사용해 보았습니다. CatBoost는 사실 카테고리컬 피처가 많이 존재할 때 자동으로 처리해 줄 수 있으므로 유용하다고 합니다. 그.. 2023. 10. 14.
[AI 부트캠프] DAY 58 - 머신러닝 프로젝트 2 [오늘의 일지] 머신러닝 프로젝트 - EDA, LGBM [상세 내용] 머신러닝 프로젝트 EDA - 어제 일지에서 소개했던 베이스라인 코드에 의하면 사실 간단하지만 전처리가 다 되어 있어서 머신러닝 대회를 처음 진행하는 입장에서 뭔가 할 게 없다고 느껴졌습니다. 다만 풍향과 관련된 데이터들이 결측치를 많이 가지고 있었는데 그냥 평균값으로 대체하는 것에 대해서 뭔가 찜찜함이 있었지만 일단은 넘어가고 LGBM을 돌렸는데 평가지표가 생각보다 잘 안 나오는 느낌이 들어서 결측치를 다른 방법으로 대체해 보기로 했습니다. 저희는 수업시간에 배운 대로 처음에는 KNN(K Neighbor Nearest)을 사용해 보았습니다. 근데 생각보다 결측치의 양이 많아서 그런가 시간은 시간대로 다 잡아먹고 결과는 실패로 나왔습니다.. 2023. 10. 13.
[AI 부트캠프] DAY 57 - 머신러닝 프로젝트 1 [오늘의 일지] 머신러닝 프로젝트 - 조편성, 주제선정, 대회 파악하기, 데이터 파악하기, 베이스라인 [상세 내용] 머신러닝 프로젝트 조편성 - 조편성은 기존 프로젝트에서는 선호도를 조사해서 랜덤 하게 편성되는 구조를 가지고 있었는데 이번에는 사전에 마음이 맞는 사람끼리 조를 미리 구성해도 된다고 공지를 해줬습니다. 저는 처음에는 그냥 새로운 사람들과 그냥 해보자는 생각이었는데 마침 감사하게도 전에 EDA 프로젝트를 같이했던 조원분께서 먼저 이번에도 같이 해보자고 권해주셔서 두 명이서 같이 하게 되었습니다. 지난 프로젝트 때 좋은 경험을 했기 때문에 이번 조편성도 기분 좋게 출발할 수 있었던 거 같습니다. 주제선정 - 주제는 총 6개가 있었습니다. 캐글 대회 3개와 데이콘 대회 3였는데 캐글에서는 현재 .. 2023. 10. 12.
[AI 부트캠프] DAY 56 - 머신러닝 11 [오늘의 일지] 머신러닝 실시간 강의 - 예측 모델 개발 및 적용(성능 평가), 머신러닝 프로젝트 OT [상세 내용] ML PJT Workflow 예측 모델 개발 및 적용 성능 평가 대표적인 분류 모델 평가 지표 - 기준을 predicted로 잡고 판단을 기준으로 positive와 negative를 설정하고 실제와 비교하여 true와 false를 결정한다. 아래의 표에 대한 자세한 설명은 지난 학습일지에 자세하게 나와 있습니다. [AI 부트캠프] DAY 47 - 머신러닝 2 [오늘의 일지] 머신러닝 녹화 강의 - 머신러닝을 위한 개념 수업 (Classification) [상세 내용] 머신러닝을 위한 개념 Classification - Classification(분류)은 머신 러닝 및 통계 분석의 하위 분.. 2023. 10. 11.
[AI 부트캠프] DAY 55 - 머신러닝 10 [오늘의 일지] 머신러닝 실시간 강의 - 예측 모델 개발 및 적용 [상세 내용] ML PJT Workflow 예측 모델 개발 및 적용 예측 모델 개발 과정 규칙 → 통계 → ML → DL 모델 학습 및 평가 주어진 데이터로 모델을 학습시키는 것은 지정한 성능 평가 지표를 향상시키는 과정입니다. 데이터를 학습 데이터와 검증 및 테스트 데이터로 나누는 과정이 필요합니다. 정량적 기준을 설정하고, 달성할 때까지 모델을 학습시키고 성능을 개선합니다. 목표한 성능에 도달한 모델을 실제 서비스에 적용합니다. 모델 성능 개선 전략 Main Skills for Data Scientist Hyper-parameter tuning Grid Search vs Random Search - Random Search를 사용하면 .. 2023. 10. 7.
[AI 부트캠프] DAY 54 - 머신러닝 9 [오늘의 일지] 머신러닝 실시간 강의 - 데이터 분석 문제 정의 (Boosting 마무리), 데이터 수집 및 정제, 탐색적 데이터 분석, 피처 엔지니어링 [상세 내용] 데이터 분석 문제 정의 CatBoost (CAT) kaggle 같은 실전 데이터 분석 대회에 서 가장 많이 사용하는 모델 GBDT가 Categorical feature에 대해서 학습이 잘돼도록 설계되어 있습니다. 오랜 연구로 default parameter 설계가 잘되어있어, parameter tuning이 쉽습니다. GPU 사용 최적화가 잘 되어있습니다. Hyper-parameter Tuning (feature 중에 50% 이상이 categorical 일 때) Parameter Tuning (for performance) one_hot_.. 2023. 10. 6.
[AI 부트캠프] DAY 53 - 머신러닝 8 [오늘의 일지] 머신러닝 실시간 강의 - 데이터 분석 문제 정의 (클러스터링(Clustering), Boosting) [상세 내용] 데이터 분석 문제 정의 클러스터링(Clustering) 정의 - 클러스터링은 비슷한 데이터를 같은 그룹에 묶고, 비슷하지 않은 데이터를 다른 그룹으로 분리하여 결국 데이터를 서로 비슷한 특성을 가진 그룹끼리 모이게 하는 데이터 분석 기술입니다. K-Means Clustering - K-Means Clustering은 가장 직관적이고 이해하기 쉬운 클러스터링 방법으로 'K-평균 알고리즘'으로 불리며, 데이터를 평균(mean)을 기준으로 묶어주는 방법으로 알려져 있습니다. 이 알고리즘은 엄청나게 빠른 속도로 수행되며, 결과가 반드시 나오는 것이 보장되어 있어 데이터 클러스터링의.. 2023. 10. 5.
[AI 부트캠프] DAY 52 - 머신러닝 7 [오늘의 일지] 머신러닝 실시간 강의 - 데이터 분석 문제 정의 (회귀 실습 마무리, 분류(Classification)) [상세 내용] 데이터 분석 문제 정의 회귀 실습 마무리 (test 데이터 가공해서 lreg.predict로 출력하기) ## test 데이터를 x_test로 가공해서 lreg.predict(X_test)가 에러가 나지 않고 출력이 되게끔 만들기 # 1. is_Cabin # 2. FamilySize # 3. column drop # 4. age column 채우기 # 5. dropna ?! # 6. Sex -> Ordinal, Embarked -> One-Hot # test.info() x_test = test.copy() # deep copy x_test['is_Cabin'] = x_t.. 2023. 9. 28.
반응형