목록python (82)
꿈 많은 사람의 이야기

포스팅 개요 이번 포스팅은 파이썬(Python)에서 효율적인 벡터 유사도(vector similarity)를 구해주는 Faiss에 대해서 간단한 사용법을 정리합니다. 보통 벡터 유사도는 코사인 유사도(cosine similarity) 등이 구현된 라이브러리를 사용하는데요. 그 중 Faiss는 매우 빠르고 효율적입니다. 이러한 Faiss를 활용해서 vector similarity를 구하는 방법과 ID와 Vecotr를 Mapping하는 방법도 정리해보고자 합니다. 제가 참고한 자료는 아래와 같습니다. github.com/facebookresearch/faiss github.com/facebookresearch/faiss/wiki/Getting-started 포스팅 본문 Faiss는 facebook에서 만든 ..

포스팅 개요 이번 포스팅은 최근 회사에서 프로젝트를 진행하며 겪은 파이썬(Python)에서 메모리 효율, 데이터 처리 속도 향상 등의 기본적인 처리 방법을 정리하는 포스팅입니다. 파이썬(Python)을 활용해서 데이터 분석이나 머신러닝 모델 작업을 진행할 때 csv와 같은 데이터를 pandas dataframe으로 불러오는데 이때 데이터 처리 하는 방법에 따라 효율적으로 용량을 줄이고, 속도도 향상시킬 수 있습니다. 이에 대한 간단한 방법을 정리하고자 합니다. 본 포스팅을 작성하면서 참고한 참고자료는 아래와 같습니다. stackoverflow.com/questions/9619199/best-way-to-preserve-numpy-arrays-on-disk www.w3resource.com/numpy/da..

포스팅 개요 최근 머신러닝(Machine Learning)과 딥러닝(Deep Learning) 시장에 자동화 열풍이 점점 더 세게 불어오고 있습니다. AutoML은 주어진 Dataset에 맞게 Machine Learning 알고리즘을 돌려서 가장 적합한 머신러닝 모델을 찾아주는 등 점점 더 Auto와 관련된 키워드가 Data Science, AI 시장에 불러오고 있습니다. 이번 포스팅은 그 자동화 시스템 중 Exploratory Data Analysis (EDA)를 자동화해주는 라이브러리를 소개해주는 포스팅입니다. 원래 Dataset에 대해서 다양한 분석을 진행합니다. EDA는 그 중 한 방법이며 시간을 어느정도 투자해야 하는 과정입니다. 이 자동화 라이브러리는 그것을 간단하게 제공해줍니다. 그 라이브러..

포스팅 개요 슬랙(slack)은 요즘 정말 많이 사용하는 메신저 중 하나입니다. 메신저라고 하기도 좀 그렇고 뭔가 협업 툴? 같은 느낌이 많이 드는 서비스입니다. 이 슬랙의 장점은 API가 쉽게 제공된다는 것인데요. 이 API를 이용해서 Slack을 다채롭게 이용할 수 있습니다. 오늘 포스팅은 파이썬(Python)과 Slack을 연동해서 API로 call을 보낼 수 있는 기본적인 방법을 정리하고자 합니다. 해당 포스팅을 작성하며 참고한 자료는 아래와 같습니다. https://api.slack.com/messaging/webhooks https://github.com/slackapi/python-slackclient 포스팅 본문 개요에서 말씀드렸다시피 이번 포스팅은 메신저 Slack과 Python을 연동하..

포스팅 개요 이번 포스팅은 Python의 패키지를 관리해주는 pip install에 대해서 정리합니다. 그 중 github(혹은 gitlab 등)를 이용해서 pip install을 하는 방법에 대해서 정리를 해보려고합니다. 이렇게 git을 이용해서 pip install을 할 수 있는 환경을 만들어주면 본인만의 라이브러리를 구축하고 편하게 사용할 수 있기 때문에 여러 방면으로 유용합니다. 그래서 이거를 나중에도 사용할 수 있도록 아주 간단한 예시로! 미리 정리해두려고 합니다. 포스팅 본문 Python의 pip는 파이썬으로 패키지를 관리해주는 시스템인데요. 보통은 사람들이 만들어 놓은 패키지를 pip install을 이용해서 패키지를 설치합니다. 예를 들어서 아래와 같죠 pip install tensorfl..

