반응형
#!/usr/bin/env python
# coding: utf-8
# # 수업 진행 - 3과목
# > ### 빅데이터 분석 및 머신러닝을 위한 파이썬
# ### Lecture01
# - 프로그램밍 일반
# - 파이썬 이론 및 실습
#
# ### Lecture02
# - 파이썬 패키지를 이용한 데이터 분석 소개 및 실습
# - numpy, pandas, matplotlib, etc
#
# ### Lecture03
# - 파이썬 패키지를 이용한 머신러닝 개념 설명 및 실습
# - scikit-learn, keras, konlpy, etc
# ---
# # 1. 파이썬 프로그래밍 소개
# ### 1.1 파이썬 언어 소개 및 역사
# - 파이썬은 널리 쓰이는 범용, 고급 언어이다. 파이썬의 설계 철학은 코드 가독성에 중점을 두고 있으며 파이썬의 문법은 프로그래머가(C와 같은 언어에서 표현 가능한 것보다도) 더 적은 코드로도 자신의 생각을 표현하도록 한다. 파이썬은 프로그램의 크기에 상관없이 명확하게 프로그램 할 수 있는 구성 요소들을 제공한다. - 위키피디아
# - 1991년 네덜랜드 국립 연구소의 Guido Van Rossum에 의해 발표 (현 2018년, 27년의 역사)
# - “Python“이라는 이름은 코메디 프로그램 “Monty Python’s Flying Circus”에서 유래
# - Python의 원래 의미는 그리스 신화에 나오는 거대한 뱀
# - 2000년 Python 2 발표
# - 2008년 Python 3 발표
# - Python 2의 경우 2020년까지만 Maintenance가 이루어질 예정
# ### 1.2 파이썬 비교
# - 파이썬 vs 펄
# - 파이썬 vs 자바
# - 파이썬 vs R
# ### 1.3 프로그램 언어 일반
# - 컴퓨터가 돌아가는 구조 와 프로그램의 역할
# - 파이썬의 위치(하나의 프로그램)
# - 입력 --> 처리 --> 출력
# ### 1.4 파이썬 언어의 특징
# - 고급 프로그래밍 언어
# - 인터프리터 방식의 언어( vs 컴파일러 )
# - 인터랙티브 쉘(계산기, cmd, bash, ...)
# - 객체지향 언어
# - 독립적인 실행 환경 제공
# #### <참고> 실행방식에 따른 분류
# <center>구분|<center>인터프리터 방식|<center>컴파일러 방식
# :----:|:----|:----
# 장점|프로그램의 이식성이 높다|실행속도가 빠르다
# |배우기 쉽다|효율적인 실행 코드가 생성된다
# 단점|실행속도가 느리다|배우기 어렵다
# |실행시 인터프리터가 항상 필요하다|OS에 종속적이다(실행코드의 이식성이 없다)
# 예|파이썬, 자바스크립트, 쉘스크립트 등|C, C++, Fortran 등
# #### <참고> 프로그래밍 언어의 분류
# <center>구분|<center>저급 프로그래밍 언어|<center>고급 프로그래밍 언어
# :---:|:---|:---
# 장점|컴퓨터가 직접 이해하므로 실행이 빠르고 강력하다|사람이 이해하기 쉬우므로 프로그램의 작성이 쉽고 작성된 프로그램이 읽기 쉽다
# |시스템을 세부적으로 조작 할 수 있다|오류의 수정이 쉽다
# 단점|사람이 이해하기 어려우며 사용이 어렵다|저급 프로그래밍 언어에 비해 실행 속도가 느리다
# |사용범위가 제한적이다|번역이라는 추가 작업이 필요하다
# 예|기계어, 어셈블리어|C, C++, JAVA, Python, PHP, C# 등
# ### 1.5 파이썬 패키지(Library) 구조 및 사용
# - 패키지(Library), Framework의 차이
# - 파이썬의 한계와 C 라이브러리를 통한 극복
# - 대부분 C, C++ 로 작성
# ### 1.6 패키지 인스톨
# - 소스 컴파일
# - 바이너리 인스톨
# - pip(cmd 명령어)
# ### 1.7 개발환경
# - Terminal, Editor
# - IPython, jupyter notebook, Anaconda, ...
# - jupyter notebook
# ### 1.8 Compiler / Interpreter
# Compiler로 생성한 프로그램
# - OS와 직접 Communication
# Interpreter( 계산기 )
# - Interpreter 프로그램을 통해서 OS와 Communication
# ### 1.9 Interactive Shell / Script Language
# Interactive Shell
# - Data 분석, 파일럿 코드 작성, 등
# - 단계별 작업
# - 오류 및 정보(로그)등을 직접 확인하면서 작업
# - IPython, Jupyter notebook
# Script Language
# - 자동화, Deployment, 등
# - 오류 및 예외 처리 필요
# - 로그 생성 필요
# - Text editor, PyCharm, VSCode
# #### <참고> 소프트웨어 다운로드 및 설치
#
# [파이썬 다운로드](https://www.python.org/downloads/)
#
# [아나콘다 버전별 다운로드](https://repo.anaconda.com/archive/)
#
# python 3.6 ==> Anaconda3-5.2.0-Linux-x86_64.sh
# <br>
# **주의: 설치시 환경변수( PATH ) 설정**
# #### <참고> konlpy 설치 - 윈도우
# 1. jre 설치
# - oracle site 에서 다운로드 후 설치
# - file name: jre-8u191-windows-x64.exe
# <br>
# 2. JPype1 설치
# - windows 버전과 python 버전에 맞는 파일 다운로드 후 설치
# - [참고 사이트](https://konlpy-ko.readthedocs.io/ko/v0.4.3/install/)
# - [다운로드 사이트](https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype)
# <br>
# - pip install --upgrade pip
# - pip install JPype1-0.6.3-cp36-cp36m-win_amd64.whl
# <br>
# 3. konlpy 설치
# - pip install konlpy
#
# ---
# # 2. 파이썬 활용
# ### 2.1 파이썬은 각 분야에서 활용
# - 스크립트, 시스템프로그램, 네트위크 프로그램, 웹, 데이터분석, 머신러닝 등
# - 처음부터 다 만들기보다는 패키지를 이용(단 학습필요)
# ### 2.2 데이터분석에서 쓰는 파이썬
# - 전통적인 의미의 프로그램은 아님
# - 프로그램의 일부만 이용
# - 에러처리, 로그 등이 없어도 관계없음
# - 직접 눈으로 보면서 확인, 인터렉티브 쉘
# ---
# # 3. Jupyter notebook 활용
# ### 3.1 Cell
# - Code: 파이썬 코드를 실행할 수 있는 블럭
# - Markdown: 마크다운 문법이 적용되는 블럭
# ### 3.2 Mode
# - Edit Mode
# - 셀 안의 내용을 편집할 수 있는 상태
# - 셀 위에서 Enter 키를 눌러 셀 내용을 편집할 수 있다.
# <br>
# - Command Mode
# - 셀 밖에서 해당 노트북을 명령어로 컨트롤할 수 있는 상태
# - 셀 위에서 ESC 키를 눌러 명령을 내릴 수 있다.
# - `h`를 눌러 도움말을 볼 수 있다.
# ---
# # 기타
# ### 코딩규약
# - 주석
# - 들여쓰기
# - 상수명, 변수명, 함수명, 클래스명
# ```python
# # 상수
# MAX_CNT = 3
#
# # 변수
# val_i = 1
# _val, __val
#
# # Function
# def f_a():
# return
#
# # Class
# Car, SportCar, Student
# ```
#
# In[ ]:
# In[ ]:
# ---
# In[ ]:
# end of file
# In[ ]:
반응형
LIST
'Programming' 카테고리의 다른 글
[Python][문법] 기초 - 3. 연산자_흐름제어 (0) | 2022.01.02 |
---|---|
[Python][문법] 기초 - 2. 변수 타입 (0) | 2022.01.02 |
[Python][Library] 라이브러리 별 기능 요약 (0) | 2022.01.02 |
[Python][Library] 3. matplotlib - 1. 시각화 (0) | 2022.01.02 |
[Python][Library] 2. Pandas - 5. 시계열 (0) | 2022.01.02 |