본문 바로가기

Machine Learning/머신러닝 온라인 강의

(28)
CH09_01. Dimensionality Reduction 목표 1. 차원의 정의 2. 차원의 저주 3. 차원 축소 4. PCA 5. LDA 6. t-SNE 차원 정의 차원 (Dimension) 공간 내 데이터의 위치를 나타내기 위해 필요한 축의 개수 차원 예시 차원과 변수 - 데이터가 n개의 설명변수를 가진다면 n차원의 좌표 상에서 표현 할 수 있다. - 키와 몸무게, 머리 길이를 설명 변수로 갖는 데이터 차원의 저주 정의 차원의 저주(Curse of Dimensionality) 변수가 늘어나면서 차원이 커짐에 따라 발생하는 문제 - 필요한 데이터 수의 지수 함수적 증가로 인한 정보의 밀도 감소 - 공간을 설명하기 위한 데이터의 부족 - 과적합 문제 & 성능 감소 필요한 데이터 수의 지수 함수적 증가로 인한 정보의 밀도 감소 각 변수 당 가질 수 있는 값이 4..
CH08_02. Non-Hierarchical Clustering 2 Non-Hierarchical Clustering 목표 1. 비계층적 군집화의 정의 2. K-Means 3. DBSCAN Non-Hierarchical Clustering 정의 비계층적(Non-Hierarchical) 군집화 - 전체 데이터를 확인하고 특정한 기준으로 데이터를 동시에 구분한다 - 각 데이터들은 사전에 정의된 개수의 군집 중 하나에 속하게 된다. Non-Hierarchical Clustering 종류 - K-Means - DB Scan K-Mean 정의 K-Mean의 정의 - 주어진 데이터를 K개의 군집으로 묶는 방법 K-Mean의 특징 - 각 군집은 하나의 중심을 가짐 - 각 데이터는 가장 가까운 중심에 할당 - 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성 - 사전에 군집의 ..
CH08_01. Clustering 목표 1. 군집화(Clustering)의 정의 2. 계층적 군집화 3. 군집화 평가 Clustering 정의 Clustering(군집화) 유사한 속성을 갖는 데이터들을 묶어 전체 데이터를 몇 개의 군집으로 나누는 것 Clustering Classification vs Clustering Classification - Supervised Learning - 소속 집단의 정보를 알고 있는 상태 - Label이 있는 데이터를 나누는 방법 Clustering - Unsupervised Learning - 소속 집단의 정보를 모르고 있는 상태 - Label이 없는 데이터를 나누는 방법 Clustering 종류 군집분석의 종류 1. 계층적(Hierarchical) 군집화 2. 비계층적 (Non-Hierarchica..
CH07_04. 얼굴 사진 분류(Python) 1 SVM으로 얼굴 사진 분류하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2021) 1.1 1. Data 1.1.1 1.1 Data Load 데이터는 sklearn.datasets의 fetch_lfw_people로 받을 수 있습니다. from sklearn.datasets import fetch_lfw_people faces = fetch_lfw_people(min_faces_per_person=70, resize=0.4) data, target = faces["data"], faces["target"] 1.1.2 1.2 Data EDA 이미지의 height와 width를 확인하면 다음과 같..
CH07_02. SVM 커널 실습 (Python) 1 Iris 데이터를 이용한 SVM 커널 실습 import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2021) 1.1 1. Data from sklearn.datasets import load_iris iris = load_iris() data = iris.data target = iris.target data = data[target !=0, :2] target = target[target !=0] plt.scatter(data[:, 0], data[:, 1], c=target) from sklearn.model_selection import train_test_split train_data, test_..
CH07_01. SVM 목표 1. SVM의 정의 2. Margin의 종류 3. Kernel의 종류 SVM 예시 어떤 직선이 데이터를 제일 잘 나눌까요? 정답은 ② ①의 경우 동그라미를 네모로 잘못 분류 ③의 경우 네모를 동그라미로 잘못 분류 ②의 경우 네모의 데이터와 동그라미의 데이터에서 충분히 떨어져 있는곳에서 직선이 있다. 새로운 데이터를 입력으로 받을 때 오분류할 확률이 적어진다. SVM 정의 Support Vector Machine (SVM) SVM은 결정 경계(Decision Boundary)을 정의하는 모델 Support Vector Machine의 목표 Margin을 최대화하는 Decision Boundary(결정 경계) 찾기 이 때 Support Vector가 Decision Boundary를 만드는데 영향을 주..
CH06_04. 음수 가능 여부 판단 (Python) 1 KNN으로 음수 가능 여부를 판단하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2022) 1.1 1. Data 이번 실습에서 사용할 데이터는 음수가 가능한지를 판단하는 데이터 입니다. 1.1.1 1.1 Data Load water = pd.read_csv("water_potability.csv") data = water.drop(["Potability"], axis=1) label = water["Potability"] 1.1.2 1.2 Data EDA 데이터의 변수들을 확인하겠습니다. count를 확인하면 count들이 다른 것을 확인할 수 있습니다. data.describe() 값이 비..
CH06_02. KNN 실습 (Python) 1 Iris 데이터와 KN import pandas as pd import numpy as np import matplotlib.pyplot as plt np.random.seed(2022) 1.1 1. Data 1.1.1 1.1 Data Load from sklearn.datasets import load_iris iris = load_iris() data = iris.data target = iris.target target >>> array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0..