머신러닝

AI/MachineLearning

의사결정 나무

의사결정 나무 - 회귀 - 겹치지 않는 구역으로 데이터를 나눔 - 특정 구역에 데이터가 있으면, 그 데이터의 예측값은 해당 구역의 평균값임 어떤 구역으로 나누어야 하는가? - 구역을 쪼개는 기준 어떤 구역으로 어떻게 나누어야 하는가? 해당 구역에 있는 데이터의 실제값(y)과 예측값의 오차 제곱합을 최소화하는 구역 RSS(Residual Sum of Squares) RSS(Residual Sum of Squares) : 회귀 알고리즘에서 등장한 개념으로 실제값과 예측값의 단순 오차 제곱합 단순오차 제곱합 : 전체 데이터에 대한 실제 값과 예측하는 값의 오차들의 제곱 총합 어떤 구역으로 어떻게 나누어야 하는가? ↓ RSS를 최소화하는 모든 구역을 한 번에 찾는 것은 계산적으로 불가능함 ↓ 위에서부터 순간순간..

AI/MachineLearning

나이브 베이즈 분류 구현

나이브 베이즈 분류 데이터의 혹률적 속성을 가지고 클래스를 판단하는, 꽤 높은 성능을 가지는 머신러닝 알고리즘 import numpy as np def bayes_theorem(): # 1. P(“스팸 메일”) 의 확률을 구하세요. p_spam = 8/20 # 2. P(“확인” | “스팸 메일”) 의 확률을 구하세요. p_confirm_spam = 5/8 # 3. P(“정상 메일”) 의 확률을 구하세요. p_ham = 12/20 # 4. P(“확인” | "정상 메일" ) 의 확률을 구하세요. p_confirm_ham = 2/12 # 5. P( "스팸 메일" | "확인" ) 의 확률을 구하세요. p_spam_confirm = p_confirm_spam * p_spam / (7/20) # 6. P( "정상 ..

AI/MachineLearning

SVM(Support Vector Machine)

서포트 벡터 머신은 높은 성능을 보여주는 대표적인 분류 알고리즘입니다. 특히 이진 분류를 위해 주로 사용되는 알고리즘으로, 각 클래스의 가장 외곽의 데이터들 즉, 서포트 벡터들이 가장 멀리 떨어지도록 합니다. SVM을 위한 사이킷런 함수/라이브러리 from sklearn.svm import SVC: SVM 모델을 불러옵니다. SVC(): SVM 모델을 정의합니다. [Model].fit(x, y): (x,y) 데이터 셋에 대해서 모델을 학습시킵니다. [Model].predict(x): x 데이터를 바탕으로 예측되는 값을 출력합니다. import pandas as pd import numpy as np import matplotlib.pyplot as plt import warnings warnings.fi..

AI/MachineLearning

로지스틱 회귀

로지스틱 회귀를 위한 사이킷런 함수/라이브러리 from sklearn.linear_model import LogisticRegression: 사이킷런 안에 구현되어 있는 로지스틱 회귀를 불러옵니다. LogisticRegression(): 로지스틱 회귀 모델을 정의합니다. [Model].fit(X, y): (X,y) 데이터 셋에 대해서 모델을 학습시킵니다. [Model].predict(X): X 데이터 바탕으로 예측되는 값을 반환 from data_plot import * # 경고메세지(버전이 낮다던가 다음 버전에서는 지워지는 경우 나타남)를 안 뜨게 해줌 import warnings warnings.filterwarnings(action='ignore') import numpy as np from skl..

AI/MachineLearning

단순 선형 회귀 모델 구현

사이킷런 라이브러리 : 머신러닝 모델 구현 뿐만 아니라 예시 데이터 셋, 데이터 전처리, 세부 조정, 모델 평가등과 같은 유용한 기능들을 제공 데이터 준비를 위한 사이킷런 함수/라이브러리 from sklearn.model_selection import train_test_split : 학습용 데이터와 테스트용 데이터를 나누어주는 기능을 불러옵니다. train_test_split(X, y, test_size=0.3, random_state=0) : 데이터의 70%를 학습에 사용하고, 나머지 30%의 데이터를 테스트용 데이터로 나눈 결과 데이터를 반환합니다. 단순 선형 회귀를 위한 사이킷런 함수/라이브러리 from sklearn.linear_model import LinearRegression : 단순 선형..

AI/MachineLearning

회귀분석 알고리즘 구현

회귀 분석의 절차 X라는 값이 입력되면 Y = 베타0 + 베타1*X라는 계산식을 통해 값을 산출하는 예측 함수를 정의한다. 실제 값 y와 예측 함수를 통해 도출된 예측값 pred_y간의 차이를 계산한다. 계산한 차이에 기반하여 베타0와 베타1를 업데이트하는 규칙을 정의하고 이를 바탕으로 베타0와 베타1의 값을 조정한다. 위의 과정을 특정 반복 횟수(iteration) 만큼 반복한다. 반복적으로 수정된 베타0와 베타1를 바탕으로 Y = 베타0 + 베타1*X라는 회귀식을 정의한다. import numpy as np import matplotlib.pyplot as plt # 데이터를 생성하고 반환하는 함수 def load_data(): X = np.array([[8.70153760], [3.90825773]..

향식이
'머신러닝' 태그의 글 목록