728x90

08_ML(Machine_Learning) 32

23_서포트 벡터 머신

서포트 벡터 머신  범주를 나눠줄 수 있는 최적의 구분선(결정경계선)을 찾아내어 관측치의 범주를 예측하는 모델로지스틱 회귀나 판별분석에 비해 비선형 데이터에서 높은 정확도를 보이며 다른 모델들 보다 과적합되는 경향이 적음SVM은 결정경계선(Decision boundary)의 양쪽의 빈 공간 마진(Margin)을 최대화하도록 만들어졌음마진과 맞닿아서 결정경계선의 위치와 각도를 정해줄 수 있는 기준이 되는 관측치를 서포트 벡터(support vector)라고 함결정경계선을 지지(support)해주고 있기 때문svm은 서포트벡터만으로 범주의 구분 기준인 결정경계선을 정하기 때문에 학습효율이 좋음마진은 결정경계선과 서포트 벡터와의 거리를 의미기계학습에서 거리(distance)를 통해 분류나 회귀 모델을 만드는 ..

22_랜덤포레스트_문제(상한 개사료)

랜덤포레스트 문제(상한 개사료) 여러분은 왜 개 사료가 예상보다 빨리 상하게 되는지를 파악하기위해 개 사료 회사에 고용되었습니다. 안 좋은 소식은 이 회사는 한동안 장비를 업그레이드 하지 않았습니다. 즉, 이 회사에서 사용하는 5가지 방부제의 사용 용량이 중구난방이라는 뜻입니다. 하지만 그 중에서 가장 많은 영향을 끼치는 것이 무엇일까요?이 회사에서는 먼저 4가지 방부제(A, B, C, D)가 함유된 방부제 묶음을 섞은 뒤 '필러'라는 화학물질로 마무리합니다. 식품과학자들은 A, B, C, D 방부제 중 하나가 문제를 일으키고 있다고 생각하지만, 그게 어떤 것인지 명확하게 하기위해 여러분이 고용됐습니다. "랜덤포레스트"로 어떤 방부제가 사료를 빨리 상하게 하는지 찾아보세요! Pres_A : 혼합물의 A비..

21_트리 앙상블

트리 앙상블  앙상블여러 머신러닝 모델을 결합하여 더 좋은 모델을 얻는 방법앙상블의 종류보팅배깅부스팅 등 보팅(Voting) 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정종류하드 보팅(Hard Voting)다수의 분류기가 예측한 결과값을 최종 결과로 선정소프트 보팅(Soft Voting)모든 분류기가 예측한 결정 확률의 평균이 가장 높은 결과값을 최종 결과로 선정 배깅(Bagging)  # 복원추출# 각각의 데이터셋을 가지고 학습한 모델들데이터 샘플링(Bootstrap)을 통해 모델을 학습시키고 결과를 집계하는 방법Bootstrap데이터가 조금씩은 편향되도록 샘플링하는 기법분산이 높은 모델의 과대적합 위험을 줄이는 효과가 있음모두 같은 유형의 알고리즘 기반의 분류기를 사용데이터 분할 시 중복을 ..

20_교차검증_그리드서치

교차검증_그리드서치  01. 검증 세트 ● 테스트세트를 사용해 모델의 성능을 개선해 나가다 보면 점점 테스트 세트에 적합한 모델이 됨        ■ 테스트세트를 통해 일반화 성능을 올바르게 예측하기 힘들어짐 ● 따라서 테스트세트를 사용하지 않고 훈련 세트를 또 다시 나눠 validation set을 이용 ● 검증 세트 활용    1. 훈련 세트에서 모델을 훈련하고 검증 세트로 모델을 평가    2. 테스트하고 싶은 매개변수를 바꿔가며 가장 좋은 모델을 선택    3. 최적의 매개변수를 사용해 훈련 세트와 검증 세트를 합쳐 전체 훈련 데이터에서 모델을 다시 훈련    4. 테스트 세트에서 최종 점수를 평가 import pandas as pdimport numpy as npfrom sklearn.model..

