머신러닝과 딥러닝24 [ML] 16. 데이터 전처리 (5) - 희소값 다루기(기타처리) 1. 희소값이란? 범주형 피쳐에서 빈도가 낮은 값 - 데이터를 수집하다 보면 자연스럽게 비율이 높은 값과 낮은 값이 생겨난다. 2. 왜 희소값을 처리해주어야 할까? - 희소값은 데이터 해석을 왜곡하고 머신러닝 성능을 떨굴 수 있기 때문이다. - 희소값을 적절하게 처리를 해주어야 데이터의 전체적인 경향을 파악하는데 좋다. - 또한, 희소값에 대해 one-hot-encoding을 하게 되면 오버피팅이 발생할 수도 있고 너무 희소한 행렬이 생성되기 때문에 계산에 많은 자원(시간, 용량 등)이 필요하다. 3. 희소값 처리 방법 1) 희소값을 결측치 처리하기 2) 희소값을 "기타" 등으로 묶어주기 => 이후 인코딩 진행해도(pd.get_dummies, OneHotEncoder) 해당 값은 인코딩이 되지 않는다. .. 머신러닝과 딥러닝/ML 개념정리 2022. 11. 9. [ML] 15. 데이터 전처리 (4) - 이상치 다루기(스케일링) 멋쟁이 사자처럼 AI스쿨 7기 오늘코드 박조은 강사님의 수업 자료를 바탕으로 포스팅하였습니다. 1. 이상치란? feature에서 일반적인 값의 분포를 벗어나는 경우 - 데이터 수집과정 또는 조작과정에서 오류가 나서 이상치 발생 - 정말 예외적인 경우가 발생하여 이상치 발생 이상치를 찾는 2가지 방법 1) 값의 범위를 지정하여 범위에서 벗어나는 값 찾기 2) 데이터를 시각화 하여 눈에 띄는 값 찾기 1번 방법은 2번에 비해 전문적이지만 어렵고 2번 방법은 2번에 비해 한 눈에 파악하기 쉽지만 주관적일 수 있다. 2. 왜 이상치를 처리해야 할까? 데이터를 왜곡하여 잘못된 결론을 도출할 수 있기 때문에 적절한 방법으로 처리를 해주어야 한다.(제거, 대체 등) 3. 이상치 탐색 1) 기술통계 값 확인하기 tra.. 머신러닝과 딥러닝/ML 개념정리 2022. 11. 9. [ML] 12. 데이터 전처리(1) - 기본방법 개요 1. 데이터 전처리 방법 데이터 전처리 사진출처: Data Preprocessing Concepts with Python | by Amit Chauhan | Towards AI 1) 정규화(scaling) normalization, 스케일의 차이가 클 경우 정규분포로 만들어주거나 스케일 값을 변경해주는 것 2) 이상치(Outliers) 이상치를 제거하거나 대체 이상치를 어떻게 처리할 것인가를 결정할 때는 상당한 도메인 지식이 필요하다. 이상치 자체가 의미를 가지고 있을 수 있기 때문 3) 대체(imputation) 결측치가 있으면 채워오라고 오류를 뱉어낸다. 이때 결측치를 제거하거나 imputation을 진행하여 대체해야한다. 4) 인코딩(encoding) 머신러닝에서는 문자가 있으면 오류를 뱉어내며 문.. 머신러닝과 딥러닝/ML 개념정리 2022. 11. 9. [ML] 10. 하이퍼파라미터 튜닝(3) - Random Search 주요 파라미터 Random search는 하이퍼파리미터의 최소/최대값 등으로 지정한 범위 내에서 랜덤으로 조합 후 샘플링하여 최적의 성능을 갖는 하이퍼파라미터가 무엇인지 탐색하는 하이퍼파라미터 튜닝 기법의 하나이다. 1. Random Search 주요 파라미터 1) estimator 주로 model, 알고리즘을 입력 2) param_distributions dict or list of dicts 형태로 입력, Random Search를 돌릴 파라미터 범위를 지정함 3) n_iter int 타입으로 입력, 샘플링 되는 하이퍼파라미터 수를 지정함 성능의 품질과 시간을 고려하여 입력하면 된다. ※ default = 10 4) scoring str, callable, list, tuple or dict 형태로 입력, 교차 검.. 머신러닝과 딥러닝/ML 개념정리 2022. 11. 3. [ML] 9. 하이퍼파라미터 튜닝(2) - Grid Search 주요 파라미터와 어트리뷰트 grid search는 이전 게시글에서 설명했듯이, 사용자가 지정한 범위 내에서 모든 경우의 수를 완전 탐색하여 최적의 하이퍼 파라미터가 무엇인지 탐색하는 하이퍼파라미터 튜닝 기법의 하나이다. 1. Grid Search 주요 파라미터 1) estimator 주로 model, 알고리즘을 입력 2) param_grid dict or list of dictionaries 형태로 입력, Grid Search를 돌릴 파라미터 범위를 지정함 3) scoring str, callable, list, tuple or dict ※ default = None 4) n_jobs 사용할 CPU 개수로 -1 입력 시 모든 CPU 사용 5) cv 교차 검증 시 분할할 조각의 수 ※ default = None 6) verbose .. 머신러닝과 딥러닝/ML 개념정리 2022. 11. 3. [ML] 8. 하이퍼파라미터 튜닝(1) - 기본개념과 종류 1. 하이퍼파라미터와 파라미터 둘이 헷갈릴 수 있으니 잘 정리해두자. 하이퍼파라미터는 학습 전 사용자가 조정하는 값 파라미터는 결과 값이다. 2. 하이퍼파라미터 종류 1) 학습률 gradient 방향으로 얼마나 빠르게 이동할 것인지 결정하는 변수 2) 손실함수 입력에 따른 기대 값과 실제 값의 차이를 계산하는 함수 3) 정규화 파라미터 과적합을 회피하기 위해 L1 또는 L2 정규화 방법 사용 4) 미니 배치 크기 배치셋 수행을 위해 전체 학습 데이터를 등분하는(나누는) 크기 5) 훈련 반복 횟수 학습의 조기 종료를 결정하는 변수 6) 은닉층의 뉴런 개수 훈련 데이터에 대한 학습 최적화 결정 변수 7) 가중치 초기화 학습 성능에 대한 결정 변수 이 외에도 다양한 하이퍼 파라미터가 존재하고 가장 좋은 성능을.. 머신러닝과 딥러닝/ML 개념정리 2022. 11. 3. [ML] 7. train/test 데이터 나누기, train_test_split 멋쟁이 사자처럼 AI 스쿨 7기 오늘코드 박조은 강사님의 수업자료 및 수업내용을 바탕으로 포스팅하였습니다. 1. 인덱스로 직접 나누기 1) 비율로 데이터 나누기 int(df.shpae[0] * 비율) 2) train, test 쪼개기 train = 데이터프레임[:int(df.shpae[0] * 비율)] test = 데이터프레임[int(df.shpae[0] * 비율):] 3) feature_names와 label_name 생성 feature_names: 학습과 예측에 사용할 컬럼 지정 label_name: 정답이자 예측해야 할 컬럼 지정 4) 학습, 예측 데이터 셋 생성 X_train: 기출문제 y_train: 기출문제 정답 X_test: 실전문제 y_test: 실전문제 정답 2. train_test_sp.. 머신러닝과 딥러닝/ML 개념정리 2022. 10. 31. [ML] 6. 회귀모델 성능평가지표, 분류모델 성능평가지표 멋쟁이 사자처럼 AI스쿨 7기 박조은 강사님의 수업내용 및 자료를 바탕으로 포스팅하였습니다. 1. MAE(Mean Absolute Error) (예측값 - 실제값)의 절대값에 대한 평균 2. MAPE(Mean Absolute Percentage Error) (실제값 - 예측값 / 실제값)의 절대값에 대한 평균 3. MSE(Mean Squared Error) (실제값 - 예측값)의 제곱의 평균 MAE와 비슷해 보이나 제곱을 통해 음수를 양수로 변환함 분산과 유사한 공식 4. RMSE(Root Mean Squared Error) MSE의 제곱근 표준편차와 유사한 공식 5. R^2 결정계수 1- (관측 값과 예측 값 차의 제곱합) / (관측 값과 측정값 전체 평균의 제곱 합) ✏️ MAE, MAPE, MSE,.. 머신러닝과 딥러닝/ML 개념정리 2022. 10. 31. [ML] 4. DecisionTree(결정트리) 멋쟁이 사자처럼 AI스쿨 7기 오늘코드 박조은 강사님의 강의자료 및 강의 내용을 바탕으로 포스팅하였습니다. 사이킷 런 - user guide - 1. supervised learning - 10번: tree 계열 사이킷 런 - user guide - 1. supervised learning - 11번: boost tree 계열 1. 결정 트리 학습법(decision tree learning) 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로 결정 트리를 사용하는 학습법 위에서 확인할 수 있듯이 스무고개를 하는 것처럼 질문을 이어가며 학습하는 구조이며, 특정 기준에 따라 데이터를 구분하는 모델이 바로 Decision Tree이다. 질문이나 정담을 담은 상자(위 사진 속 마름모나 타원)를 노드라고.. 머신러닝과 딥러닝/ML 개념정리 2022. 10. 26. [ML] 3. 머신러닝 파이프라인, 전체과정 멋쟁이 사자처럼 AI스쿨 오늘코드 박조은 강사님의 수업자료 및 수업내용을 바탕으로 포스팅하였습니다. 1. 머신러닝의 파이프라인 1️⃣ EDA - 기본 탐색: info, describe, histplot, 결측치, 이상치, 희소값 확인 등 2️⃣ Data Preprocessing(데이터 전처리) 3️⃣ Feature Engineering: 피쳐를 어떻게 유용하게 만들 것인가?, 도메인 지식을 기반으로 피쳐를 변형, 생성하는 것 - feauture selection(target에 중요한 영향을 미치는 feature를 어떻게 선택할 것인가?) - feature extraction(차원축소 등을 통해 새로운 중요 피쳐를 추출) - feature transform & Scaling(피쳐 스케일링, 피쳐 정규분포화.. 머신러닝과 딥러닝/ML 개념정리 2022. 10. 26. [ML] 2. 머신러닝의 주요 4가지 알고리즘 멋쟁이 사자처럼 AI스쿨 7기 오늘코드 박조은 강사님의 수업자료 및 내용을 바탕으로 포스팅하였습니다. 1. 머신러닝의 주요 4가지 알고리즘 1) 분류: 범주형, 지도학습 2) 회귀: 수치형, 지도학습 3) 군집화: 범주형, 비지도학습 4) 차원축소: 수치형, 비지도학습 지도학습과 비지도학습의 차이는 정답유무이다. 정답이란 레이블이 되어 있는가를 의미한다. 위 4가지 중에서도 핵심은 분류와 회귀이다. 2. 지도학습의 알고리즘(분류와 회귀) 1) 선형회귀 분류 X, 회귀 O 2) 정규화 분류 X, 회귀 O 3) 로지스틱 회귀 분류 O, 회귀 X 4) 서포터 벡터 머신(SVM) 분류 O, 회귀 O 5) 커널 기법 적용 서포터 벡터 머신 분류 O, 회귀 O 6) 나이브 베이즈 분류 분류 O, 회귀 X 7) 랜덤.. 머신러닝과 딥러닝/ML 개념정리 2022. 10. 26. [ML] 1. 머신러닝과 딥러닝, 지도학습과 비지도학습, EIL, 사이킷런, 딥러닝 라이브러리 종류 멋쟁이 사자처럼 AI스쿨 7기 오늘코드 박조은 강사님의 수업내용 및 자료를 바탕으로 포스팅하였습니다. 1. 머신러닝과 딥러닝 머신러닝이란? 인공지능의 연구 분야 중 하나로 기계학습이라고도 한다. 인간의 학습 능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 및 기법 딥러닝이란? 기계학습(머신러닝)의 한 분야로 컴퓨터가 사람처럼 생각하고 배울 수 있도록 하는 기술 신경망학습 등을 주로 다룬다. 즉 머신러닝과 딥러닝의 차이는 신경망 사용 여부라고 할 수 있다. 2. 지도학습과 비지도 학습 지도학습? 정답이 있는 학습 비지도학습? 정답이 없는 학습 즉 지도학습과 비지도학습을 구분하는 가장 큰 기준은 정답 유무이다. 정답은 target, label이라고도 하며, Nan 혹은 Null이면 정답이 없는 것이다. .. 머신러닝과 딥러닝/ML 개념정리 2022. 10. 26. 이전 1 2 다음