파이썬으로 자연어 처리를 하고 싶다면

공부해볼만한 책 한 권을 소개하고자 한다.

 

표지

 

원서 제목은 다음과 같다.

"Blueprints for Text Analytics Using Python"

 

초판

 

발행한지 얼마 안된 따끈따끈한 책이다.

 

원서는 2020년 12월에 출간되었으니

약 2년의 시차가 있어서 조금 아쉽기는 하지만

지금 공부하기 해서 활용하는데에는 부족함이 없다.

 

독자

 

이 책은 텍스트 분석에 대해서 처음 접하는 분들이 아니라

텍스트 분석을 실제 구현하고자 하는 분들을 위한 책이다.

 

제약

 

다만, 기본적으로 영어를 기반으로 하기 때문에

한글 텍스트 분석을 위해서는

추가적인 학습이 필요하긴 하다.

 

원서와 2년의 차이가 있는데,

이왕이면 실습 코드만이라도 한글 지원을 추가해줬으면

훨씬 더 좋았을 것 같다.

 

챕터 개요

 

각 챕터(장)에서 어떤 데이터셋을 사용하고

어떤 라이브러리를 이용했는지

깔끔하게 정리를 해줘서

필요할 때 손쉽게 찾아볼 수 있다.

 

추천 도서

 

이 책에서는 기본적인 이론 등에 대해서 설명해주지 않기 때문에

추가적으로 공부하면 좋을 책들을 추천해주고 있다.

 

심지어 한빛미디어 출판이 아닌 책도 추천을 해준다 ^^

 

본문

 

책은 아쉽게도 흑백이다.

컬러 추종자로써 조금 아쉽다 ^^

 

원서 eBook을 보면 컬러로 나오던데...

 

구성

 

각 챕터(장)별로

학습목표와 데이터셋에 대한 설명을 해준다.

 

해당 챕터에서 뭘 하고자 하는 것인지

어떤 데이터를 가지고 하는 것인지

설명을 해주기에 공부할 때 많은 도움이 된다.

 

 

그리고, 중요한 실습 코드 !!!

 

https://github.com/blueprints-for-text-analytics-python/blueprints-text

 

실습 코드

각 챕터별로

README.md

내용을 너무나 예쁘게 잘 작성해줘서 기분이 좋았다.

 

JupyterNotebook

 

JupyterNotebook 파일도 깔끔하게 작성되어 있다.

 

사실 책 내용을 보면 책에서 설명하고 있는 내용이

JupyterNotebook 파일에 작성되어 있으면

공부할 때 훨씬 더 손쉽게 접근할 수 있을 것 같지만...

그것까지 바라는 것은 욕심인 것 같기도 하고...

 

 

NLP에 대해서 기본적인 사항을 공부한 다음

실제 코드로 만져보고 싶은 분들에게는

엄청 유용한 도움이 될 책이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형

최근 SW 개발자들이라면 `Git`이라는 버전관리 도구를 무조건 한 번 이상 사용해봤을 것이다.

 

사실 대부분 회사일로던 개인적인 사유로던 `GitHub` 계정이 이미 있을 것이고

Repository 하나 이상쯤은 만들어봤고, clone도 받아봤을 것이다.

 

`Git` 외에 다른 버전관리 도구들이 다양하게 존재하긴 하지만

일단 `Git`이 SW 개발자의 기본 소양이 되어버렸다는 사실은 그 누구도 부정하지 못할 것이다.

 

 

`StackOverflow Survey 2021` 에서 개발자들의 약 93%가 Git을 사용한다고 답한 것을 보면 확실하다!!!

'22년 Survey에서도 결과를 확인할 수 있으면 좋았을텐데, Git 항목이 2022년에는 빠져서... 아쉽다.

  - https://insights.stackoverflow.com/survey/2021#other-tools

 

 

그러면, 여러 Global 기업들도 모두 Git을 사용할까?!

`결론은 대부분 Git을 사용한다!` 이지만, 지금은 이걸 알아볼 때가 아니니 다음 기회로 넘기기로 하고...

 