19_의사 결정 나무

의사 결정 나무모델의 직관성과 가시성을 높여 모델 설명력을 높이기 위해 사용 import pandas as pdimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LogisticRegressionfrom sklearn.tree import DecisionTreeClassifier, plot_tree, export_text df = pd.read_csv("./data/wine.csv") df.head() alcohol: 알코올 도수sugar: 당도pH: pH값class..

18_확률적 경사 하강법

확률적 경사 하강법(Stochastic Gradient Descent)  ● 의의        ■ 훈련 세트에서 샘플을 하나씩 꺼내 손실함수의 경사를 따라 최적의 모델을 찾는 알고리즘        ■ 샘플을 하나씩 사용하지 않고 여러 개를 사용하면 미니배치 경사하강법        ■ 한 번에 전체 샘플을 사용하면 배치 경사하강법  ● 손실 함수(loss function)        ■ 확률적 경사하강법의 최적화할 대상        ■ 어떤 문제에서 머신러닝 알고리즘이 얼마나 실제 값과 오차가 나는지 측정하는 기준        ■ 손실 함수의 최솟값을 알 수 없기 때문에 조금씩 찾아나가는 과정이 확률적 경사하강법  ● 에포크(epoch)        ■ 손실 함수 값을 줄여나가는 과정에서 훈련 세트를 모..

16_로지스틱 회귀분석_심화

로지스틱 회귀분석(Logistic Regression) 선형 회귀분석과 유사하지만 종속변수가 양적 척도가 아닌 질적 척도임특성 수치를 예측하는 것이 아니라 어떤 카테고리에 들어갈지 분류하는 모델기본 모형은 종속변수가 0과 1이라는 이항(binary)으로 이루어져 구매/미구매, 성공/실패, 합격/불합격 등을 예측만약 종속변수의 범주가 3개 이상일 경우에는 다항 로지스틱 회귀분석(Multinomial Logistic Regression)을 통해 분류 예측을 할 수 있음로지스틱 회귀는 기존의 선형회귀식의 사상은 그대로 유지하되 종속변수를 1이 될 확률로 변환하여 그 확률에 따라 0과 1의 여부를 예측선형 회귀선은 이항으로 이루어진 종속변수를 직선으로 표현하여 확률이 양과 음의 무한대로 뻗어나가게 됨이러한 방식..

15_로지스틱 감성분류(자연어 처리) - 맛집 리뷰

감성분석분류 모델의 가장 대표적인 활용 방법 중 하나텍스트 데이터를 긍정 또는 부정으로 나누어 분류하는 것 import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom selenium import webdriverfrom bs4 import BeautifulSoupimport re # regular expression 텍스트 데이터의 패턴을 파악할 때 사용import timefrom seleniuhttp://m.webdriver.common.by import Byfrom seleniuhttp://m.webdriver.common.keys import Keysimport requestsfrom skl..

14_로지스틱 회귀

로지스틱 회귀 의의확률을 예측하는 데에 사용되는 통계 모델특정 결과의 확률을 계산(선형회귀의 변형, 이름은 회귀이지만 분류에 쓰인다)결과값은 이진이어야함(결과는 둘 중 하나)원하는 결과는 1, 원하지 않는 결과는 0선형 회귀와 마찬가지로 다중공선성은 거의 없어야 함독립변수는 서로 독립적이어야 함종속변수와 관련 없는 독립변수를 제거할 때 더 효율적인 경향이 있음장점많은 양의 연산 자원을 필요로 하지 않음쉽게 해석할 수 있음단점비선형 데이터에 사용하기 힘듦과적합에 취약함1과 0으로만 결과가 출력되기 때문에 범주형 결과를 예측하는 데에만 사용가능 import numpy as npimport matplotlib.pyplot as pltimport pandas as pdfrom sklearn.model_selec..

728x90