오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

분류 전체보기 245

[sklearn] 사이킷런으로 대용량 데이터 분석하기

사이킷런은 GPU를 지원하지 않는다. 그래서 코랩 프로를 사용했을 때 이점이 그렇게 크지 않다. 더군다나 코랩은 고용량 RAM도 25기가 밖에 지원하지 않기 때문에 금새 OOM(Out of Memory)가 떠서 기껏 연산해놓은 작업이 날라가 버리는 불상사가 발생한다. 이 글은 제한된 컴퓨터 자원을 이용해 머신러닝을 하려는 사람들에게 도움이 됐으면 하는 마음으로 프로젝트를 하면서 사용했던 방법을 공유하는 글이다. 첫번째. 메모리를 사라. 이게 무슨 말인가? 제한된 컴퓨터 자원을 사용하는 사람을 위한 글이라더니 갑자기 메모리를 사라니? 맞다. 하지만 금전적인 여유가 있다면... 이 방법 저 방법 찾는바에야 메모리를 사서 해결하는 방법이 훨씬 더 간편하고 속편한 방법이다. 일단 메모리만 커져도 디스크 I/O가..

[Pyspark] Colab No module Named 'mmlspark.lightgbm._LightGBMRegressor'

colab에서 pyspark를 돌리다가 lightgbm을 사용하려고 mmlspark를 install하고 아래와 같은 코드를 돌릴려고 하니 발생한 오류 from mmlspark.lightgbm import LightGBMRegressor 이 에러는 기본적으로는 spark에 필요한 패키지가 없어서 발생한 문제로 먼저 아래 명령어로 하둡과 스파크를 다운로드 받아준다. !apt-get install openjdk-8-jdk-headless -qq > /dev/null !wget -q https://www-us.apache.org/dist/spark/spark-2.4.7/spark-2.4.7-bin-hadoop2.7.tgz !tar xf spark-2.4.7-bin-hadoop2.7.tgz !pip install..

[Pyspark] Pyspark 데이터 전처리 기본기

목차 1. 특정 열 갖고 오기 2. 특정 열의 중간값 찾기 3. 특정 열의 결측치 세기 4. 데이터프레임의 모든 결측치 세기 5. 데이터 프레임에서 여러 Columns 한번에 제거하기 1. 특정 열 갖고 오기 col = df.select('colname') => 리스트 형태로 반환 2. 특정 열의 중간값 찾기 md = df.approxQuantile(c, [0.5], 0.25) => 리스트 형태로 반환 3. 특정 열의 결측치 세기 df.filter((df["ID"] == "") | df["ID"].isNull() | isnan(df["ID"])).count() stackoverflow.com/questions/48229043/python-pyspark-count-null-empty-and-nan 4. 데..

[Pyspark] Pyspark 데이터 전처리 기본기

목차 1. 특정 열 갖고 오기 2. 특정 열의 중간값 찾기 3. 특정 열의 결측치 세기 4. 데이터프레임의 모든 결측치 세기 5. 데이터 프레임에서 여러 Columns 한번에 제거하기 1. 특정 열 갖고 오기 col = df.select('colname') => 리스트 형태로 반환 2. 특정 열의 중간값 찾기 md = df.approxQuantile(c, [0.5], 0.25) => 리스트 형태로 반환 3. 특정 열의 결측치 세기 df.filter((df["ID"] == "") | df["ID"].isNull() | isnan(df["ID"])).count() stackoverflow.com/questions/48229043/python-pyspark-count-null-empty-and-nan 4. 데..

[Pyspark] Trouble Shooting

1. Py4JNetworkError: An error occurred while trying to connect to the Java server (127.0.0.1:46831) 메모리 부족으로 발생한 문제로 그냥 커널을 껐다가 키자.. 추가할 수 있는 메모리가 있으면 메모리를 추가하는 것도 좋은 방법 https://stackoverrun.com/ko/q/11300059 2. SparkWithDataFrame: java.lang.IllegalArgumentException: requirement failed StandardScaler를 사용할 때 발생한 문제 StandardScaling을 하기전에 아래와 같이 VectorAssemble을 해줘야한다. vecAs = [VectorAssembler(input..

[Pyspark] java gateway process exited before sending the driver its port number

로컬에서 pyspark를 돌릴 때의 문제 환경변수로 JAVA_HOME이 안잡혀있을 때 걸리는 문제로 자바 bin이 있는 곳으로 환경변수를 잡아주면된다. 아래글을 참조 cocook.tistory.com/29 Mac Terminal 에서 conda 안될 때 Mac Terminal에서 conda 명령어가 안될 때 해야되는 일 1. 아래 명령어를 통해 conda를 환경 변수로 추가해준다. export PATH="/Users/username/anaconda3/bin:$PATH" # 이거 또는 아래 두개 source /etc/profile.. cocook.tistory.com