Facebook(현 Meta)에서는 어떤 개발환경을 사용하고 있을까!?

  - 버전관리: Mercurial

  - 코드리뷰 및 태스크 관리: Phabricator

 

https://engineering.fb.com/2014/01/07/core-data/scaling-mercurial-at-facebook/

https://secure.phabricator.com/book/phabricator/article/introduction/

 

 

그런데, 위에 있는 링크를 타고 들어가보면 알겠지만,

Meta에서는 Mercurial을 그대로 사용하지 않고 상당히 많은 customizing을 가해서 사용하고 있었다.

 

Mercurial 자체도 Git과의 호환성을 보장하지만,

Meta에서는 특히 Git을 중심에 두고 GitHub 지원도 강화하기 위해 막대한 투자를 했다고 한다.

 

그리고 이렇게 Meta에서 10년 동안 열심히 개발한 버전관리 도구를 "Sapling"이라는 이름으로 공개했다!

  - https://engineering.fb.com/2022/11/15/open-source/sapling-source-control-scalable/

 

 

어떤 도구인지 직접 한 번 설치해 보고 사용해봤다.

개발환경 구성이니만큼 Ubuntu 20.04 환경에서 진행했다.

 

사실 Ububtu 18.04 환경에서 하고자 했으나, Sapling이 Ubuntu 20.04/22.04 버전만 지원한다.

 

 

1. GitHub CLI

  - Sapling에서 GitHub 연결할 수 있도록 하기 위해 GitHub CLI 도구를 설치하자

  - https://cli.github.com/

 

 

  - Ubuntu 환경에서의 설치는 아래 링크에 친절히 나와있다.

  - https://github.com/cli/cli/releases/download/v2.20.2/gh_2.20.2_linux_amd64.deb

 

  - 1회성으로 다운로드 받아서 설치할 수도 있다.

  - https://github.com/cli/cli/releases

 

❯ wget https://github.com/cli/cli/releases/download/v2.20.2/gh_2.20.2_linux_amd64.deb

❯ sudo dpkg --install gh_2.20.2_linux_amd64.deb

❯ gh --version                                             
gh version 2.20.2 (2022-11-15)
https://github.com/cli/cli/releases/tag/v2.20.2

 

  - 인증 정보도 등록하자

❯ gh auth login --git-protocol https

 

 

 

2. Sapling Install

  - 본래 주력으로 사용하고 있는 Ubuntu 18.04에서 테스트 진행하려다 보니... 안타깝게도 18.04는 지원하지 않는다.

  - 빌드를 직접 해보면 될지 모르겠지만, 귀차니즘으로... 그냥 20.04 환경에서 진행했다.

 

  - 설치 과정은 다음 링크를 참조하면 된다.

  - https://sapling-scm.com/docs/introduction/installation#linux

 

❯ wget https://github.com/facebook/sapling/releases/download/0.1.20221118-210929-cfbb68aa/sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu20.04.deb

❯ sudo dpkg --install sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu20.04.deb

❯ sl --version                                                                  
Sapling 0.1.20221118-210929-cfbb68aa

❯ sl config --user ui.username "whatwant <whatwant@gmail.com>"

 

 

3. clone

  - 기본적인 사용법은 git 명령어 체계를 따라가는 것 같다.

❯ sl clone https://github.com/whatwant/whatwant               
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (6/6), 15.87 KiB | 7.93 MiB/s, 완료.
https://github.com/whatwant/whatwant URL에서
 * [새로운 레퍼런스] babeb04a267ae7ac642532df70c03517d1ea86ca -> remote/main
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

 

  - 기본적인 모습은 조금 특이하긴 하다.

  - clone을 받았을 때 `.git` 디렉토리가 아니라 `.sl` 디렉토리가 생긴다.

  - `sl` 명령어를 치면 지금 현재 브랜치 정보를 보여준다.

❯ cd whatwant

 ls -al
