본문 바로가기

study/인공지능

[데이콘 스터디] 5주차_함수 정리

  • warnings 라이브러리
    Jupyter Notebook이나 ipython을 사용할 때 버전이나 변경 사항 등을 알려주는 경고 메세지(warning message) 를 무시하거나 숨기기 위해 사용
    (1) 경고 메세지를 무시하고 숨기기를 원할 때
    : warnings.filterwarnings(action = 'ignore')
    (2) 숨긴 경고메세지 다시 보이기를 원할 때
    : warnings.filterwarnings(action='default')

출처: https://rfriend.tistory.com/346 [R, Python 분석과 프로그래밍의 친구 (by R Friend)]

  • %matplotlib inline
    IPython 에서 제공하는 Rich output 에 대한 표현 방식
    notebook을 실행한 브라우저에서 바로 그림을 볼 수 있게 해주는 것이다.
    (추측) colab에서는 이 코드가 없어도 그림을 바로 볼 수 있도록 해주는 것 같다
    Rich output : 도표와 같은 그림, 소리, 애니메이션 과 같은 결과물들

출처: https://korbillgates.tistory.com/85 [생물정보학자의 블로그]

  • color = sns.color_palette()
    seaborn에서는 sns.color_palette()를 사용해 팔레트를 설정할 수 있다.
    괄호 안에 기본 팔레트를 넣거나 원하는 Color Brewer 팔레트 사용이 가능하다.
    seaborn은 총 6개의 기본 팔레트를 제공 --> deep, muted, pastel, bright, dark, colorblind

image

출처: http://hleecaster.com/python-seaborn-color/

  • Permutation Importance
    Permutation Importance는 모델을 학습시킨 뒤, 특정 feature의 데이터를 shuffle 했을 때, 검증 데이터 셋에 대한 예측성능을 확인하고 feature importance를 계산한다.
    즉, shuffle 했을 때 모델의 성능이 떨어지면, 중요한 feature 인거고 성능이 그대로거나, 좋아지면 중요하지 않은 feature 이다.
    변수가 굉장히 많아 feature selection을 통해 변수를 제거할 필요가 있는 경우 Permutation Importance를 활용하면 도움이 될 것이다.
    결과는 Weight와 Feature로 이루어져 있는데 Weight를 보면 +-로 이루어져 있음을 알 수 있다.
    높이 있을수록 (weight가 +일수록) 중요한 변수이고 밑에 있을수록 (weight가 -일수록) 중요하지 않은 변수이다.

    !pip install eli5 #colab에서는 따로 설치를 해주어야 한다.
    import eli5
    from eli5.sklearn import PermutationImportance

출처: https://hong-yp-ml-records.tistory.com/51 [HONG YP's Data Science BLOG]

  • Shap
    실제값과 예측치의 차이를 설명한다. 상관관계의 방향성을 설명해 줄 수 있다.
    따라서 시각화를 하기 전 모델 학습이 필요하다.
    !pip install shap #colab에서는 따로 설치를 해주어야 한다.

출처: https://todayisbetterthanyesterday.tistory.com/56

plt.rcParams["figure.facecolor"] = 'w' # background color = white
plt.rcParams["font.family"] = 'NanumBarunGothic' #글꼴 설정 = 나눔고딕
plt.rcParams['axes.unicode_minus'] = False #그래프에서 마이너스 기호가 깨지지 않고 표시되도록
  • numpy.triu_indices_from(array)
    array의 위쪽 삼각형에 대한 인덱스를 반환합니다

https://numpy.org/doc/stable/reference/generated/numpy.triu_indices_from.html

  • pd.unstack()
    쌓은 것을 옆으로 늘어놓는 것(왼쪽에서 오른쪽으로 넓게)

출처: https://rfriend.tistory.com/276 [R, Python 분석과 프로그래밍의 친구 (by R Friend)]

  • 추가 이론 정리
    앙상블 -> 대부분 Tree 기반 (전반적으로 우수한 성능을 내는 모델들)
    앙상블을 반복적으로 사용할 경우 DT의 뛰어난 직관성이 사라진다. 대신 성능이 뛰어나다.
    앙상블의 기본 라이브러리에 변수 중요도 추출 알고리즘을 제공한다.
    xgboost.plot_importance(model) #영향력의 방향성은 제공하지 않는다.