현재 로지스틱 회귀를 필요로하는 비즈니스 프로세스 중 하나에 대해 개념 증명을하고 있습니다. 나는 아래의 코드에 따라 데이터 세트에 대해 분류를 수행하기 위해 통계 모델을 사용하고있다. 우리의 데이터 세트는 약 10M 행과 약 80 개의 피쳐 (약 70+가 정의 된 범주 형 변수에 따라 "1"또는 "0"과 같은 더미)로 구성됩니다. 더 작은 데이터 세트를 사용하면 glm이 잘 작동하지만, 전체 데이터 세트에 대해 실행하면 파이썬이 "메모리를 할당 할 수 없습니다"라는 오류를 발생시킵니다. 통계 모델에 대한 다중 처리 줄이기 glm
glmmodel = smf.glm(formula, data, family=sm.families.Binomial())
glmresult = glmmodel.fit()
resultstring = glmresult.summary().as_csv()
이
은 (내가 잘못 생각하는 경우 나 수정하시기 바랍니다 날이 가능한 모든 CPU 코어를 사용할 수 있도록 설계되었습니다 인해 statsmodels에있을 생각하고 각 하위 프로세스는 아래 RAM에 데이터 세트의 복사본을 생성 있어요). glm이 최소한의 코어를 사용하는 방법이 있다면 지금 질문이 될 것입니다. 나는 성능이 아니지만 전체 데이터 세트에 대해 glm을 실행할 수 있기를 원합니다.다음은 기계 구성 및 필요한 경우 추가 정보입니다.
CPU: 10 cores
RAM: 40 GB (usable/free ~25GB as there are other processes running on the
same machine)
swap: 16 GB
dataset size: 1.4 GB (based on Panda's DataFrame.info(memory_usage='deep')