2.4 데이터 이해를 위한 탐색과 시각화훈련세트를 손상시키지 않기 위해서 복사본을 만듭니다.housing = strat_train_set.copy() 2.4.1 지리적 데이터 시각화위도와 경도를 이용해서 모든 구역을 산점도로 데이터 시각화 가능합니다. housing.plot(kind="scatter", x="longitude", y="latitude")조금더 알아보기 쉽게 하기 위해서 alpha옵션을 사용합니다. housing.plot(kind="scatter", x="longitude", y="latitude", alpha=0.1) 주택가격을 매개변수로 시각화할 수 있습니다. jet과 매개변수 cmap을 사용합니다. housing.plot(kind="scatter", x="longitude", y="l..
2.3.4 테스트 세트 만들기일반적으로 어떤 알고리즘 이용할지 전에 자세히 파악해야한다고 생각합니다. 하지만, 뇌는 과대적합 편향이 강해서 겉으로 드러난 패턴에 속아 특정 머신러닝을 택할 수 있습니다. 이를 데이터 스누핑 편향이라고 합니다. 테스트 세트를 생성하는 것은 간단하게 무작위로 어떤 샘플을 데이터셋의 20%정로를 따로 두면 됩니다. import numpy as npdef split_train_test(data, test_ratio): shuffled_indices = np.random.permutation(len(data)) test_set_size = int(len(data)) * test_ratio test_indices = shuffled_indices[:test_set_size] trai..
2.2.3 가정검사가정을 나열하고 검사합니다. 이 과정에서 심각한 문제를 일찍 발견할 수도 있습니다. ex) 다음 컴포넌트에서 이 값이 그대로가 사용되지 않는 경우(저,중,고 카테고리 사용)라면 정확한 가격이 중요하지 않게 됩니다. 따라서 주어진 상황에서는 회귀보다 분류 작업이 맞게 됩니다. 만약 회귀 시스템이 구축된 이후에 이러한 사항을 발견하면 .. 마음이 힘들겠죠.. ㅠㅠ2.3 데이터 가져오기import osimport tarfilefrom six.moves import urllib DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml/master/"HOUSING_PATH = "datasets/housing"HOUSING_URL ..
2.2.1 문제정의비즈니스의 목적 정의가 가장 중요!모델 출력이 여러가지 다른 신호와 함께 다른 머신러닝 시스템에 입력으로 사용된다고 하면, 뒤따르는 시스템이 해당지역에 투자할 가치가 있는지 결정.(파이프라인) 이 결정이 (목적인) 수익에 직결되기 때문에 선행 컴포넌트에서 예측하는 값이 매우 중요. 이 때 적용하는 머신러닝 방법은?레이블 있는 훈련세트 = 지도학습값예측 = 회귀(다변량 회귀)w) 파이프라인데이터 처리 컴포넌트가 연속되어 있는 것을 데이터 파이프라인이라고 합니다. (데이터로 시스템을 돌린 결과를 받아서 그 값으로 다음 시스템을 시행(더 다음이 있을 수 있음) 후의 최종결과값을 내는 방식)비동기적으로 작동하는게 일반적이고, 독립적입니다. 2.2.2 성능 측정 지표 선택다음은 성능 측정 지표를..
2. 머신러닝 A-Z진행할 주요 단계큰그림데이터를 구함데이터 탐색 및 시각화 => 통찰머신러닝 알고리즘를 위한 데이터준비모델을 선택하고 훈련모델을 상세하게 조정솔루션을 제시시스템 론칭 & 유지보수, 모니터링 2.1 실제 데이터로 작업실제 데이터로 작업하는 것이 가장 좋음.공개된 데이터는공개 데이터 저장소(US얼바인 머신러닝저장소, 캐글 데이터셋, 아마존 AWS 데이터셋)메타 포털(dataportals.org, opendatamonitor.eu, qualdl.com)공개 데이터 나열 페이지(위키백과 머신러닝 데이터셋 목록, Quora.com, 레딧(데이터셋)여기서는 StatLib 저장소의 캘리포니아 주택 가격 데이터를 사용하고, 1990년 캘리포니아 인구조사 데이터를 기반으로 합니다. 학습용으로 좋은 데이..
1.4 머신러닝의 주요 도전 과제 1) 나쁜 데이터 1.4.1 충분하지 않은 양의 훈련 데이터간단한 문제에서도 수천 개의 데이터가 필요(훈련 데이터를 추가로 모으는 것이 항상 쉽거나 저렴하지 않음) 1.4.2 대표성 없는 훈련 데이터추가적인 데이터 샘플링 편향이 발생 1.4.3 낮은 품질의 데이터특성이 빠져 있기도 함. 아예 무시할지, 빠진 값만 채울지 고려 1.4.4 관련 없는 특성GIGO로 훈련에 사용할 좋은 특성을 찾는 것. 특성 공학유용한 특성을 선택하고, 특성을 결합하여 더 유용한 특성, 새로운 데이터로 새 특성 2) 나쁜 알고리즘1.4.5 훈련 데이터 과대적합일반화 주의! 훈련 데이터에 더 잘 맞더라도 실제로 예측을 믿기는 어려움. 특성을 줄이거나, 모델에 제약, 파라미터 수가 적은 모델 적용..
1.3.3 사례 기반 학습과 모델 기반 학습(일반화 기준) 예측을 만드는 것입니다. 다시 말해, 주어진 훈련 데이터로 학습하여, 훈련 데이터에서는 본적 없는 새로운 데이터로 일반화되어야 한다는 뜻입니다. 훈련 데이터에서 높은 성능을 내는 것이 좋지만 그게 전부는 아닙니다. 새로운 샘플에서 잘 작동하는 모델이 목표입니다. 1) 사례 기반 학습가장 간단한 형태의 학습은 단순히 기억하는 것. 스팸 필터를 이러한 방식으로 만들면 사용자가 스팸이라고 지정한 메일과 동일한 모든 메일을 스팸으로 분류합니다. 최악은 아니라도 최선이라고 할 수 없습니다. 스팸 메일과 동일한 메일은 스팸이라고 지정하는 대신 스팸 메일과 매우 유사한 메일을 구분하도록 스팸 필터를 프로그램할 수 있습니다. 유사도 측정입니다. 공통으로 포함한..
3) 준지도 학습(Semisupervised Learning)레이블이 있는 데이터가 아주 조금있는 경우ex) 구글 포토 호스팅 서비스가족사진 중 사람A가 사진 1,5,7에 사람B가 사진 3,4,5에 있음을 인식대부분 준지도 학습은 지도 학습과 비지도 학습의 조합으로 이루어져 있으며, 심층 신뢰 신경망은 여러 겹으로 쌓은 제한된 볼츠만 머신이라고 불리는 비지도 학습에 기초합니다. RBM으로 훈련된 다음 전체 시스템이 지도 학습 방식으로 세밀하게 조정하는 방식입니다. 4) 강화 학습(Reinforcement Learning)학습하는 시스템 = 에이전트환경을 관찰해서 행동으로 실행하고 그 결과로 보상 또는 벌점을 받는 방식시간이 지나면서 가장 큰 보상을 얻는‘정책’ = ‘최상의 전략’을 스스로 학습함. 정책 ..
1.3 머신러닝 시스템의 종류(사람의 감독, 실시간 점진 학습, 사례or모델) 1.3.1 지도학습과 비지도 학습학습하는 동안의 감독 형태나 정보량으로 분류하는 기준으로 지도 학습, 비지도 학습, 준지도 학습, 강화 학습으로 네 가지 주요 범주가 있음. 1) 지도학습(Supervised Learning)알고리즘에 주입하는 훈련 데이터에 레이블이라는 원하는 답이 포함ex) 훈련세트 : 신용카드(스팸), For U(스팸), 이력서(non스팸) → 새 샘플분류(classification): 전형적인 지도 학습 작업(스팸 필터)회귀(regression): 예측 변수를 통해서 타겟 수치를 예측(주행거리, 연식, 브랜드 등)을 통해 (중고차 가격) 예측 책에서 다루는 지도 학습 알고리즘k-최근접 이웃선형 회귀로지스틱..
1.1 머신러닝? 데이터로부터 학습하도록 컴퓨터를 프로그래밍하는 과학 기술명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 분야-아서 사무엘 1959w)훈련 세트(training set) = 학습하는 데 사용하는 example훈련 사례(training instance) = 각 훈련의 데이터 - 공학적 정의 이해작업T를 수행하는 프로그램의 성능을 P로 측정경험E로 성능 향상됐다면, 이 컴퓨터 프로그램은 작업T와 성능 측정 P에 대해 경험E로 학습-톰 미첼 1997ex) 스팸메일 필터 프로그램작업T = 새로운 메일이 스팸인지 구분경험E = 훈련 데이터성능 측정P = 정확하게 분류된 메일 비율(정확도accuracy, 기준은 직접 정의) 1.2 머신러닝 사용 이유? 일반 문제 해결 방식(규칙 작성이..