18년 서울 Data Science 스터디

깊이있는 삽질 Ubuntu Korea Community Wiki
Gilhan (토론 | 기여) 사용자의 2018년 10월 31일 (수) 18:25 판 (세부 진행내용)

이동: 둘러보기, 검색

개요

  • 2018년 하반기에 진행하는 데이터사이언스 스터디.
  • 기간 (총 횟수) : 2018년 10월부터 2018년 12월까지(8 - 12)
  • 장소 : 서울 강남 일대
  • 교재 : 처음 배우는 데이터 과학
참가자
스터디장 홍길환
참가자 배준현
홍찬양
정동우
이승윤
최주영
박정호

모임 기록

1주차

  • 날짜 : 10/13
  • 참석자 : 7
  • 진행한 내용 : 오리엔테이션, 교재소개, Python 설정, Pycharm(IDE) 설정, PIP 활용
  • 과제 : 데이터 과학에 필요한 패키지(이승윤)

세부 진행내용

  • ubuntu나 linux 등에서는 기본적으로 python3가 리눅스가 설치되면서 함께 내장되어 있습니다.
    • 최신 버전인 3.7 버전으로도 업그레이드가 가능합니다.
    • 하지만 3.6 버전으로도 진행이 가능하여, 3.6 버전에서 스터디를 진행하겠습니다.
user@ubuntu:~$ python3 --version
Python 3.6.6
  • Ubuntu에 Python 3.6 환경에서 PyCharm 설치 및 설정
    • 터미널에 아래 명령어를 입력

sudo apt install snapd snapd-xdg-open

  • 설치가 정상적으로 된 후, 다음 과정을 거쳐 PyCharm을 설치합니다.
    • 개인용을 설치 할 예정이므로, "--classic" 버전을 설치해주세요.

sudo snap install pycharm-community --classic

  • 정상적으로 설치가 된 경우 터미널에 아래와 같이 입력을 했을 때 다음과 같은 결과가 나옵니다.
user@ubuntu:~$ sudo snap install pycharm-community --classic
pycharm-community 2018.2.4 from jetbrains✓ installed


  • pip을 활용한 파이썬 라이브러리 설치 (링크로 대체)
    • [PyCharm pip 명령어 대신 파이참을 이용해서 파이썬 패키지 모듈 설치하기]
  • Pycharm 실행해보기
    • Py.png
      • pycharm classic ide의 아이콘을 클릭합니다.
      • 실행이 되면 처음에는 기본 설정대로만 다음을 클릭합니다.
    • Py2.png
      • 새 프로젝트 생성
    • Py3.png
      • 새 파일 생성
      • 새로 만든 프로젝트 명에서 마우스 오른쪽 버튼을 누르고 new에서 python file이라고 되어 있는 곳을 클릭하고 임의의 파이썬 파일명을 입력합니다.
      • 아래와 같은 코드를 입력하신 후, "run"을 눌러주세요.
print("Hello, World!")
    • Py4.png
  • 실습 - 라이브러리를 활용하여 그래프(Plot) 그려보기
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)

plt.plot(x, np.sin(x))
plt.plot(x, np.cos(x))

plt.show()
  • Py5.png


2주차

  • 날짜 : 10/20
  • 참석자 : 8
  • 진행한 내용 : 데이터 과학 관련 패키지 소개, 데이터 과학 관련 파이썬 기초 문법과 활용 소개
  • 과제 : 데이터 과학에 필요한 파이썬 문법

