Certificate/ADP

[ADP 데이터분석 전문가- 통계편] 군집분석, SOM, 자기조직화지도, Map, m, n, dim, 오분류표, confusion matrix

Olivia-BlackCherry 2023. 10. 26. 08:11

목차

    SOM 자기조직화지도

    • Self- organizing Map
    • 대뇌피질과 시각피질의 학습 과정을 모델화한 인공신경망으로 자율 학습에 의한 클러스터링 수행하는 알고리즘
    • Map size 설정(군집분석으로 SOM 사용할 때는 군집의 수를 차원의 수로 맞추기)
    • 학습을 하며 Map이 수정되며 데이터분포형태에 중심을 이동하며 Map을 데이터에 맞게 근사시킨다.
      • Map
      • m: 그리드의 행, n: 그리드의 열, dim: c차원
      • SOM(m=3, n=1, dim=4)라면, SOM을 3x1 그리드 형태로 생성하고, 입력 데이터 차원은 4로 설정한다. 입력 데이터를 클러스터링하고, 차원축소하는데 사용한다. SOM은 입력 데이터를 그리드 내에 위치시키고, 학습을 통해 이러한 위치를 조정하며 입력 데이터 간의 유사성을 반영한다
    • 사용하는 곳
      • 클러스터링
      • 차원축소

     

     

    < 실습 >

    iris.csv
    0.00MB

     

    - 정규화

    MinMaxScaler

     

     

    - 타겟값 수치형 바꾸기 ---> 문제 발견

    마지막에 confusion matrix로 오분류표를 만들려고 pred와 target값을 비교하려했다. 그런데 내가 원하는 바로 나오지 않는다. 다음을 보자.

     

    - 새로운 데이터 프레임 만들어, 예측값-타겟값 비교하기

    중요한 포인트

    : SOM은 비지도학습 알고리즘으로 주어진 데이터를 클러스터링하고 시각화하는데 사용된다. 데이터를 클러스터로 그룹화하거나 공간 상에 매핑하는데 중점을 둔다.   SOM의 목적은 데이터의 구조를 이해하고 시각화하며 데이터를 클러스터로 나누는 것이기 때문에 정확한 예측이 필요하지 않다.

    원래 라벨값이 없는 비지도학습이므로 y_pred와 y_test 값이 서로 다르더라도 문제가 없다. 

     

    - Map의 의미

    -> iris 의 데이터가 3개의 클래스로 나뉘어져있다는걸 알고, 4개의 입력변수가 있어 som(m=3, n=1, dim=4)

    -> M*n이 군집의 수 = 지도의 사이즈

     

    - 시각화 (target 또는 num_target 하나를 지우고 시각화할 것)

     

     

    - 오분류표 만들기

    confusion matrix, accuracy score

     

     

    adp