< '프로그래밍 공부/핸즈온 머신러닝 2판' 카테고리의 글 목록

프로그래밍 공부/핸즈온 머신러닝 2판 6

[핸즈온 머신러닝 2판] 3장 연습문제 3번 (타이타닉)

데이터셋 불러오기 import os import urllib.request TITANIC_PATH = os.path.join("datasets", "titanic") DOWNLOAD_URL = "https://raw.githubusercontent.com/rickiepark/handson-ml2/master/datasets/titanic/" def fetch_titanic_data(url=DOWNLOAD_URL, path=TITANIC_PATH): if not os.path.isdir(path): # 우선 디렉터리가 있는지 확인 os.makedirs(path) # 디렉터리가 없으므로 생성 for filename in ("train.csv", "test.csv"): filepath = os.path.joi..

[핸즈온 머신러닝 2판] 3장 분류 연습문제 2번

2. MNIST 이미지를 어느 방향으로든 한 픽셀 이동시킬 수 있는 함수를 만들어보세요. 그런 다음 훈련 세트에 있는 각 이미지에 대해 네 개의 이동된 복사본(방향마다 한 개씩) 을 만들어 훈련 세트에 추가하세요. 마지막으로 이 확장된 데이터셋에서 앞에서 찾은 최선의 모델을 훈련시키고 테스트 세트에서 정확도를 측정해보세요. 모델 성능이 더 높아졌는지 확인해보세요! 인위적으로 훈련 세트를 늘리는 이 기법을 데이터 증식 또는 훈련 세트 확장 이라고 합니다. #사용할 데이터셋과 모델 임포트 from sklearn.datasets import fetch_openml from sklearn.model_selection import GridSearchCV from sklearn.neighbors import KNe..

[핸즈온 머신러닝 2판] 3장 연습문제 1번

[1번] MNIST 데이터셋으로 분류기를 만들어 테스트 세트에서 97%의 정확도를 달성해보세요. (힌트 : KNeighborsClassifier 가 이 작업에 아주 잘 맞습니다. 좋은 하이퍼파라미터 값만 찾으면 됩니다. (wieghts와 n_neighbors 하이퍼파라미터로 그리드 탐색을 시도해보세요).) #사용할 데이터셋과 모델 임포트 from sklearn.datasets import fetch_openml from sklearn.model_selection import GridSearchCV from sklearn.neighbors import KNeighborsClassifier #넘파이 임포트 import numpy as np mnist = fetch_openml('mnist_784', vers..

[핸즈온 머신러닝 2판] 책의 결과와 실제 실습 결과가 다른 이유

항상 같을 수가 없다는 건 인지하고 있지만 알면 좋을 것 같기에 저장용으로 올려둠. 노트: 이 출력(그리고 이 노트북과 다른 노트북의 출력)이 책의 내용과 조금 다를 수 있습니다. 걱정할 필요 없습니다. 괜찮습니다! 달라지는 이유가 몇가지 있습니다: 첫째, 사이킷런과 다른 라이브러리들이 발전하면서 알고리즘이 조금씩 변경되기 때문에 얻어지는 결괏값이 바뀔 수 있습니다. 최신 사이킷런 버전을 사용한다면(일반적으로 권장됩니다) 책이나 이 노트북을 만들 때 사용한 버전과 다를 것이므로 차이가 납니다. 노트북은 최신으로 업데이트하려고 노력하지만 책의 내용은 그렇게 할 수 없습니다. 둘째, 많은 훈련 알고리즘은 확률적입니다. 즉 무작위성에 의존합니다. 이론적으로 의사 난수를 생성하도록 난순 생성기에 시드 값을 지정..

[핸즈온 머신러닝 2판] 3장 분류 / 정밀도와 재현율

정밀도란? - 양성 예측의 정확도 - TP / (TP + FP) - 진짜 양성의 수 / ( 진짜 양성의 수 + 거짓 양성의 수) ex) 이진 분류에서 실제 사과가 5개 있고 사과와 비슷한 과일이 5개 있다고 했을 때, 모델이 실제 사과가 7개가 있다고 예측했다고 가정하자. 그러면 진짜 양성의 수는 5개, 거짓 양성의 수는 2개이므로 정확도는 5 / 5+2 로 5/7 이다. 재현율이란? - 분류기가 정확하게 감지한 양성 샘플의 비율 - TP / (TP + FN) - 진짜 양성의 수 / ( 진짜 양성의 수 + 거짓 음성의 수) #거짓 음성의 수란 진짜 양성임에도 음성으로 분류한 수를 말함 ex) 정밀도의 예제와 같은 상황에서, 모델이 실제 사과가 4개가 있다고 예측했다고 가정하자. 이때 진짜 양성의 수는 5..

[핸즈온 머신러닝 2판] 2.7 모델 세부 튜닝

혼공머신에서 공부한 그리드서치(교차검증), 개념은 같지만 사용방법이 다르고 중요한건 매개변수의 정확한 뜻이 기억이 잘 안나서ㅠ 다시 기록해놓았다. from sklearn.model_selection import GridSearchCV param_grid = [ # 12(=3 X 4)개의 하이퍼 파라미터 조합을 시도합니다. {'n_estimators':[3, 10, 30], 'max_features': [2, 4, 6, 8]}, # bootstrap은 false로 하고 6(=2 X 3)개의 조합을 시도합니다. {'bootstrap': [False], 'n_estimators': [3, 10], 'max_features': [2, 3, 4]}, ] forest_reg = RandomForestRegresso..