데이터 레이블은 꽤 심한 불균형(Unbalanced) 분포를 이루고 있고, 어느 정도 악성을 가진 텍스트는 생각보다 그 분포가 크지 않습니다. 그렇지만 주어진 데이터의 기본 샘플 수가 엄청 많아서 비록 불균형이긴 하지만 양성(Positive, Label=1) 개수가 10만 개 정도 있는 것은 그나마 다행스러운 일입니다.
Note ≣ | 데이터 엔지니어링 작업 병행
훈련 데이터의 행 수는 총 180만 개이고, 테스트 데이터까지 합하면 총 200만 개로 일반적인 컴페티션 데이터치고는 상당히 많은 수로 구성되어 있습니다. 데이터 Description 탭을 보면 csv 형태로 주어지는 데이터의 용량이 그렇게 크지 않아 보이나, csv 데이터를 읽어서 판다스 데이터프레임으로 변환하게 되면 갑자기 메모리를 많이 잡아먹는 것을 확인할 수 있습니다.
이러한 일이 발생하는 이유는 각각의 행별로 40여 개의 수치형(Numerical) 피처가 있는데 이를 데이터로 로드할 때, 각각 64비트 타입으로 자동 변환되면서 용량이 커지기 때문입니다. 메모리가 많이 있다면 상관없지만, 앞으로 진행해야 할 분석 태스크는 용량이 크고 높은 차원의 데이터를 가공해야 하므로, 필요 없는 피처는 메모리에서 삭제하거나, 적절한 데이터 타입으로 변환하는 등의 데이터 엔지니어링 작업을 적절히 병행하는 것이 좋습니다.