klue 데이터란? ChatGPT 이모한테 물어보았다. 형태소란? ChatGPT 이모한테 물어보았다. KoNLPy란? ChatGPT 이모한테 물어보았다. colab 데이콘 데이터 불러오기 # 로컬 PC에서 실습 시 직접 데이콘 사이트에 회원가입하고 다운로드 해주세요. import os, platform base_path = "data/klue/" def file_exist_check(base_path): if os.path.exists(f"{base_path}train_data.csv"): print(f"{base_path} 경로에 파일이 이미 있음") return if platform.system() == "Linux": print(f"파일을 다운로드 하고 {base_path} 경로에 압축을 해제함")..
단어가방(Bag Of Word)란? ChatGPT 이모에게 물어보았다. 구조와 상관없이 단어의 출현횟수만 센다. 단어의 순서가 완전히 무시된다. = 문장의 의미는 고려하지 않는다. n_gram : 해당 단점을 보완. n개의 토큰을 사용할 수 있도록 함. TF-IDF란? ChatGPT 이모에게 물어보았다. BOW : 단어가방(Bag of word) 문서를 토큰 리스트로 변환한다. 각 문서에서 토큰의 출현빈도를 센다. 각 문서를 BOW 인코딩 벡터로 변환한다. - CountVectorizer 사이킷런에서 제공하는 Bag of words를 만들 수 있는 방법. 텍스트 문서 모음을 토큰 수의 행렬로 변환 문서목록에서 각 문서의 feature(문장의 특징) 노출수를 가중치로 설정한 BOW 벡터를 생성. -매개변수..
Chat GPT가 말하는 'XGBoost' XGBoost의 과정과 코드에 대해서도 물어보았습니다. XGBoost의 일반적인 과정은 다음과 같습니다. 1. 데이터 전처리 입력 데이터를 특성(feature)과 레이블(label)로 나눕니다. 필요한 경우, 특성 데이터를 정규화(normalization)하거나 표준화(standardization)합니다. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler # 데이터 불러오기 data = pd.read_csv('data.csv') # 특성과 레이블 나누기 X = data.iloc[:,:-1] y =..
※ regressor은 회귀에서 사용하는 ExtraTree모델. 📝 잔차와 오차란? 잔차(residual) : 실제값과 모델이 예측한 값의 차이. 각 데이터 포인트마다 계산된다. 잔차 = 실제값(측정값) - 예측값 잔차는 모델의 예측값과 실제값 사이의 차이를 의미한다. 즉, 잔차는 오차와 마찬가지로 모델의 성능을 평가하는데 사용되지만, 모델을 훈련할 때 사용되는 오차와는 다르다. 잔차플롯 해석하기 Residual plot 에서 각각의 점들이 수평선을 기준으로 하여 랜덤하게 분포한다면 해당 회귀모형은 데이터에 있어 적합하다. 만일 그렇지 않다면 linear 한 모델이 아닌 non-linear 한 모델이 더 적합 하다는 것을 의미한다. 오차(error) : 잔차들의 평균적인 크기를 나타내는 값 오차 = (잔..
※ Extra 모델을 불러온 후, cross_val_predict로 예측 및 평가하고, cross validation 기법을 사용하여 모델을 평가. 📝 train_test_split() arrays : 분할시킬 데이터 test_size : 테스트 셋의 비율 (default = 0.25) train_size : 학습 데이터 셋의 비율 random_state : 고정할 seed값 shuffle : 기존 데이터를 나누기 전에 순서를 섞을 것인지 (default=True) stratify : 지정한 데이터의 비율을 유지. (= 층화표집) 📝 머신러닝 알고리즘의 데이터 : 문자 데이터를 사용할 수 없다. ★ 머신러닝 알고리즘의 종류 종류예시 지도학습 분류 (Classification) 입력변수 X와 출력변수 Y가..
📝 모델의 성능 개선하기 train_test_split() : 데이터셋 나누기 pd.get_dummies() : One-Hot-Encoding RandomForestClassifier 📝 One-Hot-Encoding pd.get_dummies() 사용. X = pd.get_dummies(X_raw) Ordinal encoding & One hot encoding : 범주형 변수를 수치형으로 변환하는 방법 Ordinal encoding : 범주형 변수에 정해진 순서나 등급이 있을 때 사용. => 모델학습에 문제발생 가능성 O One hot encoding : 범주형 변수의 모든 값을 이진수(binary)로 표현. => 데이터 양 증가 📝 train과 test 데이터 나누기 : train_test_spli..
📝 pd.to_numeric() 숫자형태로 된 문자열을 숫자형으로 바꿔준다. pd.to_numeric(data, errors='1/2/3') errors에는 세 개의 옵션이 존재한다. 1. 'errors = ignore' : 숫자로 변경 불가능한 데이터는 원본 데이터 그대로 반환한다. 2. 'errors = coerce' : 숫자로 변경 불가능한 데이터는 Nan으로 반환한다. 3. 'errors = raise' : 숫자로 변경 불가능한 데이터가 있다면 에러를 일으키며 코드를 중단한다. 📝 학습, 예측 데이터셋 나누기 X_train : 학습(훈련)에 사용할 데이터셋 X_test : 예측에 사용할 데이터셋 y_train : 학습(훈련)에 사용할 정답 값 y_test : 예측의 정답값 1. 문제(feature..
📝 머신러닝의 과정 기출문제를 한번 풀어본다 -> X_train으로 학습! 풀어본 기출문제의 정답을 보고 채점해보자 !! -> y_train 으로 정답을 채점한다 ! 실제 모의고사에서 시험을 쳐본다! -> X_test 실제 모의고사의 정답을 확인한다! (모델 학습의 목표) -> y_test (예측해야할 Label값) 📝 학습, 예측 데이터셋 나누기 X_train : feature_names 에 해당되는 컬럼만 train에서 가져옵니다. 학습(훈련)에 사용할 데이터셋 예) 시험의 기출문제 X_test : feature_names 에 해당되는 컬럼만 test에서 가져옵니다. 예측에 사용할 데이터셋 예) 실전 시험문제 y_train : label_name 에 해당 되는 컬럼만 train에서 가져옵니다. 학습(..