본문 바로가기

네이버클라우드/AI34

AI 9일차 (2023-05-18) 인공지능 기초 _머신러닝 - joblib_save & load joblib ㄴ 파이썬에서 객체를 직렬화(serialize)하고 디스크에 저장하고 로드하는 데 사용되는 라이브러리 ㄴ 일반적으로 대규모 데이터나 훈련된 모델과 같은 복잡한 파이썬 객체를 저장하고 재사용해야 할 때 유용 ㄴ pickle 모듈에 기반하며, NumPy 배열과 같은 대용량 데이터를 효율적으로 처리할 수 있는 기능을 제공 ㄴ 머신 러닝 모델의 저장 및 로드에 자주 사용됨 ㄴ 모델을 학습한 후에는 joblib.dump를 사용하여 모델을 저장하고, 필요할 때 joblib.load를 사용하여 모델을 로드하여 예측이나 추론을 수행할 수 있음 ㄴ 데이터 전처리 단계에서 사용된 변환기 객체를 저장하고 재사용할 수도 있음 ㄴ scikit-learn과 함께 자주 사용되며, scikit-learn 모델 및 변환기.. 2023. 5. 18.
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.