저랑 같이 방학때 머신러닝해요
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 |