전체 글(42)
-
머신러닝 - 9. K-최근접 이웃 알고리즘(K-Nearest Neighbor, KNN)
k-NN 이란 KNN이라고 줄여 부르는 K-최근접 이웃(K-Nearest Neighbor)은 지도 학습 알고리즘으로써, 분류나 회귀에 이용할 수 있는 비모수 모델(Nonparametric Model)이다. 이 알고리즘의 동작 원리는 매우 간단하다. 위 그림 1을 예시로 들어 KNN 알고리즘에 대해 설명한다. 어떤 데이터들은 푸른색으로, 나머지 데이터들은 붉은색으로 클래스를 나눠 식별되었다. 그렇다면 현재 식별되지 않은, '?'로 표시된 데이터는 푸른색으로 식별해야 되는가, 붉은색으로 식별해야 되는가. 우리는 직관적으로 '?' 데이터는 푸른색 데이터일 것이라고 예측할 수 있다. 왜 그러한가? '?' 데이터 주위에 있는 데이터들이 모두 푸른색 데이터이기 때문이다. KNN은 바로 이러한 접근에서 출발하였다. ..
2024.01.15 -
SVM - 붓꽃 데이터 분류
전체 코드 Iris 품종 분류 경진대회 - DACON 분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다. dacon.io from sklearn.metrics import accuracy_score from sklearn.svm import SVC import pandas as pd import os from sklearn.model_selection import train_test_split from sklearn.preprocessing import LabelEncoder # 데이터 세트 로드 dir = os.path.dirname(os.path.realpath(__file__)) train = pd.read_csv(dir + '/train.csv') test = pd.rea..
2024.01.15 -
머신러닝 - 8. 서포트 벡터 머신(Support Vector Machine, SVM)
서포트 벡터 머신이란 서포트 벡터 머신(Support Vector Machine, 이하 SVM)은 주어진 데이터 집합을 바탕으로, 새로운 데이터가 어느 카테고리에 속하는지 판단하는 이진 선형 분류 모델을 만드는 알고리즘이다. 퍼셉트론이나, 아달린, 로지스틱 회귀등과의 차이점은 최적화 대상으로 마진(Margin)을 최대화한다는 것이다. 이에 대해 좀 더 자세히 알아보면 아래와 같다. 선형 분류 모델은 클래스를 구분하는 초평면(결정 경계)으로 표현되는데, 이 초평면에 가장 가까운 훈련 샘플 사이의 거리를 마진이라 한다. 다시 말해 SVM이 마진을 최대화 한다는 것은, 앞서 말한 초평면과 가장 가까운 훈련 샘플 사이의 거리를 최대화한다는 이야기이다. 위의 그림 1.a에서 세가지 초평면 중 어느 것이 가장 적절..
2024.01.15 -
로지스틱 회귀 - 붓꽃 데이터 분류
전체 코드 Iris 품종 분류 경진대회 - DACON 분석시각화 대회 코드 공유 게시물은 내용 확인 후 좋아요(투표) 가능합니다. dacon.io 이 글에서는 데이콘 연습 대회에 제출한 코드를 바탕으로, 파이썬을 이용한 로지스틱 회귀 모델 이용 방법을 설명한다. 이번에는 데이터 스케일링 작업 없이 실습을 진행하였다(반성). from sklearn.metrics import accuracy_score from sklearn.linear_model import LogisticRegression import pandas as pd import os from sklearn.model_selection import train_test_split from sklearn.preprocessing import Labe..
2024.01.12 -
머신러닝 - 7. 로지스틱 회귀(Logistic Regression)
로지스틱 회귀란 로지스틱 회귀(Logistic Regression)는 종속 변수와 독립 변수 간의 관계를 구체적인 함수로 나타내는 모델이다. 좀 더 자세히 설명하자면 수치형 설명변수 X와 연속형 숫자로 이루어진 종속변수 Y 간의 관계를 선형으로 가정한다. 구현하기 쉽고 선형적으로 구분되는 클래스에 뛰어난 성능을 내는 분류 모델이다. 이때, 독립 변수와 종속 변수가 각각 1개인 경우 단순 선형 회귀라고 한다. 기본적으로 이진 분류를 위한 선형 모델이지만(클래스 레이블이 2개), 이 이상의 범주를 가지는 문제는 다항 로지스틱 회귀(Multinomial Logistic Regression)나 소프트맥스 회귀(Softmax Regression)으로 손쉽게 다중 클래스 설정으로 일반화할 수 있다. 로지스틱 회귀는..
2024.01.11 -
머신러닝 - 6. 데이터 스케일링 (Data Scaling)
데이터 스케일링이란 머신러닝에서 특성 스케일링(Feature Scaling)이라고도 부르는 데이터 스케일링은 독립적인 변수들이나 특성을 정규화(normalize) 하는 것을 이야기한다. 데이터 스케일링이 필요한 이유는 무엇일까. 그것을 쉽게 이해하기 위하여 한 가지 예시를 들어보자. 피아니스트의 실력을 예측하기 위해 키, 손가락 길이, 몸무게와 같은 신체 정보를 특성으로 하여 기계 학습을 시킨다고 가정하자(물론 피아니스트의 실력이라는 것은 정량적으로 측정하기 어렵지만). 키는 150~190cm 사이의 값을 가질 테지만 손가락은 4~15cm 사이의 값을 가지게 될 것이다. 이 경우 예측 값 y를 계산할 때 손가락의 길이보다 신장이 더 큰 영향을 미칠 수 있다. 이런식으로, 만약 어떤 특성 x1과 x2가 있..
2024.01.10