Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성

by 파시스트 posted Mar 15, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성을 진행토록 하겠습니다.

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 실행하시면 됩니다.

예를 들어, 1_notebook.ipynb를 생성하고 vscode에서 실행하면, Jupyter notebook이 실행됩니다.(vscode에서 실행도 가능하며, 웹브라우저에서도 실행 가능합니다.)

 

상세한 환경 구성이 필요 하시다면, 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 문서를 참조해 WSL, vscode, conda, jupyter notebook 설정을 모두 먼저 완료 하시길 권장해 드립니다.

 

Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성

SQLER의 Python 머신러닝 강좌를 시작하기 전에

SQLER의 Python 머신러닝 강좌에 방문해 주셔서 감사드립니다.

이 강좌는 개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝(2021년 1월 업데이트) 목차 문서의 내용대로, Python 초급/중급 강좌에 별개로 진행되는 머신러닝 강좌입니다. 기본적인 Python 강좌는 위의 목차 링크를 참고 하시길 바랍니다.

 

Python 머신러닝 강좌에서 진행할 일반적인 내용

이 강좌에서는 머신러닝에서 사용되는 일반적인 Python 라이브러리와 도구를 이용해 데이터 처리부터 머신러닝 처리까지의 과정을 다룹니다. 머신러닝에 대해 처음 접하는 개발자를 위한 콘텐트로 준비했으며, 처음 접하는 머신러닝을 이해하고, 실재 hands-on 하는 것을 목표로 진행됩니다. SQLER의 여러 머신러닝 강좌도 참고하시면 도움 되실거에요.

 

Jupyter notebook(lab) 구성

Jupyter notebook이나 Jupyter lab이나 비슷합니다. 브라우저나 개발도구에서 어떤 것으로 지정하는지의 문제이지, 구조 등도 모두 비슷합니다. Lab의 경우 초금 더 CSV 파일 등을 열어 보는 기능이나 파일/디렉토리 구조 트리뷰(tree view)를 지원하며, extension 기능을 지원합니다.

개인적으로는 JupyterLab Spreadsheet Editor CSV 파일 UI 에디터 기능으로 비개발자 분들의 데이터 처리를 위해 사용한 경험이 있습니다.(그래도 수 많은 기발지원 기능이 포함된 vscode가 쵝오!)

 

Jupyter notebook을 설치하는 방법

이전 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 강좌에서 소개해 드린것처럼, 

이렇게 bash shell에서 install을 하시면 됩니다.

꼭 위의 Python 개발 환경 구성 문서를 참조해, conda 환경을 구성하고 conda activate 하신 후 설치/실행 하시길 권장해 드립니다. 여러 Python 프로젝트를 병행하면서 개발하면, 이 독립적인 python 개발 환경을 제공하는 conda의 고마움을 아실겁니다.

 

1
2
# Jupyter notebook 설치
pip install jupyter

 

설치가 완료되면 bash에서 이렇게 실행하면 됩니다.

1
2
# notebook 실행
jupyter notebook

 

실행하면, 이렇게 아래쪽에 토큰 정보와 함께 로컬에서 실행 가능한 포트 경로가 보입니다.

토큰은 자동생된된 랜덤 값이고, 실행시마다 변경됩니다.

jupyter.png

 

브라우저에서 복사해 실행하면 이렇게 노트북이 잘 보입니다.(포트 번호는 위의 링크와 다를 수 있습니다.)

jupyter_first_screen.png

 

Jupyter lab 설치 및 실행 

lab 설치 및 실행

1
2
3
4
5
# jupyterlab 설치
pip install jupyterlab
 
# jupyter lab 실행은 notebook 실행과 같음
jupyter notebook

설치 후 Jupyter lab을 실행하는 방법은 브라우저의 URL에 tree 대신 "lab"을 붙이면 됩니다.

 

jupyter_lab_first_screen.png

그러면, 이렇게 jupyter lab을 실행 가능합니다(포트번호는 위와 다를 수 있습니다.)

 

팀의 서버 또는 클라우드 VM 등에서 Jupyter를 공유하고 싶을 경우에 몇가지 실행 팁

