Machine-Learning 용어정리 (SVM, KNN, 나이브베이즈, 의사결정나무) ver 2

2024. 10. 23. 14:34·용어정리/Machine-Learning

ver 2 2024년 11월 03일

가독성 추가및 전반적 내용 추가


분류 모델들 에 대해서 알아보자


 

SVM

SVM이란?

Support Vector Machine의 약자로 회귀 분석에 사용되는 강력한 지도 학습 모델이다.

데이터끼리의 거리가 가장 가까운 마진을 구한다. 이 사이의 데이터를 분류하는 경계 결정 경계를 생성하여

데이터의 분류를 하게 한다.

 

 

학습으로 인하여 클래스를 나누고, 각각의 클래스 사이의 가장 가까운 데이터 포인트를 포함하는 경계를 만드는데,

 

이때 데이터가 그 경계안에 있다면, 그 서포트벡터 즉 데이터포인트가 가까운 쪽으로 변환을 시키는 것이다.

 

 

 

 


SVM실습

 

이전 다른 모델들과 같이 데이터를 불러오고 샘플링하고 스케일링 한 후에, 

sklearn에서 svc를 들고와서 모델을 생성해주는것의 차이밖에 없다.

 

 

from sklearn.svm import SVC


model = SVC(kernel='linear')
model.fit(X_train, y_train)

 

 

 

 

 


KNN

KNN이란?

KNN이란 분류모델로 데이터를 나열했을때, 특정한 k값을 생성해서 그 k 의 밤위 안에서

가장 가깝고 가장많은 이웃의 데이터로 분류를 하는 것이다.

 

즉 k= 1 일때 별은 연분홍에 가깝고

k = 5 일때 가까운 정도와 갯수를 따지면 파란색에 좀더 가깝다고 볼 수 있다.

 

 

 


KNN실습

KNeigborsClassiifier 모델을 생성해서 트레이닝한다.

이때의 .n_neighbors = 는 k의 범위 숫자이다.

from sklearn.neighbors import KNeighborsClassifier


model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)

 

 

 


나이브베이즈

나이브베이즈란?

???

나이브베이즈 실습

from sklearn.naive_bayes import GaussianNB

model = GaussianNB()
model.fit(X_train, y_train)

 

 

 


의사결정나무

의사결정나무란?

의사결정나무는 예측 모델로, 데이터릐 특징을 시준으로 잡고 의사결정의 규칙을 생성하여 이를 바탕으로 데이터를

분류 시키거나 회귀하는데 사용된다.

 

이 구조는 트리 구조이다.

 

 

이때 루프노드와 중간 노드는 특징에 대한 규칙이며, 걸러져나온 리프 노드는 레이블을 나타낸다.

 

깊이는 루프노트를 따라서 리프노드가 나오기 까지의 깊이이다.

 


 

의사결정나무 실습

 

from sklearn.tree import DecisionTreeClassifier

model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)
저작자표시 비영리 변경금지 (새창열림)

'용어정리 > Machine-Learning' 카테고리의 다른 글

Machine-Learning 용어정리 (계층적 군집화)  (0) 2024.10.23
Machine-Learning 용어정리 (K-means clustering)  (0) 2024.10.23
Machine-Learning 용어정리 (데이터셋)  (3) 2024.10.22
Machin-Learning 용어정리 (로지스틱 회귀)  (0) 2024.10.21
Machine - Learning 용어정리 (지도학습 - 회귀모델) ver 3  (0) 2024.10.19
'용어정리/Machine-Learning' 카테고리의 다른 글
  • Machine-Learning 용어정리 (계층적 군집화)
  • Machine-Learning 용어정리 (K-means clustering)
  • Machine-Learning 용어정리 (데이터셋)
  • Machin-Learning 용어정리 (로지스틱 회귀)
코드 유랑자 승열
코드 유랑자 승열
코드 유랑자 승열의 프로그래밍 일지를 남기는 공간입니다.
  • 코드 유랑자 승열
    승열의 프로그래밍 시네마
    코드 유랑자 승열
  • 전체
    오늘
    어제
  • 링크

    • 깃허브 보러가기
    • 링크드인 보러가기
    • 인스타그램 보러가기
    • 카테고리
      • 코딩테스트
        • BaekJoon
      • TIL and WIL
        • TIL
        • WIL
      • 주말스터디
      • 내일배움캠프
        • 사전캠프 강의 (SQL)
      • 용어정리
        • Python
        • Python-Library
        • Machine-Learning
        • Deep-Learning
        • AI 활용
        • LLM & RAG
        • Docker
        • Django
        • SQL
        • Java Script
        • etc
      • Daily 코드카타
        • SQL
        • Python 알고리즘
      • 임시저장
      • 보류
  • 태그

    오블완
    티스토리챌린지
    llm
    langchain
    word2vec
    django
    View
    RAG
    vector db
    template
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코드 유랑자 승열
Machine-Learning 용어정리 (SVM, KNN, 나이브베이즈, 의사결정나무) ver 2
상단으로

티스토리툴바