반응형

전체보기 359

[Paper] Neural Factorization Machines for Sparse Predictive Analytics

Neural Factorization Machines for Sparse Predictive Analytics Abstract web applications의 predictive tasks는 categorical variables을 modeling하는게 필요하다. categorical data user IDs demographics genders occupations standard machine learning에서는 binary features의 set으로 변환을 했다 (one-hot encoding). 결과적으로 feature vector는 highly sparse한 결과물이 생긴다. 이러한 sparse data를 효과적으로 학습하기 위해서는 features 사이에 interactions를 설명하는게..

Programming/Python 2018.10.20

[Python] Jupyter Notebook에서 Slack 메시지 보내기

쥬피터(Jupyter) Notebook에서 Slack 메시지를 보내는 방법 데이터 분석일을 하다보니 작업을 돌려놓고, 다른 업무를 보는 일이 많다. 여러개를 병렬적으로 돌려야 하다보니, 언제 어떤 작업이 완료했는지 알람을 받는게 필요했다. 일단 단계는 4단계로 크게 나누어 봤다. sendlogto_slack 의 python 코드 작성 sendlogto_slack을 bashrc에 alias로 지정 ipython에서 alias를 추가하는 부분 코드 작성 및 startup 스크립트 작성 ipython에서 alias로 메시지보내기 사용 sendlogto_slack 파이썬 코드 작성하기 bashrc에 alias로 등록 bashrc에 아래 코드 추가 alias msg="python send_log_to_slack...

Programming/Python 2018.10.20

[Python] pickle을 사용해 dictionary 저장 및 로드

파이썬에서 pickle을 이용해 dictionary를 저장하고 로드하는 방법 중간 결과를 저장하거나, 최정 결과를 저장하기 위해 dictionary의 객체를 그대로 로컬의 디스크로 저장하는 방법은 자주 필요하다. key, map을 만드는 경우에도 중간 데이터를 생성해 놓은 뒤에, 이미 데이터가 있는 경우에는 로드해서 바로 사용하면 효율적이다. 코드 pickle을 이용해 데이터의 사이즈를 줄이고, 기존 textfile로 저장, 로드의 시간 소요가 절약된다.

Programming/Python 2018.10.20

[Python] Pandas에서 truncation 없이 출력 하는 방법

python에서 dataframe을 사용하다 보면, 결과가 ...으로 나오는 경우가 있다. 전체적인 결과를 보고 싶을때는 간단하게 pd에 option을 세팅해주면 된다. (display all text in a cell without truncation) pd.set_option('display.max_colwidth', -1) 그 외에도 다양하게 option을 변경해서, rows, heights을 변경할 수 있다. HTML코드도 출력이 가능하다. 아래 참고 참고 http://songhuiming.github.io/pages/2017/04/02/jupyter-and-pandas-display/

Programming/Python 2018.10.20

[Python] Pandas Dataframe을 예쁘게 출력하는 방법

Jupyter를 사용하면, 셀마다 출력을 하기 때문에, df.head(10)으로 하면, 화면에 예쁘게(?) 출력이 된다. 하지만 여러개의 dataframe을 출력하게 되면, 위 처럼 결과가 출력되지 않는다. 사실 구조적으로 df.head(10)은 interactive할때만 출력되기 때문에, print df.head(10) 이 문법이 맞다. df.head(10)의 결과는 df와 동일한 Dataframe의 결과를 돌려주기 때문에! 그래서 별도의 처리가 필요하다.

Programming/Python 2018.10.20

[Python] Pandas csv를 dataframe으로 읽고 쓰는 방법

Python에서 DataFrame을 임시 데이터를 저장하는 방법 loc2countdf.tocsv('loc_count.csv') def getdf(cols, filename, sep='\t'): # filename = 'tschkeywordfreq.tsv' itercsv = pd.readcsv(filename,iterator=True, chunksize=1000, sep=sep, names=cols) # df = pd.concat([chunk[chunk['field'] > constant] for chunk in itercsv]) df = pd.concat([chunk for chunk in itercsv]) return df

Programming/Python 2018.10.20

[Python] Jupyter matplot한글 깨짐 현상

파이썬 쥬피터(juypter) 한글 깨짐 현상 파이썬에서 주로 사용하는 jupyter notebook에서 한글을 설정 안하면 깨진다. 'ㅁㅁㅁㅁ'로 표시 되기 때문에 한글을 설치하고, 세팅하는 작업이 필요하다 Centos에 한글 나눔 글씨체 설치 ``` $ cd /usr/share/fonts/ $ wget http://cdn.naver.com/naver/NanumFont/fontfiles/NanumFontTTFALL.zip $ unzip NanumFontTTFALL.zip -d NanumFont $ rm -f NanumFontTTFALL.zip ``` [참고] 2017.02.20 - Centos 나눔글씨체 설치하는 방법 http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%..

Programming/Python 2018.10.20

[Python] gzip.open, zcat & pipeline 성능비교

파이썬에서 gzip파일을 읽는 방법 2가지 성능 비교 gzip 파일 확인 gzip의 파일을 읽으려면 shell에서는 zcat을 이용하면 쉽게 데이터를 확인이 가능하다. $ zcat * | head -100 $ zcat * | wc -l 아래 소스코드는 zcat과 pipeline을 이용해 읽는 방식과, gzip.open을 이용해 gzip의 파일을 읽는 속도를 비교한 코드이다. 코드 [참고] * https://codebright.wordpress.com/2011/03/25/139/

Programming/Python 2018.10.20

[Python] 쥬피터(jupyter) 노트북 백그라운드로 실행

Jupyter notebook background로 실행하는 방법 & token 확인하는 방법 python 코드를 jupyter notebook에서 사용을 자주하는데 이때 평소대로 jupyter notebook을 터미널에서 실행시키면 터미널이 종료되는 시점에 jupyter notebook도 같이 종료되게 된다. jupyter notebook은 아래와 같은 명령어로 시작을 할 수 있다. jupyter-notebook 위 처럼 실행을 하면 localhost에서만 접속이 가능하기 때문에 만약 서버로서 노트북을 실행시키고 싶으면 --ip=0.0.0.0을 함께 넣어줘야 한다. 터미널과 상관없이 백그라운드에서 jupyter notebook을 실행 하는 방법에 대해서 알아보자. 물론 터미널이 종료되던, 상관없이 항상..

Programming/Python 2018.10.20
반응형