티스토리 뷰

 

모처럼 공휴일을 맞아 머리를 식히러 연구 대신 Python 실습해보았다.

 

실습 예제: https://www.kaggle.com/christianlillelund/house-prices-xgboost-bayesianoptimization?scriptVersionId=38136393 

 

중간중간 막혔던 부분들을 메모해서 어떻게 넘어갔는지 기록해볼까 한다.

 

[1] FileNotFoundError: [Errno 2] No such file or directory

 Step 1. 해당 폴더에서 경로를 직접 찾는다.

 Step 2. 찾은 주소에 \를 한개 씩 더붙이니 해결 된다.

 

[2] 코드 공부

- 중간중간 명령어에서 df라고 나오는데 data frame의 약자였다.
- matplotlib에서 plt는 흔히 줄여쓰는 plotting의 약자였다.
- 판다스 라이브러리중 loc과 iloc이 나오는데 이것은 각각 location과 integer location의 약자였다.
   loc: 사람이 읽을 수 있게 label 또는 boolean array로 접근하는 것이 특징
   iloc: 컴퓨터가 읽을 수 있게 indexing 값으로 접근하는 것이 특징 (0부터 시작한다는 것 주의)

- sns가 종종 나오는데, 통계 데이터 시각화와 관련된 패키지인 'seaborn'의 약자였다.
 lineplot / boxplot 등이 가능하다는 것 확인

 

[3] Feature engineering
 - 전처리 단계이다.
 - Missing value가 너무 많은 변수는 drop
 - 이후에 missing value는 None으로 바꿔준다.

[4] Correlation study
 - heatmap을 통해서 변수 간의 연관성을 본다.
 - 상호 상관성이 높은 변수는 미리 제거해준다.

 

[5] Outlier detection & skewness 교정

- Skewness는 log plot을 활용해 처리한다.

 

[6] One-hot encoding (원-핫 인코딩)

 -  머신러닝 알고리즘은 문자열 값을 입력 값으로 허락하지 않기 때문에 모든 문자열 값들을 숫자형으로 인코딩하는 전처리 작업

 - 각각의 문자열을 숫자 0,1,2 등으로 저장한다. 고유 문자열 개수만큼 True / False를 전부 지정해주어야 한다.

 - Scaling 작업을 통하여;

  1) 다차원의 값들을 비교 분석하기 쉽게
  2) 독립 변수의 공분산 행렬의 조건수(condition number)를 감소 
    => 최적화 과정에서의 안정성 및 수렴 속도를 향상