데이터 분석(61)
-
pytorch 공부 (3) - RNN 구현하기
2024.03.12 - [데이터 분석/딥러닝] - pytorch 공부 (3) - CNN 구현하기 IMBD 데이터 `torchtext==0.17.0`이라 legacy가 없어져 github에 적힌 코드를 사용하였다. import torch from torch.nn.utils.rnn import pad_sequence from torch.utils.data import random_split from torch.utils.data import DataLoader from torchtext.datasets import IMDB from torchtext.data.functional import to_map_style_dataset from torchtext.data.utils import get_tokenize..
2024.03.19 -
시계열 이상탐지 (1) 배경 지식
RNN RNN(Recurrent Neural Network): 시계열 데이터와 같은 순차적인 입력 데이터를 처리하기 위해 고안된 신경망 모델로, 이전 시점의 출력값을 현재 시점의 입력값으로 사용하여 연속적인 정보를 처리할 수 있는 모델 LSTM LSTM(Long Short-Term Memory): 기존의 순환 신경망(RNN)에 기억 셀(memory cell)과 게이트(gate)를 추가하여 시계열 데이터를 더 잘 처리할 수 있는 모델 AutoEncoder AutoEncoder: Encoder로 데이터를 잠재 벡터(latent vector)로 압축하고 Decoder로 복원하는 모델로 데이터의 노이즈 제거, 차원 축소 등에 사용 GAN GAN(Generative Adversarial Networks): 생성적..
2024.03.15 -
jupyter notebook 테마 (개인용)
1. jupyter 설치 `pip install "notebook
2024.03.14 -
torch, tensorflow를 같은 가상환경에 설치하기
2024년 3월 기준 - 텐서플로우 설치: pip로 TensorFlow 설치 - 파이토치 설치: PyTorch 버전 확인 윈도우즈 네이티브에서는 tensorflow 최신 버전을 사용할 수 없다. tensorflow pytorch Python 버전 3.9-3.11 >=3.8 CUDA 11.2 (11.8) 11.8 or 12.1 패키지 버전 2.10 2.2.1 tensorflow의 경우 윈도우즈 네이티브에서 CUDA=11.2, cuDNN=8.1.0을 추천하고 있긴 한데 아래 버전들로 설치해도 잘 작동한다. 1. CUDA 설치 CUDA Toolkit 11.8 Downloads | NVIDIA Developer 본인 환경에 맞게 설치 1.1 환경 변수 설정 나는 CUDA 11.8을 설치하고 있으므로 11.8로 ..
2024.03.13 -
pytorch 공부 (3) - CNN 구현하기
2024.03.08 - [데이터 분석/딥러닝] - pytorch 공부 (2) - ANN 구현하기 CNN 기본 Convolution layer import torch import torch.nn as nn # 합성곱 레이어 객체 생성 layer = nn.Conv2d(1, 20, 5, 1).to(torch.device('cpu')) # 입력 채널 수, 출력 채널 수, 커널 사이즈, stride layer # Conv2d(1, 20, kernel_size=(5, 5), stride=(1, 1)) - `nn.Conv2d`: Convolution layer. 파라미터는 입력 채널 수, 출력 채널 수, kernel size, stride - 입력 채널 수, 출력 채널 수는 ANN에서의 사이즈와 같음 - kernel..
2024.03.12 -
pytorch 공부 (2) - ANN 구현하기
2024.03.08 - [데이터 분석/딥러닝] - pytorch 공부 (1) - 기본 연산 FashionMNIST 데이터 불러오기 from torchvision import datasets, transforms from torch.utils import data train_loader = data.DataLoader( datasets.FashionMNIST('dataset/', train=True, download=True, # 다운로드 경로 transform=transforms.Compose([ # 이미지를 텐서로 바꿔주는 코드 transforms.ToTensor(), transforms.Normalize(mean=(0.5,), std=(0.5,)) ]) ), batch_size=32 ) test_lo..
2024.03.08 -
pytorch 공부 (1) - 기본 연산
연산 `torch`의 연산은 `numpy`와 동일하게 작동한다. import torch import numpy as np a = torch.tensor([1, 2, 3]) b = torch.tensor([4, 5, 6]) a + b # tensor([5, 7, 9]) a * 3 # tensor([3, 6, 9]) a = torch.tensor(3) a.item() # 3 type(a.item()) # int - `.item()` 함수를 통해 scalar tensor의 값을 뽑아낸다. (값이 여럿일 경우에는 오류가 난다.) 자동 미분 # AutoGrad x = torch.tensor(1.0, requires_grad=True) # AutoGrad 적용 a = x*3 y = a **2 # (3x)**2 = ..
2024.03.08 -
AutoML, Autogluon vs mljar-supervised
AutoML? Auto+ML로 머신러닝에 필요한 데이터 전처리, 모델 튜닝, 학습 등 여러 수행사항들을 쉽고 간단하게 코드 몇 줄을 통해 자동으로 알아서 해주는 도구이다. 간단하기만 할 뿐만 아니라 성능도 잘 나온다. AutoML의 필요성 - 기존 방식: 데이터를 가공(결측치 처리 등)하여 어떤 알고리즘을 사용할지 선택하고 필요 시 하이퍼파라미터를 튜닝하며 학습 및 평가를 진행한다. 만약 결과가 좋지 않으면 다른 알고리즘으로 새롭게 테스트하는 과정을 무한 반복 … 이걸 코드로 옮겨 적으면 수십~수백 줄에 달하는 노동 집약적인 과정이며 시간 소요도 크다. - 하지만 automl 패키지를 사용하면 `model.fit()` 몇 줄로 가공부터 학습까지 모든 과정이 끝난다. - 따라서 데이터 분석가/사이언티스트가..
2024.02.29 -
Regression - IBUG 알고리즘 논문 읽기
1. 소개 - arxiv.org/pdf/2205.11412v2.pdf - GitHub - jjbrophy47/ibug: Instance-based uncertainty estimation for gradient-boosted regression trees - IBUG = Instance-Based Uncertainty estimation for Gradient-boosted regression trees - Boost 계열의 regression tree 모델(XGBoost, LightGBM, CatBoost 등)의 예측값을 확률로 보여주기 위한 알고리즘 2. 요약 1. 앙상블 tree 계열 모델로 데이터를 학습 2. 내가 찾고자 하는 데이터 X가 각 트리의 어느 리프에 있는지, 그리고 어떤 데이터들이 그..
2024.02.27 -
이상탐지 알고리즘 - ECOD 논문 읽기
1. INTRODUCTION - 2201.00382.pdf (arxiv.org) - OD = Outlier Detection - 기존 OD의 문제점 - 차원의 저주 때문에 정확도와 탐색 시간이 나쁜 영향을 받는다. - 비지도학습의 하이퍼 파라미터 튜닝의 어려움 - ECOD = Empirical Cumulative distribution functins for Outlier Detection = 이상치 탐색을 위한 경험적 누적 분포 함수 - 희귀한 이벤트(rare events)를 잡아내는 것이 목적 - 가우시안 분포의 꼬리(tail)를 생각할 수 있음 (기존 - "three-sigma" 또는 "1.5 IQR") - ECDF = Empirical Cumulative Distribution Function -..
2024.02.20