포스팅 개요 이번 포스팅은 파이썬(Python)에서 용량이 큰 csv 파일을 읽고 처리할 수 있는 방법을 정리합니다. 파이썬을 활용해서 데이터 분석 혹은 모델링 등을 하다보면 대용량의 csv 파일을 많이 다루게 되는데요. 이때 메모리 부족으로 인해(memory error) 메모리 에러가 나오는게 일상입니다. 이러한 large size csv file을 python에서 다룰 수 있는 방법이 간단하게 있는데요. 그 방법을 정리하고자 합니다. 포스팅 본문 Python을 활용해 data를 다루다보면 대용량 csv 데이터를 많이 다루게 됩니다. 보통 이런 대용량 csv를 다루기 위해서는 아래와 같은 환경에서 작업을 해야합니다. 더 큰 메모리를 장착할 수 있는 환경 (Scale-up) 분산 환경과 같은 환경 (Sc..

포스팅 개요 이번 포스팅은 파이썬(Python) 라이브러리 소개를 하는 글입니다. 파이썬에서 프로그래밍을 하다보면 터미널 화면에 로그를 찍거나, 텍스트를 출력하거나 하는 등의 작업을 빈번하게 수행합니다. 그러나, 일반적인 텍스트는 가독성이 좋지 않다는 단점이 있습니다. 이번 포스팅에서 소개해드릴 Python의 Rich library는 이러한 터미널 환경에서 텍스트 출력을 이쁘게(rich 하게) 꾸밀 수 있는 라이브러리 입니다. 굉장히 흥미롭고 재밌는 라이브러리이기에 소개하고자 합니다. 이번 포스팅은 아래 Rich 라이브러리 github에서 제공해주는 튜토리얼을 기반으로 진행해 보았습니다. https://github.com/willmcgugan/rich willmcgugan/rich Rich is a Py..

포스팅 목적 이번 포스팅은 Python 형태소 분석기 중 하나인 Mecab(은전한닢)에서 나오는 에러를 해결하는 방법에 대해 정리합니다. 해당 에러는 Mecab에서 사용자 사전(user dictionary)를 추가할 때 ./tools/add-userdic.sh을 실행 했을 때 나는 오류입니다. 포스팅 본문 Python으로 텍스트 데이터 특히, 자연어 처리를 할 때 형태소 분석기를 많이 사용합니다. 그리고 다양한 형태소 분석기 중 인기 있는 형태소 분석기 Mecab(은전한닢 이라고도 불리웁니다.)이 있습니다. Mecab은 속도도 빠르고, 다른 konlpy 형태소 분석기보다 정확하여 많이 사용합니다. 또한, 사용자 단어(user dictionary)를 쉽게 추가할 수 있기 때문에 매우 유용합니다. Mecab..

포스팅 개요 이번 포스팅은 test code coverage에 대해서 알아봅니다. 그냥 코드 커버리지(code coverage)라고도 불리우는 방법입니다. 그리고 파이썬(Python)에서 test code coverage를 하는 방법에 대해서도 함께 알아봅니다. test code 작성은 이전 포스팅(https://lsjsj92.tistory.com/572)내용을 기반으로 진행됩니다. 포스팅 본문 코드 커버리지(code coverage)란 무엇일까요? code coverage는 소프트웨어 프로그램에서 테스트 케이스가 얼마나 충족되었나? 정도로 생각할 수 있습니다. 즉, 코드에서 테스트가 얼마나 충족이 되었나? 입니다. 흔히, test code를 작성하게 되면 coverage도 같이 측정하게 되는데요. 이때..

포스팅 개요 이번 포스팅은 Python에서 Test Case를 작성하고 나아가 TDD(Test Driven Development)에 활용할 수 있는 unittest를 학습해봅니다. 본 글은 아래 참조 리스트를 참고하였습니다. https://docs.python.org/ko/3/library/unittest.html 포스팅 본문 요즘, 개발 관련 스터디나 모임을 가게 되면 많이 듣는 단어가 TDD입니다. TDD란 무엇일까요? TDD란? TDD는 Test Driven Development의 약자로 테스트 주도 개발이라는 뜻을 가지고 있습니다. TDD는 소프트웨어를 개발하는 방법론 중 하나입니다. 개발자들이 작성하는 코드가, 혹은 우리가 코드를 리팩토링(refactoring)을 하게 될 때 제대로 동작하는지 ..