본문 바로가기
Hobby/Hobby_4 - Coding

[패스트캠퍼스 후기 1] Python Programming 기초 - 1

by 와우멍 2020. 11. 3.

안녕하세요 와우멍입니다.

 코로나 시국에 회사 내/외부 교육들이 모두 취소되면서, 복지차원으로 패스트캠퍼스의 온라인 강의를 들을 기회를 얻게 되었습니다.

 연구하면서 필요한 것들을 덕지덕지 찾아가며 해왔었기에, 한번쯤은  체계적으로 배워보고 싶었는데 수강신청 성공한 게 너무 행복하네요 허헛..

 강의의 명칭은 "머신러닝과 데이터분석 AtoZ"입니다.

각 챕터에 대한 설명은 아래와 같습니다. 요건 좀 기니까 접어둘께요! 필요한 분들 펼쳐서 봐주세요:-)

더보기

강의 목차

01. Python Programming 기초

 - 파이썬을 아직 접해보지 않은 분들을 위한 파트입니다. 파이썬의 기초적인 문법부터 
클래스와 인스턴스, 정규표현식까지 꼭 배워야하는 문법들을 학습합니다. 

02. 데이터 수집을 위한 Python (Crawling) 
 - 파이썬은 웹 크롤링을 위한 대표적인 언어입니다. 반복되는 작업을 효율적으로 줄일 
수 있는 크롤링을 위한 간단한 문법과 실제 예제를 통해 크롤링을 배워봅니다. 

03. 데이터 처리를 위한 Python (Numpy) 
 - 파이썬은 수치계산과 백터연산에 최적화된 라이브러리 numpy를 제공하고 있습니다. 
numpy를 통해 데이터 처리의 기초를 학습해봅니다. 

04. 데이터 분석을 위한 Python (Pandas) 
 - 데이터는 ‘엑셀’과 같이 행과 열로 이루어져 있습니다. 파이썬은 pandas를 통해 
행렬로 이루어진 데이터프레임을 다룰 수 있습니다. pandas에 대해 알아봅니다. 

05. Machine learning의 개념과 종류 
 - 본격적으로 머신러닝을 학습하기 전에 머신러닝과 딥러닝 전반에 대한 개념을 
숙지합니다. 

06. 회귀분석 
 - 머신러닝의 가장 기본 ‘회귀분석’을 알아봅니다. 회귀분석을 통해 지도학습의 개념을 
이해하고 나아가 차원축소를 위한 PCA도 간단하게 다뤄봅니다. 

07. 기본적인 Machine learning 모형 
 - 대표적으로 사용되는 머신러닝 모형은 나이브베이즈, KNN, LDA, SVM, 
의사결정나무, 신경망 총 6개 정도로 추려볼 수 있습니다. 수많은 알고리즘들이 더 
있지만 기본적으로 알아야 하는 6개 알고리즘을 먼저 알아보고 머신러닝의 개념을 더 
깊게 이해합니다. 

08. 앙상블 기법의 종류와 원리 
 - 앞에서 배운 알고리즘들을 이리저리 섞어서 더 좋은 정확도를 내는 방법으로 앙상블 
기법이 사용됩니다. 앙상블의 원리와 개념을 실습을 통해 알아봅니다. 

09. 클러스터링 
 - K-means 클러스터링은 비지도학습의 가장 기본적인 모형입니다. 이를 먼저 이해하고 
더 나아가 Hierarchical 클러스터링과 DBSCAN 클러스터링까지 알아봅니다. 

10. 불균형 데이터 
 - 실제 데이터를 마주하면 항상 일정한 비중의 데이터가 주어지지 않습니다. 불균형 
데이터를 받았을 때 어떤 방식으로 처리해야 좋은 성능을 얻어낼 수 있을지 
알아봅니다. 

11. 빅콘테스트 Review 
 - 강사님이 참여한 빅콘테스트에 대해 개발 과정과 인사이트를 공유합니다. 

12. 딥러닝 
딥러닝은 신경망 알고리즘으로 구성된 머신러닝의 한 기법입니다. 신경망의 원리와 
손실함수, 최적화 알고리즘 등을 통해 딥러닝을 이해하고 대표적인 딥러닝 모델인 
CNN, RNN에 대해 알아봅니다. 

13~17. [Project] 
지금까지 배운 내용을 활용해 단계적으로 실습 프로젝트에 도전해봅니다.

01. Python Programming 기초
02. 데이터 수집을 위한 Python (Crawling) 
03. 데이터 처리를 위한 Python (Numpy) 
04. 데이터 분석을 위한 Python (Pandas) 
05. Machine learning의 개념과 종류 
06. 회귀분석 
07. 기본적인 Machine learning 모형 
08. 앙상블 기법의 종류와 원리 
09. 클러스터링 
10. 불균형 데이터 
11. 빅콘테스트 Review 
12. 딥러닝 
13~17. [Project] 

