♣ 이번 노드 또한 어제와 마찬가지로 프로그래밍과 코드 리뷰 위주로 진행된 노드여서 LMS의 경우 공부한 부분까지 어떠한 개념들이 포함되어 있었는지 소개하는 방식으로 진행하려고 합니다.
♣ Python Master(풀잎) 는 오늘로서 마무리가 되어 다음 주부터 새로운 풀잎을 들어가게 되었습니다. 마지막이 좀 힘들고 어려운 파트였지만, 무사히 마무리할 수 있어 좋았습니다!
♣ Python Master 진행에 앞서, 금요일 오후에 진행하는 프로그램에 대한 OT가 진행되어 학습시간이 적어서 정리내용이 평소보다 다소 적은 편입니다.
Sequence 1. LMS
- 포켓몬 데이터 Set을 활용하여 탐색적 데이터 분석(EDA)을 수행할 수 있다.
- EDA는 데이터를 분석해 더 좋은 머신러닝 모델을 구축하기 위한 필수 과정이다.
- 데이터를 다루는 작업을 할 때는 데이터 Set에 대한 기초적인 이해가 필요하다.
- numpy, pandas는 1차원 or 2차원 형식의 표를 다루기에 적합한 라이브러리이다.
- matplotlib, seaborn은 모두 데이터 등을 그래프로 시각화하는 라이브러리이다.
- seaborn은 matplotlib의 상위 버전으로 더 고도화된 그래프를 그릴 수도 있다.
- isnull() : 결측치를 확인하는 메서드
- len(set(pokemon["#"])) 코드에서 set() 구문이 포함되어 있는데, 파이썬 기반 라이브러리로 작업을 하기 때문에 파이썬의 Set 자료형의 특성이 적용된다. 따라서 set(pokemon["#"]) 의 데이터는 중복된 데이터를 가질 수 없다.
- 전체 포켓몬 데이터는 총 800개가 있었지만, 중복을 제외하면 이보다 더 적을 수 있다.
- 데이터가 비었다는 의미의 NaN 값의 개수를 확인하는 함수 메서드는 isna() 이다.
- figure.set_size_inches(x, y) : 그래프 크기를 조정하는 메서드로, 작업하는 컴퓨터의 화면 해상도에 따라 적절히 선택하는 것이 좋다. 여기서 x, y는 숫자형이다.
- (참고) round(60 / 11, 2) = 5.45 : 60에서 11을 나누어 표현하되 ,뒤의 2는 소수점 둘째 자리까지 표현하라는 의미이다.
- isalpha() 에서는 모든 문자가 알파벳으로만 구성되었는지 아닌지를 판단하는 메서드로 모두 알파벳으로 구성되지 않았다면 False이다. 따라서 이름에 띄어쓰기가 있다면 해당 이름에 대한 isalpha()의 결과는 False가 된다.
- pandas의 replace 함수는 현재 문자열을 원하는 다른 문자열로 바꿀 때 사용한다.
- 정규표현식 : 특정한 조건을 만족하는 문자를 검색하거나 변환하는 작업 등에서 간편성을 보장하는 도구로, 문자열 처리 방법 중 하나이다. 정규표현식 개념
- : 정규표현식에서 반복을 나타내는 기호 (실제 글에서는 별표 표시가 안되고 점으로 표시되는데, Shift 키를 누른 상태에서 숫자 8을 누르면 된다.)
- list나 set 자료형에서 각 요소의 개수를 다루고 싶을 때 파이썬에서는 collection이라는 패키지를 사용해 편리하게 처리할 수 있다.
- 머신러닝 모델을 학습하는 데 있어 아무리 문자열 데이터가 소중한 정보를 가지고 있다 해도 문자열을 그대로 모델 학습에 사용할 수는 없다. 숫자나 부울 데이터로 변환해서 정보를 처리하는 것이 모델의 성능을 향상시키는 데 도움이 된다.
- 범주형 데이터를 수치형 데이터로 변환하는 2가지 인코딩 기술 : Integer Encoding, One-Hot Encoding
- Integer Encoding은 각각의 카테고리를 숫자로 변환하는 방식이다.
- One-Hot Encoding은 오직 하나의 1, 그리고 나머지는 모두 0으로 이루어진 벡터로 변환하는 방식이다.
Sequence 2. Python Master (마지막 수업)