합계 76
drwxrwxr-x 3 chani22 chani22  4096 11월 24 15:25 .
drwxr-xr-x 3 chani22 chani22  4096 11월 24 15:25 ..
drwxrwxr-x 6 chani22 chani22  4096 11월 24 15:29 .sl
-rw-rw-r-- 1 chani22 chani22   443 11월 24 15:25 README.md
-rw-rw-r-- 1 chani22 chani22 58078 11월 24 15:25 career.md

❯ sl
@  babeb04a2  2021-10-17 04:04  whatwant  remote/main
│  Create career.md
~

 

 

4. commit

  - committ 생성 과정을 살펴보자.

  - `git` 하고 차이는 마지막에 `sl` 명령어를 쳤을 때 나오는 정보 뿐이다.

❯ touch sapling.txt 

❯ sl add .                                     
adding sapling.txt

❯ sl commit -m 'my first commit with Sapling'                 

❯ sl                                         
  @  f63c3b928  6 seconds ago  whatwant
╭─╯  my first commit with Sapling

o  babeb04a2  2021-10-17 04:04  whatwant  remote/main
│  Create career.md
~

 

 

5. web (SmartLog)

  - Sapling은 멋지게도 web 인터페이스를 제공해주는데 ... 그냥 실행하면 에러 나온다.

❯ sl web                                     
ERROR: `node` is required to run Interactive Smartlog, but it was not
found on the $PATH. For information on installing Node.js, see:
https://nodejs.dev/en/learn/how-to-install-nodejs/

 

  - nodejs 설치하자

❯ sudo apt install nodejs npm

❯ nodejs --version                           
v10.19.0

 

  - 이제 다시 web !!

❯ sl web

  - 깔끔하고 예쁘다.

 

 

6. Pull-Request

  - PR 생성도 그냥 명령어 한 줄이면 된다.

❯ sl pr 
pushing 1 to https://github.com/whatwant/whatwant
created new pull request: https://github.com/whatwant/whatwant/pull/1
updated body for https://github.com/whatwant/whatwant/pull/1

 

  - 실제 GitHub에 생성되었는지 확인해보자.

 

 

여기까지 간단한 사용법을 살펴봤는데... 그냥 Git을 사용하는 것과의 큰 차이는 느끼지 못하겠다.

 

Git과의 차이점을 설명해주고는 있다.

  - https://sapling-scm.com/docs/introduction/differences-git

 

Staging Area가 없는 것과 몇 가지 차이가 보이기는 하지만,

사실 대용량 Repository일 때 Sapling의 장점이 돋보일 것 같기는 한데...

 

실제 작업하면서 사용을 해봐야 제대로 느껴볼 수 있을 것 같다.

 

 

이번 포스팅은 그냥 Sapling 맛만 보는 것으로...

 

 

반응형

'SCM > Git-GitHub' 카테고리의 다른 글

git 실수해도 괜찮아요  (0) 2022.07.02
GitHub에서 수식 입력 하기 (with LaTex)  (0) 2022.06.07
Universe 2021 & GitHub Actions  (0) 2022.01.18
github.dev (Web-IDE)  (1) 2021.11.03
git switch/restore (git 새로운 명령어)  (1) 2021.10.17

 

표지

 

최근 전세계적인 어려운 경제 상황에

운명처럼 만나게 된 책

 

"파이썬 기반 금융 인공지능 (Artificial Intelligence in Finance)"

 

초판 1쇄

 

받아본 책은

이제 태어난지 갖 1달 된 따끈따끈한 책이지만...

원서는 2020년에 첫 출간되었었다.

 

First Edition

 

2년이 지난 책이라 조금 아쉬움은 있지만,

그래도 이렇게 번역서가 나온 것만으로도 정말 고마운 일이다.

 


예전에 퀀트 투자 관련된 책을 살짝 살펴본 적이 있었는데

그래서인지 이 책 제목을 보고

제일 먼저 든 생각은

"이 책도 퀀트 투자 관련된 것이겠구나!"

였다.

 

 

그래서 살펴본 목차는 다음과 같다.


[PART I 기계지능]

CHAPTER 1 인공지능
CHAPTER 2 초지능

[PART II 금융과 머신러닝]

