목록ML DL (17)
메이플의 개발 스토리
트리의 앙상블¶ 정형 데이터(structured data) : 구조화 되어 있어 CSV, DB, Excel로 저장하기 쉬운 데이터 → 앙상블 학습 비정형 데이터(unstructured data) : DB나 Excel로 표현하기 어려운 데이터로 텍스트 데이터, 사진, 음악 등이 있음 → 신경망 알고리즘 앙상블 학습¶ Ensemble Learning 더 좋은 예측 결과를 만들기 위해 여러 개의 모델을 훈련하는 머신러닝 알고리즘 정형 데이터를 다루는 데 가장 뛰어난 성과를 내는 알고리즘 대부분 결정 트리를 기반으로 만들어져 있음 배깅과 보깅 랜덤 포레스트¶ Random Forest 대표적인 결정 트리 기반의 앙상블 학습 방법 부트스트랩 샘플을 사용하고 랜덤하게 일부 특성을 선택하여 트리를 만드는 것이 특징 랜..
교차 검증과 그리드 서치¶ 검증 세트¶ validation set, 개발 세트(dev set) 하이퍼파라미터 튜닝을 위해 모델을 평가할 때, 테스트 세트를 사용하기 않기 위해 훈련 세트에서 다시 떼어 낸 데이터 세트 train_input, test_input, train_target, test_target = train_test_split(data, target, test_size=0.2, random_state=42) sub_input, val_input, sub_target, val_target = train_test_split(train_input, train_target, test_size=0.2, random_state=42) 교차 검증¶ cross validation 훈련 세트를 여러 폴드로 ..
결정 트리¶ 결정 트리¶ Decision Tree 예/아니오에 대한 질문을 이어나가면서 정답을 찾아 학습하는 알고리즘 비교적 예측 과정을 이해하기 쉽고 성능이 뛰어남 dt = DecisionTreeClassifier(random_state=42) dt.fit(train_scaled, train_target) 불순도¶ Impurity 결정 트리가 최적의 질문을 찾기 위한 기준 사이킷런은 지니 불순도와 엔트로피 불순도를 제공 정보 이득¶ Information gain 부모 노드와 자식 노드의 불순도 차이 결정 트리 알고리즘은 정보 이득이 최대화되도록 학습 가지치기¶ Pruning 결정 트리의 성장을 제한하는 방법 결정 트리가 제한 없이 성장하면 훈련 세트에 과대적합되기 쉬움 dt = DecisionTreeC..
확률적 경사 하강법¶ 키워드¶점진적 학습¶ Incremental learning, 온라인 학습(Online learning) 학습이 끝나 제품화된 모델에 대하여, 미니배치(Mini-batch)라 부르는 작은 묶음 단위의 데이터를 주입하여 모델을 학습시키는 방법 새로운 데이터 샘플을 학습하면, 학습이 끝난 데이터는 더 이상 필요하지 않기 때문에 보관하지 않아도 되므로, 저장 공간을 많이 아낄 수 있음 확률적 경사 하강법(Stochastic Gradient Descent) 훈련 세트에서 샘플 하나씩 꺼내 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘 미니배치 경사 하강법(minibatch gradient descent) 샘플을 하나씩 사용하지 않고 여러 개를 사용 배치 경사 하강법(batch grad..
로지스틱 회귀¶로지스틱 회귀¶ rogistic regression 선형 방정식을 사용한 분류 알고리즘 선형 회귀와 달리 시그모이드 함수나 소프트맥스 함수를 사용하여 클래스 확률을 출력할 수 있음 다중 분류¶ multi-class classification 타깃 클래스가 2개 이상인 분류 문제 로지스틱 회귀는 다중 분류를 위해 소프트맥스 함수를 사용하여 클래스를 예측함 시그모이드 함수¶ sigmoid function(logistic function) 선형 방정식의 출력을 0과 1 사이의 값으로 압축하며 이진 분류를 위해 사용 소프트맥스 함수¶ softmax 다중 분류에서 여러 선형 방정식의 출력 결과를 정규화하여 합이 1이 되도록 만듬 0. 데이터 준비¶ 데이터 불러오기¶ In [ ]: import pan..
특성 공학과 규제¶다중 회귀¶ multiple regression 여러 개의 특성을 사용하는 회귀 모델 특성이 많으면 선형 모델은 강력한 성능을 발휘함 특성 공학¶ feature engineering 주어진 특성을 조합하여 새로운 특성을 만드는 일련의 작업 과정 릿지¶ 규제가 있는 선형 회귀 모델 중 하나 선형 모델의 계수를 작게 만들어 과대적합을 완화 라쏘¶ 규제가 있는 선형 회귀 모델 중 하나 릿지와 달리 계수 값을 아예 0으로 만들 수 있음 하이퍼 파라미터¶ 머신러닝 알고리즘이 학습하지 않는 파라미터 대표적으로 릿지와 라쏘의 규제 강도 alpha 파라미터가 있음 0. 데이터 준비¶ In [ ]: import pandas as pd df = pd.read_csv('https://bit.ly/p..
03-2. 선형 회귀¶ 회귀 : 임의의 수치를 예측하는 문제. 따라서 타깃값도 임의의 수치가 됨. 두 변수 사이의 상관관계를 분석하는 방법 (by 프랜시스 골턴) 분류 : 샘플을 몇 개의 클래스 중 하나로 분류 k-최근접 이웃의 한계¶ 데이터 준비 In [ ]: import numpy as np perch_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.3, 27.5, 27.5, 27.5, 28.0..
chapter03. 회귀 알고리즘과 모델 규제¶농어의 무게를 예측하라!¶ 03-1. k-최근접 이웃 회귀¶ 회귀 : 임의의 수치를 예측하는 문제. 따라서 타깃값도 임의의 수치가 됨. 두 변수 사이의 상관관계를 분석하는 방법 (by 프랜시스 골턴) 분류 : 샘플을 몇 개의 클래스 중 하나로 분류 데이터 준비 특성 : 농어의 길이 타깃 : 농어의 무게 In [ ]: import numpy as np perch_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 2..
In [ ]: fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0, 9.8, 10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0] fish_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0, 450.0, 500...
In [ ]: fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0, 9.8, 10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0] fish_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0, 450.0, 500...