본문 바로가기
  • 조금 느려도, 꾸준히
반응형

Artificial Intelligence/Machine Learning26

핸즈온 머신러닝(3) - 머신러닝 프로젝트 5 # 텍스트와 범주형 특성 다루기 앞서 다룬 ocean_proximity 가 텍스트 데이터타입이라 중간값을 계산하지 않고 남겨 두었다. housing_cat = housing['ocean_proximity'] housing_cat.head(10) 머신러닝 알고리즘이 다루기 쉽게 ocean_proximity의 카테고리를 텍스트에서 숫자로 바꿔줄 필요가 있다. 이를 위해 각 카테고리를 다른 정숫값으로 매핑해주는 pandas의 factorize() 메서드를 사용한다. housing_cat_encoded, housing_categories = housing_cat.factorize() housing_cat_encoded[:10] housing_categories # array([0, 0, 1, 2, 0, 2, 0.. 2020. 1. 21.
핸즈온 머신러닝(3) - 사이킷런 설계철학[참고] #사이킷런 설계 철학 - 사이킷런의 API 는 잘 설계되어 있으며 몇가지 설계 원칙에 따라 만들어져 있다. - 자세한 내용은 API design for machine learning software: experiences from the scikit-learn project 에서 확인 할 수 있다. 1. 일관성 - 추정기(estimator): 데이터셋을 기반으로 일련의 모델 파라미터들을 추정하는 객체를 추정기라고 한다. (imputer 객체도 추정기이다) 추정 자체는 fit() 메서드에 의해 수행되고 하나의 매개변수로 하나의 데이터셋만 전달한다(지도 학습 알고리즘에서는 매개변수가 두 개로, 두 번째 데이터셋은 레이블을 담고 있다). 추정 과정에서 필요한 다른 매개변수들은 모두 하이퍼파라미터로 간주되고( .. 2020. 1. 21.
핸즈온 머신러닝(3) - 머신러닝 프로젝트 4 # 머신러닝 알고리즘을 위한 데이터 준비 - 머신러닝 알고리즘을 위해 데이터를 준비할 때, 수동으로 작업하는 대신 함수를 만들어 자동화 해야 하는 이유가 있다. 1) 어떤 데이터셋에 대해서도 데이터 변환을 손쉽게 반복할 수 있음 2) 향후 프로젝트에 사용할 수 있는 변환 라이브러리를 점진적으로 구축할 수 있음 3) 실제 시스템에서 알고리즘에 새 데이터를 주입하기 전에 변환시키는 데 이 함수를 사용할 수 있음 4) 여러가지 데이터 변환을 쉽게 시도해볼 수 있고 어떤 조합이 가장 좋은지 확인하는데 편리 - 예측 변수와 타깃 값에 같은 변형을 적용하지 않기 위해서 예측 변수와 레이블을 분리한다. drop() 함수는 데이터 복사본을 만들며, strat_train_set에는 영향을 주지 않는다. housing =.. 2020. 1. 21.
핸즈온 머신러닝(3) - 머신러닝 프로젝트 3 # 데이터 이해를 위한 탐색과 시각화 -이번 프로젝트에서는 훈련 세트에 대해서만 탐색, 훈련 세트가 매우 클 경우 탐색을 위한 세트를 별도로 샘플링 할 수도 있다. 예제에 나온 훈련 세트는 크기가 작으므로 훈련 세트 전체를 사용함. - 먼저 훈련세트의 손상 방지를 위해 복사본을 만들어두도록 한다. housing = strat_train_set.copy() -지리 정보(위도, 경도)가 있으므로 모든 구역을 산점도로 만들어 데이터를 시각화해 본다. ax = housing.plot(kind="scatter", x="longitude", y="latitude") ax.set(xlabel='longitude', ylabel='latitude') - 위 산점도만 보아서는 특별한 패턴을 딱히 찾을 수 없어 보인다. .. 2020. 1. 20.
핸즈온 머신러닝(3) - 머신러닝 프로젝트 2 Tutorial : 구역의 데이터들을 기반으로 중간 주택 가격을 예측하기. #데이터 다운로드: housing.csv 를 압축한 housing.tgz 파일 - 온라인에서 tgz 파일을 내려받고 csv 로 자동 압축 해제하는 스크립트 * 다운로드 url에 접근하기 위해 urllib, tgz파일 처리를 위해 tarfile 라이브러리를 이용했음 * 필자는 파일을 저장할 디렉토리를 기본 디렉토리 + datasets + housing으로 설정 import os import tarfile from six.moves import urllib DOWNLOAD_ROOT='https://raw.githubusercontent.com/ageron/handson-ml/master/' HOUSING_PATH = os.path.j.. 2020. 1. 20.
핸즈온 머신러닝(3) - 머신러닝 프로젝트 1 머신러닝 프로젝트의 주요 단계 1. 큰 그림 보기 2. 데이터 수집하기 3. 데이터로부터 insight 를 얻기 위해 탐색, 시각화하기 4. 머신러닝 알고리즘을 위한 데이터 준비하기 5. 모델을 선택하고 훈련시키기 6. 모델을 상세하게 조정하기 7. 솔루션 제시 8. 시스템 론칭, 모니터링하고 유지 보수하기 1. 실제 데이터로 작업하기 -데이터를 구하기 좋은 곳 1) 유명한 공개 데이터 저장소 - UC 얼바인 머신러닝 저장소 - Kaggle 데이터셋 - 아마존 AWS 데이터셋 2) 메타 포털(공개 데이터 저장소 나열) - dataportlas - opendatamonitor - quandl 3) 기타 - 위키백과 머신러닝 데이터셋 목록 - Quora.com 질문 - 데이터셋 서브레딧 #문제 정의: 머신러.. 2020. 1. 20.
반응형