CHAPTER 3 규범적 금융
CHAPTER 4 데이터 기반 금융
CHAPTER 5 머신러닝
CHAPTER 6 인공지능 우선 금융

[PART III 통계적 비효율성]

CHAPTER 7 밀집 신경망
CHAPTER 8 재귀 신경망
CHAPTER 9 강화 학습

[PART Ⅳ 알고리즘 트레이딩]

CHAPTER 10 벡터화된 백테스팅
CHAPTER 11 리스크 관리
CHAPTER 12 집행 및 배포

[PART Ⅴ 전망]

CHAPTER 13 인공지능 경쟁
CHAPTER 14 금융 특이점

[PART Ⅵ 부록]

APPENDIX A 상호작용형 신경망
APPENDIX B 신경망 클래스
APPENDIX C 합성곱 신경망

 

 

퀀트 투자 책인 것은 맞지만,

금융 데이터들을 어떻게 AI를 활용하면 좋을지에 대해서

포커스가 맞춰진 책이다.

 

목차 설명

각 목차 앞에서는 어떤 의도로 작성되었는지,

어떤 내용인지에 대해서 설명을 먼저 해주고 있다.


정말 친절하게도 학습 플랫폼도 제공을 해주고 있다.

 

https://aiif.pqp.io/

 

학습 플랫폼

 

이메일 주소를 가지고 계정을 등록해야하는 불편함은 있다.

이메일 인증 후 로그인 하면 다음과 같은 플랫폼을 사용할 수 있다.

 

Jupyter Notebook

 

커널도 제공을 하고 있는 것 같지만,

뭔가 설정을 필요로 하는 것인지...

실제 실행을 하면 에러가 발생했다.

 

커널 에러

 

다운로드 받아서 colab에서 실행을 해보니

잘 된다.

 

colab


금융데이터를 가지고 어떻게 인공지능(AI/ML)을 이용해서

다뤄야 할지 공부할 수 있는 좋은 책이다.

 

이 책에서 다루는 라이브러리는 다음과 같은데,

 

python / scikit-learn / tensorflow / keras

 

일반적으로 많이 사용되는 라이브러리들이기에

많은 분들에게 쉽게 다가설 수 있을 것이다.

 

다만, 소스코드를 제공하는 방식이

사실 조금 불편하긴 하다.

 

본래 플랫폼까지 제공해주려는 의도인 것 같기는 하지만

그냥 GitHub로 제공을 해주고

Colab을 사용하도록 가이드하는 것이

훨씬 더 접근성이 좋지 않았을까 한다.

 

소스코드가 업데이트 된지도 2년이 되었던데,

독자적인 플랫폼 제공이 어떤 의미가 있는지는....

 

언젠가 퀀트 투자를 이용해서 용돈벌이를 할 수 있기를 꿈꾸며

여기까지 서평을 마치겠다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

반응형

 

컴퓨터공학을 전공한 코딩쟁이로써

머신러닝, 딥러닝을 공부하면서 항상 수학이라는 엄청난 장벽에 어려움을 겪고 있다.

(공돌이라고 누구나 수학을 잘하지 않아요 !!! 😥)

 

나는 엔지니어(Engineer)이지 사이언티스트(Scientist)가 아니다.

사실 GPT-3에서 사용된 Transformer가 어떤 특징이 있는지 그런건 별로 궁금하지 않다. 😑

 

내가 관심있는 것은 그것을 어떻게 구현했는지 이고,

그걸 사용하려면 어떻게 해야하는지 그런 것이 훨씬 더 궁금하다.

 

그런데, 역시 오레일리에서는 나같은 코딩쟁이들을 위한 책을 내놨고,

멋진 한빛미디어에서 존경스러운 박해선님이 번역한 책을 출간해주셨다 !!! 😍

 

표지

 

말 그대로 "개발자를 위한 (For Coders)" 책이다 !!!

 

한글판은 나온지 얼마 안된 따끈따끈한 책이지만, 원서는 2020년 10월 1일에 출간했으니 시간이 좀...

하지만, 머신러닝 번역서의 장인이신 박해선님이 예제를 비롯하여 내용들을 모두 살펴봐주셨으니, 믿습니다 !!! 😎

 

