머신 러닝

[데이터과학 코세라 강의] (2주차) 데이터 과학을 위한 툴(장비)

마빈 Marvin 2022. 5. 17. 09:19

 

2주차

총 00시간

 

이번 시간에는 본격적으로 주피터 노트북 실습이 있어서 기대가 된다.

 

주피터 노트북과 주피터 랩

 

주피터 노트북 서론

데이터 관련 실험을 저장할 수 있다. 텍스트나 pdf 형태로도 출력할 수 있다. 구글 colab 에서도 작동한다. 

$pip install jupyterlab

(IBM 의 skills network 로 사용할 수 있다고 하지만, 나는 구글 colab 으로 해야겠다.)

 

주피터 시작 

텍스트도 가능하고 라이브러리에서 불러와서 사용이 가능하다. ipython 이다. 

 

주피터 커널

이미 저장된 커널이 존재한다. 예를 들어, 파이썬 커널이다. 

구글 colab 은 기본적으로 파이썬 커널인듯한데 R 커널도 사용할 수 있는 방법이 있는지 더 찾아봐야겠다. 

 

주피터 구조

client 의 요청을 kernel 이 실행한다.

 

Lab: 주피터 노트북 기초

Co-lab 에서 마크다운 기능이 없는게 아닐까. 못찾겠다. 

열기도구를 클릭하니, Skills Network Labs 으로 연결된다. 

 

Lab: 주피터 노트북 그 외 특징들

파일명 변경, 노트북 다운로드 및 업로드, kernel 을 파이썬 3, R 등으로 변경.

 

Lab: 주피터 노트북 높은 단계의 특징들

마크다운 셀에서 HTML 코드를 실행할 수 있다. 그리고 마크다운 포매팅을 할 수 있다. 

 

R스튜디오 IDE

 

R 과 RStudio 서론

R 은 ML 등의 통계적인 분석 등을 한다. RStudio 는 이러한 R 을 읽는다. 데이터 과학자가 자주 사용되는 라이브러리는 다음과 같다. 

dplyr : Data manipulation

stringr : String Manipulation

ggplot : Data Visualization

caret : Machine Learning

강의와 관련된 skills network 에서는 RStudio IDE 를 사용할 수 있다. 

검색을 더 해보니, Colab 에서 R 을 사용하는 방식이 있는 것 같다 (외부 링크: [R] Colab 에서 R 사용하기). 그 외에도 RStudio 에서 제공하는 클라우드도 있는 것 같다 (외부 링크: [무설치] 파이썬과 R을 온라인에서 바로 코딩하는 꿀팁). 

 

RStudio 로 plot 하기 

ggplot, Plotly, Lattice, Leaflet. 라이브러리를 불러온 이후 해당 커맨드를 실행한다. 

 

RStudio 시작과 패키지 설치 

열기 도구를 클릭하니 IBM 에서 제공하는 lab 에서 실재 RStudio 환경이 제공된다. (+) 사인 클릭해서 R Script 를 클릭하고 library 불러오고 그 외 커맨드를 실행한다. 

 

RStudio 로 plot 하기

ggplot 을 이용해 plotting 한다. 

 

GitHub

 

Git/GitHub 개론

소스 코드의 version 컨트롤과 협업을 가능하게 해준다. Version control 이란 이전 버젼을 트래킹해준다. GitHub 은 Git 을 웹에서 호스팅해준다. 

주요 용어: SSH protocol, Repository, Fork, Pull request, Working directory. 

Basic Git Commands: init, add, status, commit, reset, log, branch, checkout, merge.

치트시트/튜토리얼: https://try.github.io/ 

 

깃헙 시작하기 

Creat a repository by clicking "new repository". Commit changes. Create new file. Uploading a file. 

 

Lab 1: 깃헙 랩 시작하기 

깃헙 어카운트 만들고 새로운 파일 만들기

 

깃헙 - 브랜치로 일하기 

브랜치는 리포지토리의 스냅샷이다. 마스터 브랜치와 child 브랜치가 있다. 브랜치는 동시 업무가 가능하도록 한다. Child branch 를 커밋 가능하다. 그러면, 마스터 브랜치에서는 변화가 없다. 이후 다른 멤버가 리뷰 후 마스터 브랜치에 merge 가 가능하다. Create a "pull" request. 

[PAP 에서 글 작성할 때 브랜치와 관련이 있었는데, 컨텐츠 게시 가이드를 다시 읽어보면 개념이 더 이해가 잘 될 것 같다]

 

Lab: Branching, Merging and Pull Requests on GitHub (Optional)

- 패스

[Optional 한 것은 패스하지만, 추후에 필요하면 다시 키워드를 검색해볼 수 있도록 하기 위해서 제목만 적어두어야겠다.]

 

커맨트 라인으로 깃과 깃헙하기 (Optional) 

- 패스

 

커맨드 라인 인터페이스를 위한 전제 조건

- 패스

 

Configuring SSH access to repository (Optional)

- 패스

 

Git and GitHub via command line instructions (Optional)

- 패스

 

Branching and merging via command line (Optional)

- 패스

 

Lab2: Branching and merging via command line (Optional)

- 패스

 

Lab3: Contributing to repositories via pull request (Optional)

- 패스