분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
웹 광고 클릭률 예측 AI 경진대회
RAM 사용량 감소를 위한 방법
이번 대회에서 사용할 데이터는 2,800만 개의 행을 포함하고 있으며, 문자열이 포함된 열로 인해 CSV 파일의 크기가 7GB를 초과합니다.
전처리를 진행하려면 최소 70GB 이상의 RAM이 필요합니다. 충분한 RAM이 확보되어 있다면 문제가 없지만, 그렇지 않다면 데이터를 전부 불러오는 것이 불가능할 수 있습니다.
그래서, duckdb 라이브러리를 활용하여, 데이터 중 일부 데이터만 불러오는 방법을 공유합니다.
RAM 용량을 초과하지 않는 선에서 LIMIT 변수를 조정하시면 됩니다.
import duckdb import pandas as pd train_path = './data/train.csv' con = duckdb.connect() df = con.query(f"""(SELECT * FROM read_csv_auto('{train_path}') WHERE Click = 0 ORDER BY random() LIMIT 30000) UNION ALL (SELECT * FROM read_csv_auto('{train_path}') WHERE Click = 1 ORDER BY random() LIMIT 30000)""").df() con.close() df.head()
감사합니다
이 문제때문에 고민하고있었는데 !
솔루션 주셔서 감사합니다 !
DACON Co.,Ltd | CEO Kookjin Kim | 699-81-01021
Mail-order-sales Registration Number: 2021-서울영등포-1704
Business Providing Employment Information Number: J1204020250004
#901, Eunhaeng-ro 3, Yeongdeungpo-gu, Seoul 07237
E-mail dacon@dacon.io |
Tel. 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
제가 처한 문제상황에 딱 들어 맞는 해법이네요. 좋은 솔루션 알려주셔서 감사합니다!!