본문 바로가기

분류 전체보기365

AI 8일차 (2023-05-17) 인공지능 기초 _머신러닝 - 데이터 전처리_Optuna 과 QuantileTransformer Optuna ㄴ 하이퍼파라미터 최적화를 위한 오픈 소스 파이썬 라이브러리 ㄴ 머신러닝 모델의 성능을 향상시키기 위해 최적의 하이퍼파라미터 조합을 자동으로 탐색할 수 있음 ㄴ Optuna는 범위와 탐색 방법을 지정하여 하이퍼파라미터 공간을 정의함 ㄴ 그런 다음, 목표 함수(최적화하려는 모델의 성능 지표)를 정의하고, Optuna는 목표 함수를 평가하면서 하이퍼파라미터 공간을 탐색함 ㄴ 베이지안 최적화 알고리즘을 기반으로 하여 확률적으로 좋은 하이퍼파라미터 조합을 찾아냄 ㄴ 많은 머신러닝 프레임워크와 통합이 가능하며, 사용자가 원하는 목표 함수를 지정하고, 파라미터 공간을 설정한 뒤, 최적의 하이퍼파라미터 조합을 탐색함 ㄴ 실험 기록을 저장하고 시각화하는 기능도 제공하여 실험 결과를 관리할 수 있음 ㄴ 사용.. 2023. 5. 18.
AI 8일차 (2023-05-17) 인공지능 기초 _머신러닝 - Feature Importances + SelectFromModel Feature Importances + SelectFromModel ㄴ 모델에서 중요한 특성을 선택하는 데 사용되는 기법 from sklearn.feature_selection import SelectFromModel thresholds = model.feature_importances_ #2. 모델 model = XGBRegressor(random_state=123, n_estimators=1000, learning_rate = 0.1, max_depth = 6, gamma= 1) #3. 훈련 model.fit(x_train, y_train, early_stopping_rounds=200, eval_set = [(x_train, y_train), (x_test, y_test)], eval_metric=.. 2023. 5. 18.
AI 8일차 (2023-05-17) 인공지능 기초 _머신러닝 - XGBoost early stopping 및 metrics XGBoost early stopping ㄴ Early stopping : 모델의 훈련을 조기에 중단하는 기법 --> 모델이 더 이상 개선되지 않을 때 훈련을 종료하여 과적합을 방지하고 효율적인 모델을 얻을 수 있음 ㄴ XGBoost에서는 early_stopping_rounds 매개변수를 사용하여 early stopping을 구현할 수 있음 metrics eval_metric 회귀모델 : rmse, mae, rmsle... 이진분류 : error, auc, logloss... 다중분류 : merror, mlogloss... 실습 ml21_xgb_earlystopping_california.py import numpy as np from sklearn.ensemble import RandomForestRe.. 2023. 5. 18.
AI 7일차 (2023-05-16) 인공지능 기초 _머신러닝 - 데이터 전처리_결측치 처리와 log 변환 결측치 처리 ㄴ 주어진 데이터프레임에서 결측치를 확인하고 처리하는 방법 ml19_bogan01.py import numpy as np import pandas as pd data = pd.DataFrame([[2, np.nan, 6, 8, 10], [2, 4, np.nan, 8, np.nan], [2, 4, 6, 8, 10], [np.nan, 4, np.nan, 8, np.nan]])# 주어진 데이터로 데이터프레임을 생성 # print(data) # print(data.shape) data = data.transpose()# 행과 열을 바꿈 data.columns = ['x1', 'x2', 'x3', 'x4']# 열의 이름을 설정 # print(data) # print(data.shape) # 결측치 확.. 2023. 5. 16.
AI 7일차 (2023-05-16) 인공지능 기초 _머신러닝 - outliers (아웃라이어) outliers (아웃라이어) ㄴ IQR : 사분위 값의 편차를 이용하여 이상치를 걸러내는 방법 ㄴ 전체 데이터를 정렬하여 이를 4등분하여 Q1(25%), Q2(50%), Q3(75%), Q4(100%) 중 IQR는 Q3 ~ Q1 사이가 됨 ml18_outliers.py import numpy as np oliers = np.array([-50, -10, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 50]) def outliers(data_out) : quartile_1, q2, quartile_3 = np.percentile(data_out, [25, 50, 75]) print('1사분위 : ', quartile_1) print('2사분위 : ', q2) print('3사분위 : '.. 2023. 5. 16.
AI 7일차 (2023-05-16) 인공지능 기초 _머신러닝 - Voting(보팅) Voting(보팅) ㄴ 일반적으로 서로 다른 알고리즘을 가진 분류기를 결합하는 것 (참고 : 배깅의 경우 각각의 분류기가 모두 같은 유형의 알고리즘을 기반으로 함) ㄴ 하드 보팅 : 각 분류기의 예측 결과를 단순히 다수결(majority voting)로 결정 ㄴ 소프트 보팅 : 각 분류기의 예측 확률을 평균하여 예측을 수행 하드 보팅 ㄴ 각 weak learner들의 예측 결과값을 바탕으로 다수결 투표하는 방식입니다. 소프트 보팅 ㄴ weak learner들의 예측 확률값의 평균을 사용 ㄴ weak learner들에 대한 신뢰도가 다를 경우, 가중치를 부여하여 확률값의 평균이 아닌 가중치 합을 사용 lr = LogisticRegression() knn = KNeighborsClassifier(n_neig.. 2023. 5. 16.