분류 전체보기 108

[핸즈온 머신러닝] Chapter 7. 앙상블 학습과 랜덤 포레스트

7장 앙상블 학습과 랜덤 포레스트¶ 결정 트리의 앙상블을 랜덤 포레스트(random forest) 7.1 투표 기반 분류기¶ 다수결 투표로 정해지는 분류기를 직접 투표(hard voting) 분류기라고 정의 앙상블 방법은 예측기가 가능한 한 서로 독립적일 때 최고의 성능을 발휘함 In [1]: from sklearn.model_selection import train_test_split from sklearn.datasets import make_moons X, y = make_moons(n_samples=500, noise=0.30, random_state=42) X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42) In ..

[핸즈온 머신러닝] Chapter 6. 결정 트리

6장 결정 트리¶ 결정 트리(decision tree)는 분류와 회귀 작업 그리고 다중출력 작업도 가능한 다재다능한 머신러닝 알고리즘 복잡한 데이터셋도 학습할 수 있는 강력한 알고리즘, 랜덤 포레스트의 기본 구성 요소 6.1 결정 트리 학습과 시각화¶6.2 예측하기¶ 결정 트리의 여러 장점 중 하나는 데이터 전처리가 거의 필요하지 않음, 특성의 스케일을 맞추거나 평균을 원점에 맞추는 작업이 필요하지 않음 결정 트리는 직관적이고 결정 방식을 이해하기 쉬운 하이트박스 모델 / 랜덤 포레스트나 신경망은 블랙박스 모델 6.3 클래스 확률 추정¶ 결정 트리는 한 샘플이 특정 클래스 k에 속할 확률을 추정해 줌 6.4 CART 훈련 알고리즘¶ 사이킷런은 결정 트리를 훈련시키기 위해 CART(classificatio..

[핸즈온 머신러닝] Chapter 5. 서포트 벡터 머신

5장 서포트 벡터 머신¶ 서포트 벡터 머신(SVM)은 매우 강력하고 선형이나 비선형 분류, 회귀, 이상치 탐색에도 사용할 수 있는 다목적 머신러닝 모델 5.1 선형 SVM 분류¶ 5.1.1 소프트 마진 분류¶ 모든 샘플이 올바르게 분류되어 있다면 이를 하드 마진 분류라고 함, 하지만 데이터가 선형적으로 구분될 수 있어야 제대로 작동하며 이상치에 민감함 소프트 마진 분류 : 하드 마진 분류보다 더 유연한 모델로 도로의 폭을 가능한 한 넓게 유지하는 것과 마진 오류 사이에 적절한 균형을 잡는 것 SVM 모델에서 하이퍼파라미터 C를 조절하여 과대적합을 규제할 수 있음 SVM 분류기는 로지스틱 회귀 분류기와는 다르게 클래스에 대한 확률을 제공하지 않음 5.2 비선형 SVM 분류¶ 비선형 데이터셋을 다루는 한 가..

[핸즈온 머신러닝] Chapter 4. 모델 훈련

4장 모델 훈련¶ 4.1 선형 회귀¶ 선형 모델은 입력 특성의 가중치 합과 편향(절편)이라는 상수를 더해 예측을 만듦 4.1.1 정규방정식¶ 비용 함수를 최소화하는 값을 찾기 위한 해석적인 방법, 이를 정규방정식이라고 합니다. 유사역행렬 자체는 특잇값 분해(SVD)라 부르는 표준 행렬 분해 기법을 사용해 계산 4.1.2 계산 복잡도¶ 정규방정식에서 역행렬 계산하는 것보다 SVD 방법에서 사용하는 계산 방법이 훨씬 더 빠름 4.2 경사 하강법(GD)¶ 여러 종류의 문제에서 최적의 해법을 찾는 일반적인 최적화 알고리즘 학습률 하이퍼파라미터가 중요 4.2.1 배치 경사 하강법¶ 반복 횟수를 아주 크게 지정하고 그레이디언트 벡터가 아주 작어지면, 즉 벡터의 노름이 어떤값(허용오차)보다 작아지면 경사 하강법이 최..

[핸즈온 머신러닝] Chapter 3. 분류

3장 분류¶3.1 MNIST¶ 손으로 쓴 70,000개의 작은 숫자 이미지를 모은 MNIST 데이터셋 사용 In [1]: # 공통 모듈 임포트 import numpy as np import os # mnist 데이터 불러오기 from sklearn.datasets import fetch_openml mnist = fetch_openml('mnist_784', version=1) C:\Users\20229069\AppData\Local\anaconda3\Lib\site-packages\sklearn\datasets\_openml.py:1002: FutureWarning: The default value of `parser` will change from `'liac-arff'` to `&#3..

[핸즈온 머신러닝] Chapter 2. 머신러닝 프로젝트 처음부터 끝까지

2장 머신러닝 프로젝트 처음부터 끝까지¶○ 프로젝트 순서 큰 그림을 봅니다. 데이터를 구합니다. 데이터로부터 통찰을 얻기 위해 탐색하고 시각화합니다. 머신러닝 알고리즘을 위해 데이터를 준비합니다. 모델을 선택하고 훈련시킵니다. 모델을 상세하게 조정합니다. 솔루션을 제시합니다. 시스템을 론칭하고 모니터링하고 유지 보수합니다. In [1]: # 공통 모듈 임포트 import numpy as np import os import tarfile import urllib.request # 그림을 저장할 위치 PROJECT_ROOT_DIR = "." CHAPTER_ID = "end_to_end_project" IMAGES_PATH = os.path.join(PROJECT_ROOT_DIR, "images", CHAPT..

[핸즈온 머신러닝] Chapter 1. 한눈에 보는 머신러닝

1장 한눈에 보는 머신러닝¶1.1 머신러닝이란?¶ 머신러닝은 데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 과학(또는 예술) 1.2 왜 머신러닝을 사용하는가?¶ 데이터 마이닝 : 머신러닝 기술을 적용해서 대용량의 데이터를 분석하면 겉으로는 보이지 않던 패턴을 발견 ○ 머신러닝이 뛰어난 분야 기존 솔루션으로는 많은 수동 조정과 규칙이 필요한 문제 : 하나의 머신러닝 모델이 코드를 간단하게 만들고 전통적인 방법보다 더 잘 수행되도록 할 수 있음 전통적인 방식으로는 해결 방법이 없는 복잡한 문제 : 가장 뛰어난 머신러닝 기법으로 해결 방법을 찾을 수 있습니다. 유동적인 환경 : 머신러닝 시스템은 새로운 데이터에 적응할 수 있습니다. 복잡한 문제와 대량의 데이터에서 통찰 얻기 1.3 애플리케이션 사례¶ 생산 ..