본문 바로가기
ML study

핸즈온 머신러닝 유의사항!(ft. housing.csv) 53pg~100pg

by WelcomeBro 2020. 7. 9.
반응형

housing.csv
1.36MB
housing.tgz
0.39MB

저랑 같이 방학때 머신러닝해요

https://github.com/samuel0325/ML

 

2일차!

머신러닝 할 때 주의 사항

나쁜 알고리즘과 나쁜 데이터를 조심하자!

 

나쁜 데이터!

1. 훈련 데이터 많아야 한다~ 보통은 다다익선이다!

2. 대표성이 없는 편향된(biased) 데이터

    전세계를 대상으로 조사하는데 한국인만 조사하면 안된다~

3. 낮은 품질의 데이터

    이상치(outlier)가 많은 것, 특성이 일부 빠져 있는 데이터

4. 관련 없는 특성 데이터의 학습

 

나쁜 알고리즘!

1. 과대적합 : 훈련데이터에 너무 잘 맞지만 일반성 떨어질때

    과대적합 피하는 법  : 파라미터 수가 적은 모델을 선택, 훈련 데이터의 특성 수를 줄임,

    모델에 제약을 가해 단순화, 훈련 데이터를 많이 모아, 훈련 데이터의 잡음을 제거(오류수정, 이상치 제거)

2. 과소적합 : 모델이 너무 단순해 내재 구조를 학습하지 못할 때 일어남

    피하는 법 : 모델 파라미터가 더 많은 강력한 모델을 선택, 학습 알고리즘에 더 좋은 특성을 제공

    모델의 제약을 줄임(하이퍼 파라미터 감소)

    여기서 잠깐 하이퍼 파라미터와 파라미터의 차이는?!?!?!?

    하이퍼 파라미터 : 인간이 정해줘야하는 값 ex) k-means의 k 값

    파라미터 : 기계가 정하는 값

    ex) linear regression에서 y = ax +b 일 때 a와 b는 기계가 찾는 것이다 인간이 고치는게 아니다.

    

어떻게 일반화 오류를 막는가!

홀드아웃 검증(holdout validation) : 훈련세트의 일부를 떼어내어 여러 후보 모델을 평가하고 가장 좋은 걸 선택하는 것

교차 검증 : 작은 검증세트를 여러 개를 사용해 반복적인 교차 검증을 수행

 

2장 머신러닝 프로젝트 처음부터 끝까지

회귀 문제 성능지표

RSME(root mean square error) 평균 제곱근 오차 : 오차가 커질수록 이 값이 더 커져 

MAE(mean absolute error) 평균 절대 오차 : 그냥 RSME에서 제곱안하고 절대값씌워서 다 더한 것이다.

 

데이터명["항목명(column)"].value_counts()
수치 데이터가 아닌 것을 count하여 갯수를 세어줍니다

 

housing["income_cat"] = pd.cut(housing["median_income"], bins=[0., 1.5, 3.0, 4.5, 6., np.inf], labels=[1, 2, 3, 4, 5])

저 열을 bins에 수치대로 label을 붙여서 값을 내겠다.

 

corr_matrix = housing.corr()

각 변수를 연관지어서 생각해보겠다.

 

corr_matrix["median_house_value"].sort_values(ascending=False)

median_house_value 열에 대해서 내림차순으로 표준 상관계수(standard correlation coeffiecient) 높은거 먼저 나열하겠다.

 

이 장은 실습이 주인지라 따로 정리하기가 초금 그렇습니다.

실습 코드에서 housing.trz가 다운 받는 링크가 맛탱이가 가있는 것을 확인하여 

조금 애를 먹었습니다.

 

그냥 시키는데로 경로에다가 첨부한 파일 올려놓고 코드 돌리시면 될 겁니다!

 

파일은 첨부해 놓았습니다! 실습 코드는 아래에 있습니다.

https://nbviewer.jupyter.org/github/rickiepark/handson-ml2/blob/master/index.ipynb#Prerequisites

저의 머신러닝 스터디 깃입니다. 공부 되어 있는 만큼 구현되어 있습니다!

https://github.com/samuel0325/ML

 

samuel0325/ML

for machine learning study. Contribute to samuel0325/ML development by creating an account on GitHub.

github.com

혹시 깃으로 pull 해서 쓰시고 싶으시면 제가 원본 pull 해 놓았습니다!

https://github.com/samuel0325/handson-ml2  

 

모든 질문 아무거나 댓글로 남겨 주시면 감사하겠습니다!

반응형

'ML study' 카테고리의 다른 글

epoch, batch size, iteration 초간단 설명  (0) 2020.07.13
핸즈온 머신러닝 개론!(예제 링크)  (0) 2020.07.08