머신러닝 17

Support Vector Machine

아래의 3개 의 선 모두, 분류하는 선이 모두 맞습니다. 그러면 어떤것이 더 정확할까요? 분류선에 가장 가까운 데이터들을, 가장 큰 마진(margin)으로 설정하는 선으로 결정하자. 분류선을 Maximum Margin Classifer 라고 합니다. SVM은 다른 머신러닝 알고리즘과 비교해서 무엇이 특별할까요? 사과인지 오렌지인지 분석하는 문제 일반적인 사과와 오렌지들은, 클래서파이어에서 멀리 분포합니다. 정상적이지 않은 것들, 즉 구분하기 힘든 부분에 있는 것들은 클래서파이어 근처에 있게 되며, 이 데이터들이 레이블링 되어 있으므로, Margin을 최대화 하여 분류하기 때문에, 특이한 것들까지 잘 분류하는 문제에 SVM 이 좋습니다. 구글드라이브 import from google.colab import..

머신러닝 2022.03.28

K-Nearest Neighbor (K-NN)

다음처럼 카테고리가 레이블링 되어 있는 데이터가 존재합니다. 새로운 데이터가 생겼을때, 이를 어디로 분류해야 할까.. 왜 빨간색으로 분류를 했을까요 hyper parameter : 우리가 결정해줘야 하는 파라미터(항목) K-NN 알고리즘 내 주위에 몇개의 이웃을 확인해 볼 것 인가를 결정한다. => K 새로운 데이터가 발생 시, Euclidean distance에 의해서, 가장 가까운 K개의 이웃을 택한다. K개의 이웃의 카테고리를 확인한다. 카테고리의 숫자가 많은 쪽으로, 새로운 데이터의 카테고리를 정해버린다. 구글드라이브 import from google.colab import drive drive.mount('/content/drive') 필요한 라이브러리 한글 가능 import import num..

머신러닝 2022.03.28

Logistic Regression , Confusion Matrix

분류에 사용한다. (Classification) 예시) 나이대별로 이메일을 클릭해서 열지 말지를 분류 해봅시다. 이메일 클릭을 할 사람과 안할 사람으로 분류하겠습니다. 빨간점이 바로 데이터이며, 액션의 0과 1이 바로 레이블입니다. 레이블이 있다는 것은, 수퍼바이저드 러닝이라는 뜻입니다. 중요! 이렇게 비슷하게 생긴 함수가 이미 존재합니다. 이름은 sigmoid function 따라서 리니어 리그레션 식을, y 값을 시그모이드에 대입해서 , 일차방정식으로 만들면 다음과 같아집니다. 위와 같은 식을 가진 regression을, Logistic Regression이라 합니다. 이제 클릭을 한다, 안 한다로 두개의 클래스로 분류할 수 있습니다. 확률로 나타낼 수 있습니다. p는 확률값을 나타냅니다. 20대는 ..

머신러닝 2022.03.28

Multiple Linear Regression

아래처럼, 여러개의 features를 기반으로, 수익을 예측하려 합니다. 위와 같이, 여러개의 변수들을 통해, 수익과의 관계를 분석하고, 이를 통해 새로운 데이터가 들어왔을 때, 수익이 어떻게 될 지를 예측하고자 합니다. 아래는 하나의 변수일 때와, 여러개의 변수가 있을 때의 Linear Regression을 나타냅니다. 2차원에서는 선이지만, 3차원에서는 평면이 됩니다. 이제, 오차가 가장 적을때의 b값들을 찾아봅니다. Profit 수익을 예측하려 한다. 이것이 디펜더블 배리어블, 나머지는 인티펜더블 베리어블 1. 먼저 식을 세운다. 이때 숫자가 아닌 값은 어떻게 처리해야할까 catergorical 로 바꿔주면 된다. 구글드라이브 import from google.colab import drive dr..

머신러닝 2022.03.28

Linear Regression

Linear Regression 이란? 경력과 연봉의 관계를 분석하여, 경력이 주어졌을때 연봉을 예측하려 합니다. 데이터를 살펴보니, 아래와 같은 그래프로 나왔다고 가정했을 때, 아래 그림처럼, 해당 분포를 만족하는 직선을 찾으려 하는것이 목표입니다. 직선을 찾기 위해서는, 우리가 잘 아는 직선의 방정식을 이용하여, 직선의 기울기와 y절편을 구하면 되는 것입니다. 오차 = 실제값 - 예측값 여기에서 주의해야 할 점! x,y가 우리에게 데이터셋으로 주어졌습니다. 따라서 우리는 b을 찾아야하는 것입니다. 즉, b0, b1의 값을 찾아 가는 과정을 학습이라고 부릅니다. 그렇다면 학습이란 바로(오차)를 줄여 나가는 것입니다. 아래는 오차를 나타냅니다. 그렇다면 오차란? 그리고 직선은 처음에 어디서 가져올까요? ..

머신러닝 2022.03.28

Data Preprocessing,Feature Scaling and OneHotEncoding 머신러닝에 필요한 데이터 처리

먼저 아나콘다에 scikit learn이 설치되어야 합니다 설치가 안되었으면 다음으로 설치합니다. $ conda install -c conda-forge scikit-learn Colab환경에서 진행함으로 구글 드라이브를 import 합니다. from google.colab import drive drive.mount('/content/drive') 데이터처리에 필요한 파이브러리들을 import 합니다. import numpy as np import matplotlib.pyplot as plt import pandas as pd 데이터처리할 csv파일을 구글 드라이브에 옮긴 뒤 Colab으로 불러온 후 변수 처리합니다. df=pd.read_csv('/content/drive/MyDrive/위치/Data...

머신러닝 2022.03.28

Machine Learning (머신 러닝)의 Supervised Learning의 정의와 용어

Machine Learning (머신 러닝) 데이터를 이용해여 데이터 특성과 패턴을 학습하여, 그 결과를 바탕으로 미지의 데이터에 대한 그것의 미래 결과(값, 분포)를 예측 ※ Data Mining(데이터 마이닝) : 데이터간의 상관관계나 속성을 찾는 것이 주목적 머신러닝으로 할 수 있는 것 편지봉두에 손으로 적은 우편번호 숫자 자동 판별 의료 영상 이미지에 기반한, 종양 판단 의심되는 신용카드 거래 감지 블로그 글의 주제 분류 고객들을 취향이 비슷한 그룹으로 묶기 Supervised Learning 예를들어 우리는 Iris꽃의 꽃잎의 길이와 넓이, 꽃받침의 길이와 넓이 데이터를 가지고 있습니다. 이 데이터를 가지고, Iris꽃의 품종을 분류할 수 있는 분류기를 만듭니다. 따라서, 새로운 꽃잎의 길이와 ..

머신러닝 2021.11.30