본문 바로가기

STUDY

(98)
[AI 엔지니어 기초 다지기] 7일차 [24.01.23] 2주차 9차시 - 피처 중요도 1. 피처 중요도Feature Importance란? - 타겟 변수를 예측하는데에 사용된 각각의 feature들이 예측에 얼마나 유용하게 사용되었는지를, 각 feature들에 점수로 할당해서 중요도를 측정하는 방법. 2가지 방법이 있다. 1.1 Model specific vs Model agnostic : ML모델 자체에서 중요도를 계산하는 방법을 Model specific, 모델 학습 후에 모델의 중요도 계산 기능이 아닌 다른 방법으로 중요도를 계산하는 방법을 Model agnistic이라 한다. 2. Boosting Tree Feature Importance( Model specific ) 2.1 LightGBM Feature Importance - ..
[데벨챌 2기 - 컨버티드] 2주차 데벨챌 2주차가 돌아왔다. 지난 주엔 Part1을 읽었었다. [STUDY/데이터리안 - SQL 데이터 분석 캠프] - [데벨챌 2기 - 컨버티드] 1주차 [데벨챌 2기 - 컨버티드] 1주차 SQL 강의를 수강했던 데이터리안에서 한달여간 진행되는 데벨챌 2기를 열었고, 참여했다. 컴퓨터 화면이 아닌 종이 위에 쓰인 글씨를 읽는 게 얼마만인지... 데벨챌이 뭔가요? 데이터 넥스트 레벨 k-wien1589.tistory.com 이번 주차에 읽을 부분은 Part2로, 고객과의 관계Relationships 를 이야기한다. 부제는... 어떻게 인간의 욕망을 움직일 것인가 욕망이라니, 참 탐스러운 단어다. 읽어보자. 해당 파트의 요지는, 결국 고객도 사람이므로 고객과의 관계를 중요시 해야 한다는 것이다. 개인적으로는..
[AI 엔지니어 기초 다지기] 6일차 [24.01.22] 2주차 8차시 - 피처 엔지니어링 1. 피처 엔지니어링 원본 데이터로부터 도메인 지식 등을 바탕으로 문제를 해결하는데 도움이 되는 Feature 를 생성 / 변환하고 이를 머신러닝 모델에 적합한 형식으로 변환하는 작업 딥러닝이 아닌 머신러닝에서 모델의 성능을 높이는 가장 핵심적인 단계 양질의 데이터라면 성능의 80 - 90% 는 피처 엔지니어링에 의해 결정됨 나머지는 하이퍼 파라미터 튜닝 등 딥러닝 : end-to-end learning, 딥러닝 모델의 구조를 통해 데이터의 feature 를 모델이 알아서 찾아냄 머신러닝 : 사람이 직접 데이터에 대해 이해해서 feature 를 만들어 줘야함 1) Pandas Group By Aggregation 을 이용한 Feature Enginee..
[visualization] 결측치 시각화 - missingno 보통 데이터 EDA를 할 때엔, 결측치가 있는지 없는지를 먼저 살펴보는것이 일반적이다. 이는 isna()나 isnull()을 통해 수치로 확인할 수 있지만 시각화도 해볼 수 있다. 어떻게 ? missingno라는 라이브러리의 matrix(), bar() 함를 이용한다. (포켓몬의 미싱노가 생각난다...) 간단하게 데이터를 만들고 직접 사용해보도록 하자. 1. 데이터 생성 2.1 matrix() 위의 df 출력결과와 비교해서 보면 알겠지만, 결측치는 흰색으로, 그 외는 검은색으로 표시되어 있다. 즉 컬럼별 결측치의 위치를 나타낸다. 2.2 bar() 각 결측치의 위치를 표시했던 matrix()와는 달리, 각 컬럼별로 결측치가 얼마나 있는지를 보여주고 있다. 데이터가 많다면, bar()의 파라미터에 log=..
[AI 엔지니어 기초 다지기] 5일차 [24.01.19] 1주차 5차시 - 트리 모델 1. What is Tree model? 1.1 의사결정나무 Decision Tree - Tree model 중 가장 기본적인 모델이다. - 컬럼(feature) 값들을 특정 기준으로 나누어, 목적에 맞는 의사결정을 만드는 방법. - 특정 기준에 yes or no 로 decision을 만듦. 스무고개라 생각하면 비슷하다. 1.2 Tree model의 발전형 : Random Forest, Ada Boost, GBM, XGBoost, LightGBM, CatBoost 등이 있다. 1.3 Bagging & Boosting 1) Bagging(Bootstrap + Aggregation) - 데이터셋을 샘플링(=Bootstrap)해서 모델을 만들어나가는 것. - 샘..
[AI 엔지니어 기초 다지기] 4일차 [24.01.18] 1주차 4차시 - 머신러닝 기본 개념 1. Underfitting / Overfitting fit 이란?? => 모델이 얼마나 데이터를 "잘" 설명할 수 있는가, 를 의미함. Well fitting : 모델이 데이터를 잘 설명할 수 있게 되었다! 1.1 Underfitting : 모델이 데이터를 잘 설명하지 못함. Why? 학습이 충분히 되지 않았거나, 데이터가 부족하거나 등등... 1.2 Overfitting : 모델이 데이터를 과하게 잘 설명함. Why? 학습 데이터에 대해서 너무 과하게 학습함. Overfitting이 문제가 되나? 학습을 많이 하면 할 수록 좋은 거 아니야?? 라는 생각은 => 경기도 오산임... 왜냐? 우리가 학습 데이터로 사용하는 데이터는 전체 데이터의 일부..
[AI 엔지니어 기초 다지기] 3일차 [24.01.17] 1주차 3차시 - 데이터 전처리 데이터 전처리Data Preprocessing 1. ML, DL 모델에 데이터를 입력하기 위해 데이터를 처리하는 과정. => EDA, 모델, 분석/모델링 목적, 에 따라 데이터 전처리는 달라진다. 2. EDA와는 마찬가지로 정답은 없으나... => 연속형/범주형 데이터 처리, 결측치 처리, 이상치 처리 등의 과정을 포함한다. 연속형 데이터 전처리 1. Scaling : 데이터 단위 혹은 데이터 분포를 변경하는 작업. 선형 모델(선형회귀, 딥러닝...)의 경우 변수 사이의 scale을 맞추는 것이 필수다. 아래 3개의 스케일링 기법이 주로 쓰인다. 2. Scaling + Distribution : 스케일링 + 데이터의 분포를 바꾸는 작업. 이렇듯 분포까지..
[Pandas] concat()과 merge()의 차이 두 함수 모두, 여러개의 DataFrame(이하 df)을 하나로 합칠 때 사용하는, pandas에서 제공하는 함수다. 두 함수의 목적은 비슷해보일지 모르나, 중요한 차이점이 있다. 꼭 알고 사용하도록 하자. 1. concat([df1, df2, ...] axis) concat()은, 데이터프레임을 "합친다" 보다는 "이어 붙인다"에 좀 더 가깝다. 백문이 불여일견, 직접 보도록 하자. 아래와 같이, df1과 df2라는 2개의 데이터프레임이 있다. concat()을 사용해서 가로 방향으로 합쳐보자. ** axis 파라미터에는 1과 0이 들어갈 수 있다. 0은 행을 의미한다. 좀 더 자세히는, 행이 전개되는 방향, 즉 위/아래 방향(세로)을 의미한다. 1은 열을 의미한다. 좀 더 자세히는, 열이 전개되는 방..