본문 바로가기

AI 공부/머신러닝11

(머신러닝) XAI와 SHAP XAI(Explainable Artificial Intelligence) 설명 가능한 AI 데이터 가져오기 import pandas as pd import numpy as np from sklearn.preprocessing import OneHotEncoder from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.model_selection import KFold from lightgbm import LGBMClassifier df = pd.read_csv(f"{DATA_PATH}titanic.csv") # 결측치 미리 채우기 df.age = df.. 2022. 9. 15.
(머신러닝) data leakage Data leakage (중요!) 데이터 유출 예측할 때 사용할 수 없는 정보가 학습 데이터로 사용되는 것 (모델이 과대평가 된다.) 예시 tmp = pd.DataFrame( enc.fit_transform(train_churn[cols]).toarray(), columns = enc.get_feature_names_out() # 컬럼 이름 넣기 ) train = pd.concat([train,tmp],axis=1) train.head() => genderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesOnlineSecurityOnlineBackupDeviceProtection...PaperlessBillingMonthlyChargesTotal.. 2022. 9. 15.
(머신러닝) 비지도 학습 - 차원축소 지도학습 vs 비지도학습 비지도 학습의 기본 아이디어는 X를 설명할 수 있는 z가 존재한다고 가정하고 학습진행 여기서 z는 잠재변수라고 한다. z의 해는 여러개가 존재한다. 예를 들면 우리가 100을 값을 구하기 위한 방법은 25 X 4, 1 X 100, 20 X 5와 같이 여러가지 방법이 있다. 이를 잠재변수라고 비유할 수 있다. 차원의 저주 차원이 증가할수록 학습데이터의 수에 비해 특성의 차원수가 많아져서 성능이 저하되는 현상 model = LGBMClassifier(random_state=SEED) cv = KFold(n_splits=5,shuffle=True,random_state=SEED) scores = cross_val_score(model,x_train,y_train,cv = cv, sco.. 2022. 9. 14.
(머신러닝) 모델튜닝 Model Tuning (Hyperparameter Optimization) 학습을 수행하기 전에 설정해야하는 값인 하이퍼파리마터의 최적값을 탐색 Grid Search 하이퍼파라미터별로 다양한 값들을 지정해서 모든 조합에 대해 성능 결과를 측정한 후 가장 높은 성능을 발휘했던 하이퍼파라미터 조합을 선정하는 방법 오래걸려서 잘 안쓰게 될 것 같다... from sklearn.model_selection import KFold cv = KFold(n_splits=5,shuffle=True,random_state=SEED) # cv =cross valid 적용 from sklearn.model_selection import GridSearchCV from lightgbm import LGBMClassifier.. 2022. 9. 13.
(머신러닝) 앙상블 기존 타이타닉 데이터를 이용하여 앙상블을 진행하겠다. 데이터 가져오기 import pandas as pd import numpy as np import seaborn as sns from sklearn.preprocessing import OneHotEncoder from sklearn.model_selection import train_test_split from sklearn.metrics import roc_auc_score df = sns.load_dataset('titanic') # 타이타닉 데이터 받아오기 cols = ["age","sibsp","parch","fare"] # 숫자니까 바로 사용 features = df[cols] # 피쳐 target = df["survived"] # 정답값 .. 2022. 9. 13.
(머신러닝) 머신러닝 모델 선형회귀(Linear regression) 원인이 되는 설명 변수(독립변수, Feature)에 따른 종속변수(class,label,target)의 결과를 예측 사이킷 런에서 제공해주는 당뇨병 진행도 데이터셋 받아오기 from sklearn.datasets import load_diabetes diabets = load_diabetes() data = diabets.data target = diabets.target from sklearn.model_selection import train_test_split SEED =42 x_train, x_valid, y_train, y_valid = train_test_split(data,target,random_state=SEED) x_train.shape, x_.. 2022. 9. 13.
728x90