XGBoost에서 GPU(cuda)를 사용하기 위해 테스트한 과정을 기록해놓았습니다. 선택적으로 필요한 부분만 확인하여 활용하세요.글 작성에 사용한 XGBoost 버전은 2.0.3입니다. 최초작성 2024. 6. 13결론부터 적어보면 큰 데이터를 학습/추론할때에는 GPU를 사용시 성능이 개선되었지만 작은 데이터를 학습/추론시에는 GPU를 사용해서 성능이 개선되기는 겨녕 오히려 CPU를 사용할때보다 안좋은 성능을 보였습니다. 우분투의 경우엔 XGBoost에서 GPU 사용 테스트시 문제가 없었지만 윈도우에서는 XGBoost에서 GPU를 제대로 사용못하는 현상이 있었습니다. CUDA가 설치되어 있는 우분투와 윈도우에서 테스트를 진행했습니다. CUDA 설치 과정은 다음 포스트를 참고하세요. 포스트에선 CUD..
혼동행렬(confusion matrix)과 모델을 평가하는 방법인 특이도, 민감도, 재현율, 정확도, 정밀도를 정리했습니다. 2021. 12. 9 최초작성2022. 2. 3 2024. 3. 10 혼동행렬(confusion matrix) 내용 추가2024. 3. 112024. 3. 132024. 3. 20본 포스팅에서 다루는 모델 평가 방법을 계산하려면 우선 아래 표에 있는 TP, FP, TN, FN - 4가지에 해당되는 개수를 각각 구해야 합니다. 4가지 경우는 다음 두가지를 기준으로 합니다. Positive는 양성으로 판정을 의미, Negative는 음성으로 판정을 의미. True는 판정이 옳았음을 의미, False는 판정이 틀렸음을 의미.혼동행렬에서 표시하는 다음 구조에 맞도록 표를 ..
RandomizedSearchCV를 사용하여 XGBoost의 최적 하이퍼 파라미터 구하는 예제코드입니다.최초작성 2024. 5. 30 import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split, RandomizedSearchCVfrom sklearn.metrics import accuracy_scorefrom xgboost import XGBClassifierfrom sklearn.datasets import load_irisRANDOM_SEED=42# Iris 데이터셋 로드iris = load_iris()df = pd.DataFrame(data=iris.data, columns=iris.feature..
CoreNet으로 OpenELM 모델을 사용하는 방법을 다루고 있습니다.Macbook M1에서 진행했지만 M2, M3에서도 가능할거라고 예상됩니다. 시간날때마다 CoreNet을 살펴보며 글을 보완할 계획입니다. 참고https://github.com/apple/corenet2024. 5. 5 최초작성글작성 시점에 CoreNet 버전은 0.1.0입니다.0. 예제를 실행시켜보려면 주피너 노트북 개발 환경을 만들어야 합니다. 본 포스트에서는 아직 살펴보지 않지만 튜토리얼 예제들이 주피터 노트북 파일입니다. Miniforgea를 사용한 Conda 환경도 같이 설치하게 됩니다. Macbook M1에 Visual Studio Code + Jupyter Notebook 개발 환경 만들기https://webna..
Keras에서 이미지 데이터셋을 불러오는 두가지 방법인 flow_from_directory와 flow_from_dataframe에 대한 간단한 예제코드입니다. 2022. 4. 30 최초작성 2024. 4. 21 데이터셋으로 다음 링크에 있는 것을 사용했습니다. https://www.microsoft.com/en-us/download/details.aspx?id=54765 소스코드가 있는 폴더에 다음처럼 데이터셋이 위치하는 상태에서 코드를 실행해야 합니다. 이미지를 불러오는 두가지 방식을 테스트로 동작시켜보는 코드이기 때문에 CNN의 레이어는 단순하게 되어있고 에포크는 20번으로 되어있습니다. 데이터셋을 사용시 다음 에러가 발생하기 때문에 이 데이터셋을 사용하기 전에 오류가 있는 이미지 파일을 삭제합니다...
AUC - ROC Curve에 대해 다루고 있습니다. 2022. 4. 26 최초작성 2024. 4. 1 아래 링크의 원문을 바탕으로 이해한 내용을 추가하여 작성되었습니다. https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5 추가로 참고한 사이트입니다. https://bioinformaticsandme.tistory.com/148 머신 러닝의 분류 문제에서 성능을 확인하거나 시각화가 필요할 때 AUC(Area Under Curve) - ROC(Receiver Operating Characteristics) Curve를 사용합니다. 혼동행렬(Confusion Matrix) TP, FP, TN, FN - 4가지 경우는 다음 두가지를 ..
텐서플로우에서 다음과 같은 간단한 MNIST 예제를 실행시켜보면 매번 학습 결과가 다른 것을 확인할 수 있습니다. 실행할때마다 일정한 학습 결과를 얻는 방법을 다룹니다. 2021. 7. 29 - 최초작성 2024. 3. 21 - RANDOM_SEED 변경, Tensorflow 2.15에서 테스트 2024. 3. 28 재현가능한 결과 보장 방법 수정 # https://www.tensorflow.org/tutorials/quickstart/beginner import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 25..
UserWarning: X does not have valid feature names, but StandardScaler was fitted with feature names 발생시 해결 방법 입니다. 2024. 3. 20 최초작성 DataFrame으로 StandardScaler 학습한 후, 적용시에는 Numpy 배열을 사용해서 발생한 문제입니다. Numpy 배열로 학습시키면 해결됩니다. 테스트해봅니다. 데이터프레임을 사용하여 학습한 스케일러를 적용할때 NumPy 배열을 사용해봅니다. # 학습된 스케일러로 학습 데이터를 스케일링합니다. train_scaled = scaler.transform(df_train.values) # 같은 스케일러를 사용하여 테스트 데이터를 스케일링합니다. test_scaled..
Keras의 EfficientNet, EfficientNetV2 모델의 파라미터 개수를 확인해봤습니다. 2024. 3. 18 최초작성 확인한 모델의 파라미터 개수입니다. 오른쪽에는 M단위로 표기하고 있는데 1M은 백만(1,000,000)을 의미합니다. 예를 들어 5.33M은 533만입니다. EfficientNetB0 5330571 parameters. (5.33M) EfficientNetB1 7856239 parameters. (7.86M) EfficientNetB2 9177569 parameters. (9.18M) EfficientNetB3 12320535 parameters. (12.32M) EfficientNetB4 19466823 parameters. (19.47M) EfficientNetB5 3..
Windows 에 CUDA 11.8과 PyTorch를 설치하는 방법을 설명합니다. 2023. 5. 7 최초작성 2023. 9. 9 2024. 1. 7 별도의 CUDA 없이 설치 2024. 3. 16 NVIDIA 그래픽 카드 드라이버 설치 방법 분리 글 업데이트 NVIDIA 그래픽 카드 드라이버 실치 다음 포스트를 참고하여 최신 버전 NVIDIA 그래픽 카드 드라이버를 설치하는 것을 권장합니다. 최신 버전 PyTorch에서 최신 버전 CUDA를 요구하는 경우에 최신 버전의 NVIDIA 그래픽 카드 드라이버 설치가 필요하기 때문입니다. 특별한 경우를 제외하고는 CUDA를 따로 설치할 필요는 없습니다. Windows에 NVIDIA 그래픽 카드 드라이버 설치하기 https://webnautes.tistory.c..