본문 바로가기
728x90

회귀6

[ML] 의사 결정 나무 (Decision Tree), Entropy/Impurity decision tree(의사결정나무)순차적으로 질문을 던져서 답을 고르게 하는 방식으로 의사결정을 하는 머신러닝 모델  한번의 분기 때마다 변수 영역을 두 개로 구분결정 트리에서 질문이나 정답을 담은 네모 상자를 노드(Node)라고 함맨 처음 분류 기준 (즉, 첫 질문)을 Root Node라고 함맨 마지막 노드는 Terminal Node 혹은 Leaf Node 특징분류, 회귀 모두 가능한 지도학습 모델 결정 트리의 Leaf Node가 가장 섞이지 않은 상태로 완전히 분류되는 것, 즉 복잡성(Entropy)이 낮도록 만들어야 함 주로 f1-score를 통해 평가 그렇다면, 위에서 가지를 어떤 기준으로 뻗어나갈지 그 기준을 어떻게 정하는 것일까? 1. 데이터를 가장 잘 구분할 수 있는 질문을 기준으로 나눔.. 2024. 11. 21.
[ML] 원핫인코딩(One-Hot Encoding) 원-핫 인코딩(One-hot encoding)이란?원-핫 인코딩은 선택해야하는 선택지의 개수만큼의 차원을 가지면서, 각 선택지의 인덱스에 해당하는 원소에 1, 나머지 원소는 0의 값을 가지게 함 원-핫 인코딩으로 표현된 벡터를 원-핫 벡터(one-hot vector)라고 함  보통 다중 클래스 분류 문제에는 각 클래스 간의 관계가 균등하다는 점에서 원-핫 벡터를 많이 사용  다수의 클래스를 분류하는 문제에서는 이진 분류처럼 2개의 숫자 레이블이 아니라 클래스의 개수만큼 숫자 레이블이 필요하기 때문에 비효율적  Referenceshttps://wikidocs.net/59678 2024. 11. 20.
[파이토치] 파이토치에서 데이터 로드하기 미니배치데이터 셔플병렬 처리파이토치에서 기본적인 데이터 로드 방법은 Dataset을 정의하고, 이를 DataLoader에 전달하는 것입니다. 텐서를 입력받아 Dataset의 형태로 변환해주는 TensorDataset 사용해보기import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torch.utils.data import TensorDataset # 텐서데이터셋from torch.utils.data import DataLoader # 데이터로더x_train = torch.FloatTensor([[73, 80, 75], [93, 88, 93], .. 2024. 11. 7.
[파이토치] 선형 회귀 모델 구현하기 파이토치에서 이미 구현되어 제공되는 함수를 불러와 선형 회귀 모델을 구현하겠습니다. nn.Linear()함수를 통해 선형 회귀 모델을 불러올 수 있습니다. mse도 nn.functional.mse_loss()라는 함수로 구현되어 있습니다. 이 두가지를 불러오겠습니다. import torch.nn as nnmodel = nn.Linear(input_dim, output_dim)import torch.nn.functional as Fcost = F.mse_loss(prediction, y_train) 이처럼 임포트하여 사용할 수 있습니다. 1. 단순 선형 회귀 구현하기 우리는 y = 2x를 가정하여 구현하겠습니다.import torchimport torch.nn as nnimport torch.nn.func.. 2024. 11. 7.
[ML] 다중 선형 회귀 다중 선형 회귀다수의 x로부터 y를 예측하는 회귀 독립 변수 x의 개수가 3개라면,$$ H(x) = w_1x_1 + w_2x_2 + w_3x_3 + b$$ # 훈련 데이터x1_train = torch.FloatTensor([[73], [93], [89], [96], [73]])x2_train = torch.FloatTensor([[80], [88], [91], [98], [66]])x3_train = torch.FloatTensor([[75], [93], [90], [100], [70]])y_train = torch.FloatTensor([[152], [185], [180], [196], [142]])# 가중치 w와 편향 b 초기화w1 = torch.zeros(1, requires_grad=True)w2.. 2024. 11. 7.
[ML] 선형 회귀와 자동 미분 선형 회귀선형 회귀란 학습 데이터와 가장 잘 맞는 하나의 직선을 찾는 일 이때 선형 회귀의 가설(직선의 방정식)은 아래와 같은 형식$$ y= Wx + b $$ 가설의 H를 따서 y 대신 다음과 같이 식을 표현$$ H(x) = Wx + b $$ 이때 x와 곱해지는 W를 가중치(Weight)라고 하며, b를 편향(bias)이라고 함 비용 함수비용 함수(cost function)  = 손실 함수(loss function)  = 오차 함수(error function)  = 목적 함수(objective function) 수식적으로 단순히 '오차 = 실제값 - 예측값'으로 정의하면 오차값이 음수가 나오는 경우가 생김제대로 된 오차의 크기를 측정할 수 없으므로, 각 오차를 제곱해준 뒤에 전부 더함 $$ cost(W,.. 2024. 11. 7.
728x90