패스트캠퍼스 Python Programming 기초 강의 후기 및 정리

 오늘은 첫 챕터인 01. Python Programming 기초를 요약하여 정리하려 합니다.

 이 부분은 사실 글로 쓰는 것보다 한번 작성해보는게 더 이해가 편하니, 완전 기본에 해당하는 부분은 완전 압축해서 정리하겠습니다.


01~03강. 파이썬 개발환경 설정 & Jupyter notebook 설치 및 사용법 소개

 pip를 설치해서 package를 일일이 설치해도 괜찮음. 근데 번거로우니 anaconda를 설치하자

 python 3.7 + anaconda 설치jupyter notebook을 이용해서 실습할 것이다.

 Jupyter notebook 기능

  - 주석 = Mark down (코드에 설명 추가)

  - 초록색: 입력모드 - 코드 입력하는 것

  - 파란색: 명령모드, 입력모드에서 esc 누르면 됨.

    - h 누르면 help가 뜨면서 단축키들이 listup 됨.

    - m 누르면 markdown 모드  - **python** bold체, 등 markdown 모드에서 언어 형식 정리해보기.

    - y누르면 다시 명령모드


04~05강. 변수의 이해 및 기본 데이터 타입

= : 대입 연산자, 왼쪽에 명시된 변수에 해당 값을 대입 (==는 비교 연산자)

a = 10 라고 하면 a라는 변수에 10이라는 숫자가 할당됨.

comment(주석): 코드에서 #으로 시작하는 뒷 부분은 실행되지 않음, 메모로 사용.

print 함수: 해당 변수의 값을 출력 ,(콤마)로 여러 변수를 나열하면 한줄에 출력

sep : 구분자, 각 출력할 변수 사이에서 구별하는 역할 // end : 마지막에 출력할 문자열

variable naming (변수 이름 규칙): 숫자로 시작하는 이름을 제외하고 영문 대소문자, _, 숫자로 구성가능

  • 일반적으로 해당 변수를 표현하고자 하는 정확하고 간결한 이름을 사용하는 것이 원칙

reserved keywords (예약어): python에서 미리 선점하여 사용중인 키워드로 변수, 함수, 클래스 등등의 사용자 정의 이름으로 사용할 수 없음. (e.g., for while if elif else class try 등)

기본 데이터타입: int (정수)/ float (실수)/ str (문자열)/ boolean (불리언)

type(b) 를 통해 b가 어떤 타입의 데이터인지 확인할 수 있다.

comparison operator(비교 연산자): 비교 연산자의 결과는 bool 타입

 

 <, > 초과, 미만 // <=, >= (작거나 같다, 크거나 같다) //  == 같다 // != 같지 않다.

사칙연산과 연산 우선순위: +, -, *, /일반적인 기호를 사용, 계산의 순서는 앞부터 뒤로, 곱하기나누기가 먼저, 괄호안부터 먼저 계산하는 일반적인 사칙연산의 순서와 같음.


06강. 문자열 타입의 이해

string (문자열) 복수개의 문자를 순서대로 나열 한 것

 ' ', " " : 한줄 문자열 표현

 ''' ''' : 여러줄에 걸쳐 문자열 표현 가능, 코드의 개괄에 대해 작성할 때 주로 사용함.

 

escape string (이스케이프 문자): 문자열내의 일부 문자의 의미를 달리하여 특정한 효과를 주는 것 

\n : new line // \t : tab

 

indexing & slicing string (문자열 인덱스 및 추출)

  • 문자열의 각 문자는 순서가 인덱스, 첫번째 문자부터 마지막까지 차례대로의 순서를 가짐

앞부터 시작하면 index는 0부터 카운트, 뒤부터 시작하면  index는 -1부터 시작. 
slicing는 index가 2부터 5이니 3번째 문자부터 6번째 문자까지가 출력 됨 (시작이 0부터니)

문자열 함수: 특정 기능을 호출하여 해당 기능을 사용 가능하도록 구성

a를 모두 대문자로: a.upper() // a를 모두 소문자로: a.lower()

format: 문자열을 출력할 때, 문자열 안에 변수를 넣어서 출력할 수 있다 (한줄은 두번째 예시와 같이 단순하게 해도 되긴 하지만, 대량의 데이터를 처리할 때에 작업을 편리하게 해준다.)

기본적으로 다른 데이터 타입은 한 번에 출력이 안된다. 위의 예시는 문자형과 실수형을 한 번에 출력하려 하니 에러가 발생한 것.
위 예시에서 aa와 a는 같은 문자열을 반환하지만, format 함수를 사용하는 a가 문장구조가 더 직관적이며 깔끔하다.

split: 문자열을 특정한 문자 구분하여(delimiter) 문자열의 리스트로 치환

w가 들어간 곳들을 기점으로 문자열을 분리해서 출력


07~09강. 컬렉션 타입의 이해(list, tuple)

 

 

 

 


10~11강. 컬렉션 타입의 이해(dict, set)

 

댓글