초판

 

다시 한 번 말하지만, 이 책은 개발자를 위한 책이다.

모델의 수학적 배경을 알고 싶다거나 머신러닝 자체에 대해서 공부하기를 원한다면 다른 책을 찾아봐야 한다.

 

아! 그리고, 이 책은 텐서플로(Tensorflow)를 사용하고 있다.

파이토치(PyTorch)를 원한다면 역시 다른 책을 ... 🙄

 

대상 독자

 

이 책은 크게 `모델구축``모델 사용`의 두 묶음으로 구분이 되어 있다.

 

`모델 구축`에 있어서도 (비전, 자연어, 시퀀스) 3가지 유형에 대해서 모두 설명해준다.

 

모델 구축

 

`모델 사용` 부분에서는 모바일 환경에서 사용할 수 있는

`텐서플로 라이트(Tensorflw Lite)`를 설명해주고 있으며 심지어 iOS 앱으로 구현하는 것까지도 알려준다.

 

모델 사용

 

그리고, 20장을 보면

짧게나마 윤리/공정성/개인정보에 대한 이야기도 해준다.

 

 

책의 전체적인 내용에 대해서

박해선님이 직접 설명해주신 그림도 있다.

 

[출처] https://tensorflow.blog/aiml4coders/

 

 

'이론과 실습' 측면에서 바라보면 이 책은 '실습'에 충실한 책이다.

뒤늦게 머신러닝을 공부하고자 하는 개발자에게는 속시원한 책이지 않을까 한다.

 

 

책의 정오표는 아래 링크에서 확인할 수 있다.

  - https://tensorflow.blog/aiml4coders/

 

 

예제 파일(쥬피터 노트북)은 아래 링크에서 확인할 수 있다.

  - https://github.com/rickiepark/aiml4coders

 

예제 파일은 원서의 것을 그대로 공유하는 것이 아니라

박해선님이 확인하고 다듬어서 올려주신 것으로 알고 있다.

 

주석이 별도로 없는 것은 조금 아쉽지만, 그래도... !!! 😋

 

 

마지막으로,

개인적인 취향으로 ... 이 책은 Coloful 하다 !!! 😁

 

그림

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

반응형

 

대학생 시절

게임 때문에 학사경고까지 먹었던 골수 겜돌이였던 나였는데 😎

 

요즘은 어떤 게임이 있는지조차 모를 정도로

게임하고는 거리가 먼 아재가 되어 버렸다 😥

 

 

그렇다고 게임에 대한 관심과 애정이 없어진 것은 아니었는데,

그러던 중 알게 된 아재 감성을 자극한 멋진 사이트를 발견 !!! 😍

 

https://www.bestoldgames.net/

 

bestoldgames.net

 

옛날 게임을 주제로 만들어진 웹사이트는 기존에도 많이 있었지만,

BOG 사이트가 왜 특별하냐면

게임을 해볼 수 있도록 다운로드를 제공하기 때문이다.

심지어 온라인으로도 해볼 수 있도록 제공해 준다!!! 🤩

 

 

그렇다고 해서 여기 사이트에서

특별한 인터페이스 또는 에뮬레이터를 만들어서 제공하는 것은 아니고 😁

DOSBox를 이용해서 게임을 할 수 있도록 해준다.

 

DOSBox

 

DOSBox는 일단 설치해놓고,

고등학교 시절 오락실에서 내 용돈을 엄청 빼앗아간 게임을 한 번 해보겠다~ 🤑

 

Strret Fighter 2

 

게임을 골랐으면 일단 다운로드 받자.

 

Download

 

다운로드 받은 후에 압축을 풀어 놓자

 

압축 해제

 

DOSBox를 설치해 놓았으면,

바탕화면에 아래와 같은 아이콘을 찾아볼 수 있을 것이다 🤔

 

DOSBox

 

압축 해놓은 디렉토리를

위 DOSBox 아이콘에 드롭다운을 하면 된다.

 

Drop Down

 

이상한 윈도우가 2개나 튀어 나온다고 당황하면 안된다 😲

 