세부 진행내용

  • 이번 주 과제 발표는 이승윤님이 해주셨습니다.
  • 발표안은 데이터 과학 관련 파이썬 라이브러리입니다.
    • 데이터 과학의 구성 요소
    • 데이터 수집
    • 데이터 분석
    • 데이터 시각화
  • 데이터 과학의 구성요소
  • 데이터 과학은 크게 세 가지 구성 요소로 나눌 수 있습니다.
    • 수집
    • 분석
    • 시각화
  • 데이터 수집에 사용되는 라이브러리에 대해서 알아보기로 합니다.
  • 데이터 수집의 방법 중에 하나는 웹 크롤링이 있습니다.
    • 크롤링이란 웹 페이지의 자원을 읽어와 이용할 수 있도록 하는 것입니다.
    • [1] [크롤링 참고 자료] 파이썬으로 크롤링하기
  • requests
    • html 획득에 사용됩니다.
    • 원하는 웹 사이트에 requests를 날려 html을 받을 수 있는 라이브러리 입니다.
    • [2] [requests] requests simple 참고 자료
  • beautifulsoup
    • beautifulsoup는 html 파싱에 사용된다.
    • html 안에 원하는 태그를 가져 올 수 있는 find(), find_all()이 있습니다.
    • 태그 안의 모든 문자열을 하나의 문자열로 만들어 반환 해주는 get_text() 등의

함수를 이용하여 html 코드를 간단하게 분석할 수도 있습니다.

    • [3] [beautifulsoup사용법 참고 자료] beautifulsoup 사용법 링크입니다.
  • 데이터 분석
    • 데이터 분석과 가공 (pandas)
    • 데이터를 분석하고 가공할 수 있습니다.
    • [4] [pandas 관련 발표 링크] pandas 라이브러리에 대한 설명 자료입니다.
  • pandas
    • 데이터 분류된 데이터와 관계형 데이터를 직관적으로 처리할 수 있도록 하는 라이브러리 입니다.
    • 1차원 자료구조인 Series, 2차원 자료구조인 DataFrame, 그리고 3차원 자료구조인 Panel

총 세 가지 자료구조를 지원합니다.

빠르고 쉬운 데이터 조작을 할 수 있는 점이 특징입니다.

  • numpy
    • 수학적, 과학적 데이터 분석에 용이한 라이브러리 입니다.
    • 파이썬의 기본 자료구조보다 빠르고 효율적인 다차원배열 객체 n-array를 제공합니다.
    • 배열 원소를 다루거나 배열간의 수학계산을 수행하는 함수,

선형대수의 계산, 푸리에 변환, 난수 발생기 같은 수치와 관련된 다양한 기능을 제공합니다.

  • 데이터 시각화
    • 분석, 가공한 데이터를 시각화할 수 있습니다. 파이썬 시각화 라이브러리로는 matplotlib가 있습니다.
    • [5] [matplotlib 시각화 발표 참고 자료]

matplotlib

    • 데이터 시각화에 사용되는 라이브러리 입니다.
    • 2차원 선 그래프, 막대 그래프, 원형 그래프, 히스토그램은 물론 3차원 그래프까지

데이터를 다양한 형태로 시각화 할 수 있는 라이브러리 입니다.

[세부 참고 영어 문서] Better web scraping in Python with Selenium, Beautiful Soup, and pandas

    • [7] [세부 참고 영어 문서 2]

Web Scraping in Python using Scrapy

  • 감사합니다.

3주차

  • 날짜 : 10/27
  • 참석자 : 5
  • 진행한 내용 : 데이터 과학에 필요한 파이썬 문법
  • 과제 : matplotlib와 dpandas 문법과 csv를 이용하여 심플한 데이터 분석

세부 진행내용

  • 파이썬 프로그램 실행 방법
    • 인터프리터 프롬프트에서 실행
>>> print("hello world")
hello world
>>> 
  • 소스 파일을 사용하여 실행
    • 예) hello.py 파일 생성 -> print("hello world") 입력 -> 터미널창에서 python3 hello.py 실행
    • 실행 예시

vim hello.py python3 hello.py hello world cat hello.py

  1. !/usr/bin/python3

print("hello world")

4주차

  • 날짜 : 11/03
  • 참석자 :
  • 진행한 내용 :
  • 과제 :

5주차

  • 날짜 : 11/10
  • 참석자 :
  • 진행한 내용 :
  • 과제 :

6주차

  • 날짜 : 11/17
  • 참석자 :
  • 진행한 내용 :
  • 과제 :

7주차

  • 날짜 : 11/24
  • 참석자 :
  • 진행한 내용 :
  • 과제 :

8주차

  • 날짜 : 12/01
  • 참석자 :
  • 진행한 내용 :
  • 과제 :

후원

1. KOSSLAB(장소)


참고