>>> tot = sum(eigen_vals.real)
    >>> discr = [(i / tot) for i in sorted(eigen_vals.real,
    ...                                    reverse=True)]
    >>> cum_discr = np.cumsum(discr)
    >>> plt.bar(range(1, 14), discr, align='center',
    ...         label='Individual discriminability')
    >>> plt.step(range(1, 14), cum_discr, where='mid',
    ...          label='Cumulative discriminability')
    >>> plt.ylabel('Discriminability ratio')
    >>> plt.xlabel('Linear Discriminants')
    >>> plt.ylim([-0.1, 1.1])
    >>> plt.legend(loc='best')
    >>> plt.tight_layout()
    >>> plt.show()

    결과 그래프에서 볼 수 있듯이 처음 두 개의 선형 판별 벡터가 Wine 데이터셋에 있는 정보 중 거의 100%를 잡아냅니다.

    ▲ 그림 5-9 유용한 정보 100%를 잡아내는 두 개의 판별 벡터

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.