DOSBox

 

`dir` 명령어를 쳐보면 파일 목록이 보일 것이다.

지금 우리가 필요로 하는 것은 `SF2.EXE` 파일이다.

실행하면 된다 !! 🥳

 

dir

 

혹시 이어폰을 끼고 있다면 조심하기 바란다.

정겨운 사운드블러스터 뮤직이 크게 흘러나온다~ 🤣

 

SF2

 

왠지 뭔가 귀찮고 하기 싫다면,

온라인으로 실행할 수도 있다 😋

 

온라인

 

 

추억의 게임들을 발견하고

또 직접 해볼 수 있다는 것이 꽤 쏠쏠한 재미를 준다.

 

더군다나 사이트가 너무나 잘 정리되어 있고

관리가 되고 있다는 것이 너무나 너무나 고맙다.

 

반응형

 

오랜 시간 Software Engineer로써 살고 있는 고인물이

새로운 세상에 적응하기 위해 딥러닝이라는 것을 공부하려고 할 때

가장 큰 장벽으로 다가오는 것이 바로 수학이다.

 

고등학교 시절 이과를 선택하고 공대에 입학해서 공돌이 생활을 했지만

수학을 정말 싫어하고 못했던 나인데, 이 나이 먹고 다시 수학 공부를 해야하다니!!!

 

하지만, 딥러닝에 대해서 파고들기 위해서는 수학 공부는 필수다.

어쩔 수 없다.

 

그렇지만, 수학 정석부터 시작할 수는 없고, 필요한 내용만 공부를 하려면... ?!

 

표지

 

나온지 얼마 안되는 정말 따끈따끈한 책이다.

원서도 2021년 10월에 출간되었다.

 

1쇄

 

책 제목에 "딥러닝"이 적혀 있다고 해서 알고리즘이나 코드를 설명해주는 책은 절대 아니다.

 

역전파(Backpropagation)와 경사하강법(Gradient Descent)을 이해하기 위한

수학적 배경 지식을 공부하기 위한 수학책이다.

 

"옮긴이의 말"에서도 분명히 이 부분을 말해주고 있다.

 

옮긴이의 말

 

그렇다고 해서 정말 수학 공식만 설명해주고 있는 책은 아니다.

실제 Python 코드를 이용한 구현 방법도 알려주고 있기에 실습을 하면서 공부를 할 수 있다.

 

책의 구성을 살펴보면 다음과 같다.

 

구성 1
구성 2

 

"옮긴이의 말"에서도 언급한 것 처럼

이 책은 `10장 역전파`와 `11장 경사하강법`을 설명하기 위한 책이다.

 

실습환경 구축을 설명해주고 있는 1장을 빼고

2장부터 9장까지는 본론을 말하기 위한 수학적 개념과 공식을 설명해주는 내용으로 채워져 있다.

 

 

책 인쇄는 조금 아쉽게도 풀 컬러는 아니고 (개인적인 취향으로 풀컬러 러버~)

자주색+검은색의 조합이다.

 

샘플

 

책에서 사용된 소스코드는 다음 링크에서 내려 받을 수 있다.

  - https://github.com/rkneusel9/MathForDeepLearning

 

쥬피터노트북(.ipynb)은 아니고, 파이썬(.py) 파일로 제공해주고 있다.

 

 

책의 정오표는 다음 링크의 제일 하단에 있는 `View the latest errata`에서 확인하라고 하는데, 원서 기준이다.

  - https://nostarch.com/math-deep-learning

 

한글판에 대한 정오표가 업데이트 되면 아래 링크에서 확인할 수 있을 것이다.

  - https://jpub.tistory.com/category/오탈자%20정보 

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

Python은 왠지 한글하고 친하지가 않은 것 같다.

그나마 v3.x 버전이 되면서 많이 편해지긴 했지만, 그래도 한글 관련 이슈가 계속 나오는 느낌적인 느낌이...

 

MachineLearning 공부하게 되면서 많은 분들이 사용하고 있는 matplotlib의 경우에도

