본문 바로가기
728x90

대학공부/기계학습12

실습 6차시: kNN, 랜덤포레스트, 앙상블, feature selection 1. K-Nearest Neighbor Classifier (KNN) 1-1. 데이터 포인트 간의 거리 - 2D 이번 실습에서는 KNN 모델로 영화 평가 분류기를 구현해볼 것입니다. 먼저 데이터 포인트들 간의 거리 개념부터 알아봅니다. 두 점이 서로 가깝거나 멀리 떨어져 있는 정도를 측정하기 위해 거리 공식을 사용할 것입니다. 이 예제의 경우 데이터의 차원은 다음과 같습니다. 영화의 러닝타임 영화 개봉 연도 스타워즈와 인디아나 존스를 예로 들겠습니다. 스타워즈는 125분이며 1977년에 개봉했습니다. 인디아나 존스는 115분이며 1981년에 개봉했습니다. 이 두 영화를 의미하는 두 데이터 포인트들의 거리는 아래와 같이 계산됩니다. Practice 1 1. movie1과 movie2라는 두 리스트을 매개 .. 2023. 10. 22.
실습 5차시: 성능 평가, cross validation 1. Accuracy(정확도) Confusion matrix: True Positive(TP): 참양성 False Positive(FP): 위양성 True Negative(TN): 참음성 False Negative(FN): 위음성 분류 모델을 만든 후 다음 단계는 모델의 예측 능력을 평가해야합니다. 모델의 성능을 평가하는 가장 간단한 방법은 모델의 정확도를 계산하는 것입니다. (True Positives + True Negatives) / (True Positives + True Negatives + False Positives + False Negatives) labels_A = [0, 0, 0, 0, 0, 0, 0, 1, 1, 1] guesses_A =[0, 0, 0, 0, 0, 0, 0, 1, 0,.. 2023. 10. 20.
실습 4차시: 퍼셉트론, MLP 퍼셉트론이란? 퍼셉트론은 신경망의 가장 기초가 되는 기본 단위입니다. 생물학적 뉴런의 작업을 시뮬레이션하는 인공 뉴런이라고 할 수 있습니다. 퍼셉트론은 3가지 구성요소로 이루어져 있습니다. 입력(Inputs) 가중치(Weights) 출력(Output) Perceptron Class Perceptron 클래스 작성하기 lines = [] class Perceptron: def __init__(self, num_inputs = 3, weights = [1,1,1]): self.num_inputs = num_inputs self.weights = weights def weighted_sum(self, inputs): weighted_sum = 0 for i in range(self.num_inputs): we.. 2023. 10. 20.
실습 3차시: Linear/Logistic Regression Simple Linear Regression 가장 간단하고 직관적인 기계학습 모델은 데이터의 경향에 맞게 선을 그어주는 것입니다. 이때 데이터에 대해 가장 잘 맞는 선을 찾아가는 과정을 "Linear Regression"이라고 합니다. import matplotlib.pyplot as plt months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] revenue = [52, 74, 79, 95, 115, 110, 129, 126, 147, 146, 156, 184] plt.plot(months, revenue, "o") plt.title("Sandra's Lemonade") plt.xlabel("months") plt.ylabel("revenue") plt.show() Po.. 2023. 10. 13.
실습 2차시: DT *Colab 이용 !pip install mglearn 지니 불순도 (Gini Impurity) 지니 불순도는 결정 트리의 분할기준 중 하나입니다. 아래 두개의 트리를 살펴봅시다. 둘 중 어느 트리가 학생이 성적을 더 높게 받을 수 있을지 예측하는데 유용할까요? 이 질문은 한 세트의 instance 들에 대해 지니 불순도 를 계산함으로써 답할 수 있습니다. 지니 불순도를 찾기 위해서는 1에서 시작해서 세트의 각 class 비율의 제곱을 빼면 됩니다. Gini Impurity=1−Gini Index=1−∑pi^2 (i=1 ~ K) 위 식에서 K은 class label의 개수이며, pi은 i번째 class label의 비율입니다. 예를 들어, A class인 instance가 3개 있고 B class인 in.. 2023. 10. 13.
실습 1차시: ZeroR, OneR, Naive Bayes Classifier *Colab 이용 import numpy as np import pandas as pd import sklearn print(sklearn.__version__) #1.2.2 # 데이터 받기 url = "https://raw.githubusercontent.com/inikoreaackr/ml_datasets/main/playgolf.csv" df = pd.read_csv(url) # 데이터 첫 다섯 instance 확인 df.head() OUTLOOK TEMPERATURE HUMIDITY WINDY PLAY GOLF Rainy Hot High False No Rainy Hot High True No Overcast Hot High False Yes Sunny Mild High False Yes Sunny.. 2023. 10. 11.