Loading...
2024. 3. 31. 02:11

NLP text data 전처리에서 tokenizing할 때 padding이 필요한 이유

text 데이터는 보통 길이가 서로 달라서 전처리할때 padding을 해서 길이를 맞춰준다고 보통 그러는데 왜 해야할까? 보통 batch형태로 데이터를 만들어서 모델을 학습시키는데, 길이가 서로 다르면 batch가 안만들어진다 데이터셋을 다음과 같이 구현하고 dataloader를 만들어본다 class ChatbotDataset(Dataset): def __init__(self, dataset, tokenizer, max_length = 438): self.tokenizer = tokenizer self.data = dataset self.max_length = max_length def __getitem__(self, i): inputs = tokenizer(self.data[i][1], return_t..

2023. 8. 21. 02:11

희소 배열(sparse table) 자료 구조 배우기

https://cp-algorithms.com/data_structures/sparse-table.html Sparse Table - Algorithms for Competitive Programming Sparse Table Sparse Table is a data structure, that allows answering range queries. It can answer most range queries in $O(\log n)$, but its true power is answering range minimum queries (or equivalent range maximum queries). For those queries it can compu cp-algorithms.com infossm.g..

2023. 4. 28. 01:07

data preprocessing 기본 개념 제대로 이해하기

1. data preprocessing의 중요성 1-1) introduction 디스크 안에 단순히 파일로 존재하는 데이터(Vanilla data)는 그대로 모델에 쓰기에는 추가적으로 무언가 할 것이 많음 명확히 정의한 문제들을 바탕으로 ‘다양하고 일반화시킬 수 있는 여러 작업들이 병행된’, 그러면서 ‘문제 해결을 위해 나올 수 있는 여러 가능성이나 주제를 적용시킨’ “모델을 위한 dataset”으로 변환이 필요함 이런 모델을 위한 dataset으로 변환을 하고 나서 model training을 진행함 “일반적으로 쓸 수 있는” 데이터를 하나 하나씩 뱉어낼 수 있는 기능을 구현한다면 모델 학습에 무리가 없을 것 dataset 구축의 기본기를 잘 갖춰나야 앞으로 나올 음성, 시계열, 텍스트 등등 엄청 큰 ..

2022. 6. 19. 19:55

연속형 변수를 전처리하는 방법은 무엇이 있고 왜 전처리를 해야하는가?

1. 데이터 전처리란? 머신러닝 모델에 데이터를 입력할 수 있도록 적절하게 처리하는 과정 EDA를 위해 데이터 구조를 바꿔서 처리하는 것도 하나의 전처리 과정 EDA 목적이나 모델에 입력데이터를 어떻게 넣어줄 것인가에 따라 달라진다 EDA에서 어떤 부분을 찾고싶은가에 따라서도 달라짐 선형모델이냐 트리모델이냐 딥러닝모델이냐에 따라서도 달라짐 데이터 전처리도 정답이 없지만 어느정도 기본은 있다 머신러닝 모델에 데이터를 입력하기 위한 과정이라는 것을 염두에 두고 연속형, 범주형을 처리 & 결측치 처리 & 이상치 처리 2. 예시로 이해하는 연속형 변수 전처리 sklearn에 있는 boston data 506개의 데이터 포인트, 13개의 변수 CHAS만 범주형이고 나머지는 연속형 target은 집값의 중위수라는데..

2022. 5. 26. 02:22

범주형 변수를 전처리하는 방법의 모든 것

1. introduction 범주형 변수는 일종의 category를 가진다. 식물의 종이나 자동차 종류나 연속형보다 주의해서 다뤄야 할 수도 있음 보통 문자열로 나타나는데 머신러닝에 입력하기 어려워서 수치형으로 변환해줘야 한다. 2. one hot encoding 해당 변수의 값이 어떤 category에 속하면 1, 아니면 0으로 두는 방법 '그냥 0 아니면 1' 이런게 아니라.. '해당 변수의 VALUE가 어떤 category에 속한다면 1, 그렇지 않으면 0' 위의 그림에서 id 1은 개에 속하므로 개에 1을 주고 고양이에 0을 주어 (1,0)으로 encoding하고 id 2는 고양이에 속하므로 개에 0을 주고 고양이에 1을 주어 (0,1)로 encoding한다 특히 개와 고양이 모두에 속하는 id ..