기본적으로는 한글 출력에 문제가 있다.

 

Google Colab 및 Local 환경에서 matplotlib 한글 출력이 잘 되도록 해보자.

 

 

1. Google Colab

 

① 기본 상황

  - 한글 부분이 제대로 나오지 않는 것을 볼 수 있다.

 

font error

 

② 폰트 설치

  - 나눔 폰트를 설치해보자.

 

!sudo apt-get install -y fonts-nanum
!sudo fc-cache -fv
!rm ~/.cache/matplotlib -rf

 

install font

 

③ 런타임 재시작

  - 설치된 폰트를 사용하기 위해 "런타임 다시 시작"을 실행하자

 

런타임 다시 시작

 

④ 폰트 적용

  - 이제 한글을 적용해서 그래프를 그려보자.

  - 설치한 폰트를 사용하도록 한 줄 추가가 되어야 한다.

 

plt.rc('font', family='NanumBarunGothic')

 

matplotlib with hangul

 

  - 그런데, 위의 그래프에서 뭔가 이상한 것을 볼 수 있는가?

  - y축의 "-5" 부분이 제대로 출력되지 않았다.

 

⑤ minus 처리

  - 아래와 같은 구문이 추가되면 된다.

import matplotlib as mpl
 
mpl.rcParams['axes.unicode_minus'] = False

 

fix minus

 

 

2. Local (Ubuntu)

Colab과 비슷하지만 약간 차이가 있다.

 

① 기본 상황

  - 코드가 살짝 다르다.

 

import pandas as pd
import matplotlib.pyplot as plt
import warnings

warnings.simplefilter(action='ignore', category=UserWarning)

plt.plot(['서울', '경기', '인천', '광주', '대구', '부산', '울산', '대전', '제주'], [12, 32, -4, 0, 5, 2, 19, 9, 3])
plt.xlabel('x축')
plt.ylabel('y축')
plt.title('제목')
plt.savefig('test.png')

 

execute

 

error

 

② 폰트 설치

  - 나눔 폰트를 설치해보자.

 

$ sudo apt-get install -y fonts-nanum
$ sudo fc-cache -fv
$ rm ~/.cache/matplotlib -rf

 

③ 코드 개선

  - 폰트 및 마이너스 관련 코드 추가해서 재실행해보자.

 

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import warnings

warnings.simplefilter(action='ignore', category=UserWarning)

plt.rc('font', family='NanumBarunGothic')
mpl.rcParams['axes.unicode_minus'] = False

plt.plot(['서울', '경기', '인천', '광주', '대구', '부산', '울산', '대전', '제주'], [12, 32, -4, 0, 5, 2, 19, 9, 3])
plt.xlabel('x축')
plt.ylabel('y축')
plt.title('제목')
plt.savefig('test.png')

 

new graph

 

예쁜 한글 파이팅 !!!

 

반응형

 

나의 로컬 환경에서 Jupyter Notebook을 사용하고 싶어서 살펴봤다.

 

0. 실행 환경

  - Ubuntu 18.04 환경에서 진행했지만, 20.04 등 다른 버전에서도 잘 될 것 같다.

 

1. 설치

  - 가장 편한 "pip"를 이용해서 설치해봤다.

$ pip install jupyter

 

pip install jupyter

 

2. 설치 내역

  - Jupyter Notebook은 여러 패키지의 조합이다. 확인해보자.

$ jupyter --version

 

jupyter --version

 

3. 실행

  - Jupyter Notebook을 실행해보자.

$ jupyter notebook

 

jupyter notebook

 

  - 자동으로 브라우저가 실행되며 Jupyter Notebook을 볼 수 있다.

 

jupyter notebook

 

  - 오른쪽 중간에 보이는 "New" 버튼을 통해 새로운 Notebook을 생성하고, 간단한 실행을 해보자.

 

jupyter notebook

 

정말 간단히 Jupyter Notebook 환경을 만들 수 있다.

서버로 구동하거나 비밀번호를 등록하는 등의 추가 설정은 별도의 포스팅으로 작성해보도록 하겠다.

 

반응형

+ Recent posts