pandas에서 Radviz를 사용해보십시오.

7428 단어 pandasVisualization
우선 Colab 노트북은 여기 .

Radviz란 무엇입니까?



Radviz는 다차원 데이터를 저차원(자신이 아는 한 2D 또는 3D)로 플로팅하는 가시화 수법이다.

pandas를 사용하면 쉽게 Radviz를 만들 수 있습니다.
아래는 htps // 팬더 s. py였다. 오 rg/도 cs/레후오렌세/아피/판다 s. p ぉ 친 g. 라 dゔぃ… html 거의 그 망마의 코드와 그 결과이다.
import pandas as pd

df = pd.DataFrame(
    {
        'SepalLength': [6.5, 7.7, 5.1, 5.8, 7.6, 5.0, 5.4, 4.6, 6.7, 4.6],
        'SepalWidth': [3.0, 3.8, 3.8, 2.7, 3.0, 2.3, 3.0, 3.2, 3.3, 3.6],
        'PetalLength': [5.5, 6.7, 1.9, 5.1, 6.6, 3.3, 4.5, 1.4, 5.7, 1.0],
        'PetalWidth': [1.8, 2.2, 0.4, 1.9, 2.1, 1.0, 1.5, 0.2, 2.1, 0.2],
        'Category': [
            'virginica',
            'virginica',
            'setosa',
            'virginica',
            'virginica',
            'versicolor',
            'versicolor',
            'setosa',
            'virginica',
            'setosa'
        ]
    }
)

pd.plotting.radviz(df, 'Category', color=['red','green','blue'])





SepalLength, SepalWidth, PetalLength, PetalWidth 가까이에 점이 있지만 이들은 데이터 점이 아니므로 조심해 주었으면 한다. Radviz는
  • setosa 카테고리의 iris는 SepalWidth의 데이터가 다른 열과 비교하여 돌출되어 큰 특징이있다
  • virginica 카테고리의 iris는 setosa와 같은 돌출 된 특징이 없습니다

  • 것을 보여줍니다.

    Radviz가 시각화하는 것 확인



    에 따르면 "n 개의 차원을 앵커로 원주 상에 배치한다. 가 크면 스프링의 힘을 강하게, 값이 작으면 스프링의 힘을 약하게 한다.”

    그리고 있다. 이것을 앞의 pandas를 이용한 예로 바꿔 확인해 가자.

    앵커 배치



    확실히 4차원(SepalLength, SepalWidth, PetalLength, PetalWidth)의 앵커가 화상과 같이 원주상에 배치되어 있다.



    만약 8차원 데이터라면 아래와 같은 점에 앵커가 배치된다



    데이터 포인트 배치 정보



    「값이 크면 스프링의 힘을 강하게」가 의미하는 것은, 앵커의 값이 크면, 앵커에 「가까운」위치에 점을 친다는 것이다. 원의 중심 근처에 치는 것은 아니다.
    여기서 주의하고 싶은 것은 '단지' 앵커의 값이 크다는 것을 의미하고 있는 것은 아니고 '다른 앵커의 값과 비교해 크다'라고 앵커 근처에 점을 친다는 것이다.

    이것을 확인하기 위해 행 index가 1의 행을 뽑아 Radviz를 다시 만들어 보자. 행 index가 1의 행의 SepalWidth는, 행 index가 2의 행과 같은 값 「3.8」이지만 PetalLength, PetalWidth의 값은 뛰어나다.



    행 index가 1의 행을 뽑아 Radviz를 재작성하면 이렇게 된다.



    SepalWidth가 그 열의 값으로서는 최대의 「3.8」의 행을 뽑았음에도 불구하고, Radviz로부터 빠진 점은 「SepalWidth의 앵커 근처의 점」이 아니라 「원의 중심 근처의 점」인 것 알 수 있을까요?

    즉 "뽑은 점의 iris는 전체적으로 크기가 커서 SepalLength, SepalWidth, PetalLength, PetalWidth의 어딘가의 특징이 돌출하고 있던 것은 아니다"에서 Radviz는 그러한 걸을 한가운데에 배치한다는 것을 알 수 있다 .

    Radviz를 더 생각해



    여기서 당신은 "이것 앵커의 배치 방법이 중요하지?"라고 생각되었을까 생각한다.
    확실히 그대로다. 하지만 난 그 최적화 방법을 모르겠어요. (더 말하면 스프링의 힘에 대해서도 잘 모르겠다.)
    알고 있으면 나에게도 아는 기사를 써 가르쳐 주셨으면 한다.
    (초 엉덩이 깨진 잠자리가 아닙니다!)

    좋은 웹페이지 즐겨찾기