추가적으로 팀원이나 클라우드 VM에서 실행해 Jupyter를 공유하고 싶을 경우에 몇가지 실행하는 팁을 소개해 드리면, 

 

1
2
3
4
5
6
# 0.0.0.0 으로 외부 접근 가능하도록 구성
# 포트를 변경해 Jupyter notebook(lab)을 실행
jupyter notebook --ip=0.0.0.0 --port=8080
 
# 토큰키를 추가로 설정
jupyter notebook --ip=0.0.0.0 --port=8080 --NotebookApp.token='토큰'

이런 형태로 구성하면, 지정한 토큰을 이용해 인증이 가능합니다.

 

위의 토큰키를 이용할 경우, 팀원이나 외부에서 접근시 이런 링크로 접근하면 됩니다.

1
http://원격or클라우드서버:8080/tree?token=토큰

팀원들과 원격 서버를 이용할 경우, 반드시 접근 제한을 위해 IP range 정책 등의 추가 접근 제한 정책을 구성하세요.

 

vscode 에서 Jupyter notebook을 생성 및 실행하는 방법

소개해 드린, 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 - 환경구성 강좌를 따라 오셨다면, 이미 vscode를 잘 사용하고 계실겁니다. 브라우저를 이용해 실행하는 방법과 다르게, vscode에서는 실행이 좀더 간편합니다. 이렇게 ipynb 확장자 파일을 생성하거나, 기존 ipynb 노트북 파일을 선택하면, 이렇게 잘 보입니다.(저는 vscode dark 테마라 화면이 저와 다를 수 있습니다.) 브라우저의 vscode와 거의 같은 기능을 수행하지만, git SCM과의 연동 등 다양한 vscode의 개발 편의 기능을 통합해 이용 가능합니다.

 

vscode_jupyter.png

만약 vscode에서 notebook 실행에 문제가 있다면, 왼쪽 아래 Python environment를 확인하세요.

클릭 하시고, jupyter가 구성된 conda environment를 선택하시면 바로 notebook을 이용 가능합니다.

 

Jupyter notebook 실행 화면

 

jupyter_howto.png

노트북의 실행 화면은 간단합니다.

- 1개의 셀 = 실행 단위로, 푸른색 코드셀 부분에 코드를 넣고 위의 실행 버튼을 누르면 코드가 실행됩니다.

- 셀을 추가하려면, insert 메뉴에서 추가하거나 단축키(esc 누른 후 a나 b키를 눌러서 위나 아래에 추가)로 추가 가능합니다.

- 코드의 실행은 순차적이 필요 없이 뒷쪽 셀을 실행하다가, 앞쪽 셀을 수정 후 실행하고 다시 맨 뒤의 셀을 이어서 실행하는 식의 커널 단위 작업이 가능합니다.

- 붉은색 셀 부분은 "마크다운(markdown)" 셀로, 일반 셀을 마크다운 셀로 변환하고 설명이나 주의사항 등을 추가 가능합니다.

- 보라색 셀 부분은 코드셀을 실행 후 출력된 결과입니다.

- 코드셀에서 변수나 개체명을 타이핑하면, print문과 같은 결과가 출력됩니다.

 

SQLER의 머신러닝 강좌는 jupyter notebook 으로 진행

SQLER에서 진행하게될 강좌는 이제 Jupyter notebook으로 진행됩니다. 제가 만났고 같이 프로젝트를 진행한 Data Scientist 분이나 많은 머신러닝을 공부하고 개발하는 분들도 notebook을 자주 이용합니다.

특히, notebook은 팀원들과 빠르게 구현된 코드를 실행해 결과를 리뷰하거나(특히 pandas), 작은 python 코드들을 테스트 하기에도 좋은 개발 환경입니다.

 

SQLER의 강좌를 통해 이후 머신러닝을 개발할때 많은 도움 되시길 바랍니다.

감사합니다.

 

참고자료

개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝

c9-python-getting-started/even-more-python-for-beginners-data-tools/01 - Jupyter Notebooks at master · CloudBreadPaPa/c9-python-getting-started (github.com)


출처 - https://www.sqler.com/board_MachineLearning_AI_tip_lecture/1096090






Articles

1 2 3 4 5 6 7 8 9 10