전체 글
[Numpy] Serise clip() 함수 - 값 범위 제한하기
NumPy는 파이썬에서 과학 및 수학적 계산을 위한 핵심 라이브러리 중 하나입니다. NumPy의 다양한 함수와 메서드는 데이터 조작 및 분석을 쉽게 할 수 있도록 도와줍니다. 여기에는 데이터의 값을 제한하고 특정 범위 내에 값을 유지하는 데 유용한 clip() 함수가 있습니다. 이번 글에서는 NumPy의 clip() 함수를 소개하고 활용하는 방법에 대해 알아보겠습니다. numpy.clip() 함수란? numpy.clip() 함수는 주어진 배열의 값을 지정된 최소값과 최대값 사이로 제한합니다. 이 함수를 사용하면 데이터의 범위를 제한하고 이상치를 처리하는 데 유용합니다. numpy.clip()의 구문은 다음과 같습니다. numpy.clip(a, a_min, a_max, out=None) 여기서: a: 값을..
Google-Colab 에서 LightGBM GPU 사용하기
Kaggle Notebook에선 lightGBM gpu 버전을 쉽게 사용할 수 있다. 하지만 Google CoLab 에선 별도로 설치가 필요하다. 아래 코드를 CoLab 노트북 셀에서 실행하여 설치한 후 사용해본다. !git clone --recursive https://github.com/Microsoft/LightGBM %cd LightGBM !mkdir build %cd build !cmake ../../LightGBM -DUSE_GPU=1 !make -j4 %cd ../python-package !python3 setup.py install --gpu
Hyper-Parameter Optimization #0
1. Introduction 1) Background 데이터 사이언스 업무는 이전의 업무 영역에서 벗어나 점차 엔지니어링 영역까지 포함하고 있다. 점차 데이터 사이언스는 데이터를 다루고 분석하는 것을 넘어 모델을 학습시키고 평가 배포, 모니터링의 영역까지 확장되고 있다. 실제로 데이터 과학자들에게 엔지니어링까지 함께 하기를 원하는 회사들이 늘어나고 있다. 엔지니어링 측면의 역량까지 요구되는 이유는 두 가지 측면에서 분석할 수 있다. AI 분야의 낮아진 진입장벽과 다양한 도구 모델 복잡도와 데이터의 증가 -> 다양한 기술의 발전 `먼저 AI 분야의 낮아진 진입장벽과 다양한 도구`로 인해 다양한 개발자들이 쉽게 AI 분야에 진입이 가능하고 Keras, PyTorch 등 다양한 프레임워크의 발전과 오픈소스 지..
Json Schema를 사용한 Json 유효성 검사하기
JSON Schema는 JSON 데이터의 유효성을 정의하고 검사하는 데 사용되는 강력한 도구입니다. Python에서 JSON Schema를 활용하면 데이터의 일관성과 유효성을 보장하고 데이터 규격을 명확히 정의할 수 있습니다. 이번 글에서는 Python에서 JSON Schema의 개요와 사용법에 대해 알아보겠습니다. JSON Schema란 무엇인가요? JSON Schema Welcome to the JSON Schema Community With over 60 million weekly downloads, JSON Schema has a large and active developer community across the world. Join the Community to learn, share idea..
[XGBoost] XGBoost 학습 시 GPU(CUDA) 사용하기
XGBoost 모델 학습 시 매우 느린 성능을 보인다. 특히 Hyper-Parameter Optimization과 같은 기법을 병행하여 사용한다면 힘든 시간이 될 것이다. XGBoost의 대부분의 알고리즘은 CUDA 호환 GPU로 가속화될 수 있으며 이는 학습, 예측 및 평가를 포함한다. XGBoost에서 GPU를 지원한다. 지원 조건은 아래와 같다. CUDA 11.0 이상 Compute Capability 5.0 이상 GPU 활성화 방법 GPU 가속을 활성화하려면 device 매개변수를 cuda로 설정한다. 만약 동일한 노드에 여러 장치가 있는 경우 장치 순서(사용할 GPU를 지정)는 cuda: 구문을 사용하여 지정한다. XGBoost는 기본적으로 0(CUDA 런타임에서 보고된 첫 번째 장치)으로 설정..
희소행렬을 효율적으로 저장하는 COO, CSR 형식
희소행렬(Sparse Matrix)은 대부분의 원소가 0으로 채워진 행렬을 의미합니다. 이러한 행렬은 데이터의 특성에 따라 매우 큰 메모리를 차지할 수 있습니다. 따라서, 이러한 희소행렬을 저장하고 효율적으로 다루기 위해 COO(Coordinate List)와 CSR(Compressed Sparse Row) 형식이 주로 사용됩니다. 데이터 포맷에서 "희소행렬"과 "COO(Coordinate List)", "CSR(Compressed Sparse Row)" 형식은 주로 희소 행렬(행렬 내 대부분의 요소가 0인 경우)을 저장하고 효율적으로 다루기 위해 사용됩니다. 희소행렬(Sparse Matrix): 일반적인 행렬과 달리, 대부분의 원소가 0으로 구성되어 있습니다. 이러한 행렬은 메모리를 효율적으로 사용하기..