3 가지 기계 학습 해석 도구로 비즈니스 의사 결정 향상

기계 학습 해석은 매우 뜨거운 연구 주제이며이 주제에 관한 새로운 과학 논문 및 기사는 매주 출판됩니다. 이 기사는 ManoMano의 기계 학습 해석 요구를 대부분 충족하는 3 가지 보완 도구를 제공합니다. ManoMano는 매일 백만 명이 넘는 유럽인이 3 백만 개의 DIY 및 원예 제품 카탈로그에서 원하는 것을 찾는 데 도움을줍니다.

  1. 기능 중요도 : 모델이 가장 많이 사용하는 기능은 무엇입니까?
  2. 부분 의존도 : 모델이 특정 변수를 어떻게 사용합니까?
  3. 기능 기여 : 모델이 왜이 특정 예측을 했습니까?
xkcd

머신 러닝 모델을 해석해야하는 이유는 무엇입니까?

  • 비즈니스 이해 : 웹 사이트 전환율을 높이는 요소는 무엇입니까? 배송료가 미치는 영향은 무엇입니까?
  • 비즈니스 파트너와의 신뢰 구축 :이 판매 예측 예측이 왜 그렇게 높습니까? 지난 주에 157 번 판매되었으며 카테고리의 계절성이 증가하고 있기 때문입니다.
  • 문제를 해결하기 위해 관련 조치를 취하십시오.이 고객이 왜 이탈 할 가능성이 있습니까? 지난달 품질 문제가 있었기 때문입니다.
  • 모델 디버그 / 개선 :이 판매 예측 예측이 왜 그렇게 높습니까? 프로덕션 데이터 세트에 값이 없습니다. 왜 그렇게 많이 예측하지 못했습니까? 이 제품의 재고가 없어서 판매량이 적었고 눈치 채지 못했습니다.
예측력 대 해석 가능성 딜레마 (© ManoMano)

사용 사례 : 그라디언트 부스팅 트리를 사용한 전환율 모델링

세 가지 도구를 설명하기 위해 제품 전환율 모델링에 중점을 둡니다. 교육 데이터 세트는 다음과 같습니다.

제품 기반 기능 (가격, 평가, 배송 시간 등)과 요일에 따라 특정 날짜에 제품의 전환율을 예측하려고합니다. 다음 분석을 단순화하기 위해 데이터 세트를 평균적으로 10 %의 변환율로 인위적으로 샘플링합니다.

우리는 나무를 사용하는 매우 강력한 앙상블 모델 인 LightGBM을 사용하고 있습니다. 이 도구는 데이터 과학 경쟁에서 널리 사용됩니다.

기능의 중요성

기능 중요도는 모델의 각 기능이 얼마나 유용한 지 계산하고 신속하게 시각화하는 도구입니다. 이 도구는 랜덤 포레스트 또는 그라디언트 부스팅 트리와 같은 앙상블 모델에서 일반적으로 사용됩니다. 의사 결정 트리에서 주요 결정을 내리는 데 더 많은 기능이 사용되면 상대적 중요성이 높아집니다. 기능 중요도 계산 방법에 대한 자세한 내용은이 블로그 게시물을 참조하십시오. 예측 모델의 기능 중요도 플롯을 시각화 해 보겠습니다.

이 막대 차트에 따르면 전환율을 예측하는 가장 중요한 기능은 제품 가격, 배송 가격, 평가 및 배송 시간입니다. 그것은 우리의 비즈니스 직관과 일치합니다.

결 측값의 영향

다른 설정을 시도하고 데이터 품질 문제가 있으며 어떤 이유로 가격 값의 90 %가 누락되었다고 가정 해 봅시다. 모델을 재교육 한 후 얻을 수있는 것은 다음과 같습니다.

가격이 중요한 기능이 아니라고 가정 할 수 있습니다. 모델을 개선하기 위해 데이터 품질을 개선하는 데 시간을 투자해야합니다. 그런데 결 측값에도 정보가 포함될 수 있습니다. 예를 들어, 평균 등급이 누락 된 경우 등급이없고 제품이 인기가 없거나 새로운 제품이 아님을 의미합니다.

상관 변수의 영향

상관 관계가 있고 시끄러운 세 가지 가격 기능을 추가하고 어떻게되는지 살펴 보겠습니다.

여기서 '가격'기능의 중요성이 38 %에서 24 %로 감소했습니다. 이 변수의 중요성은 상관 변수 사이에 분배되었습니다. 또한 시끄러운 기능을 추가하면 메모리 및 CPU 사용량이 증가하고 과적 합의 위험이 증가합니다. 따라서이 도구에 따른 중요한 기능이 필요한 기능이 아닐 수 있습니다.

기능 중요성의 장단점

  • (+) 구현하기 매우 간단하며 몇 줄의 코드입니다.
  • (+) 신호에 대한 통찰력을 신속하게 제공
  • (+) 교육 데이터 세트에서 데이터 품질 문제를 감지하는 효율적인 도구
  • (-) 피처 상관에 민감
  • (-) 결 측값에 민감
  • (-) 지형지 물과 목표 기능 사이의 관계를 제공하지 않습니다 (이 예에서는 가격이 목표와 매우 밀접한 상관 관계가 있음을 알고 있지만 어느 방향으로 알지 못합니다)

부분 의존도

부분 의존도 도표는 예측 된 대상에 대한 특징의 영향을 시각화하고 다른 모든 특징의 값보다 주변 부화하는 데 유용합니다. 이러한 도구는 대상과 기능 간의 상관 관계를 이해하는 데 도움이되며 다른 모든 것은 동일합니다. 완전한 수학적 데모를 보려면 통계 학습 요소의이 장을 참조하십시오. 부분 의존도는 모든 기계 학습 모델과 함께 사용할 수 있습니다. 매우 완전한 PDPBox python 패키지를 사용하는 것이 좋습니다.

부분 의존성을 설명하기 위해 사용 사례와 관련된 실제 사례를 살펴 보겠습니다. 비즈니스 소유자가 운송 가격이 전환율에 미치는 영향을 알고 싶다고 가정하십시오. 운송 가격이 제품 가격과 매우 관련이 있다는 것을 알고, 우리는 제품 운송 가격과 총 가격 사이의 비율 인 shipping_ratio 기능을 계산하여 시작합니다.

shipping_ratio의 빈으로 평균 전환율을 계산하여 일 변량 분석을하겠습니다.

결과 그래프는 매우 명확합니다. 전환율은 ratio_shipping 기능과 양의 상관 관계가 있습니다! 전환율을 높이기 위해 비즈니스 소유자와 의사 소통하고 모든 제품의 배송비를 인상하도록 조언해야합니까? 물론 상관 관계가 인과 관계를 암시하지 않기 때문에 아닙니다. 동일한 변수에 대한 부분 의존성 분석을 만들고 그 차이를 관찰 해 봅시다.

예상 한대로 예측 모델에서 사용하는 다른 모든 기능을 고려할 때 shipping_ratio 기능은 예측 된 전환율과 음의 상관 관계가 있습니다. 여전히 실제 인과 관계는 보이지 않지만 다른 기능과의 상관 관계는 수정되었습니다.

부분 의존도의 장단점

  • (+) 기능과 관심 변수 간의 관계를 보여줍니다.
  • (+) 표준 일 변량 분석과 비교하여 기능이 다른 기능에 대한 상관되지 않은 영향을 볼 수 있습니다
  • (-) 대규모 데이터 세트에서 시간이 많이 걸림
  • (-) 2 차원 도표로 제한
  • (-) 상관 관계에 민감

기능 기여

지형지 물 기여는 주어진 예측에 대한 각 지형지 물의 영향을 계산합니다. 각 예측에 대한 미세한 이해를 제공합니다. 부분 의존도 플롯과 마찬가지로, 기능 학습은 사용 된 머신 러닝 모델에 관계없이 계산 될 수 있습니다. 랜덤 포레스트에 대해 어떻게 계산되는지 알고 싶다면이 블로그 게시물을 참조하십시오. LightGBM 예측 기능은 매개 변수를 제공하여 직접 계산합니다. Mako의 드릴 인 ManoMano에서 가장 인기있는 제품 중 하나를 예측하고 각 기능의 기여를 살펴 보겠습니다.

이 제품은 좋은 평가를 많이 받았습니다 (644 등급, 평균 4.69 / 5). 따라서 예상 전환율에 대한 등급 수의 기여는 + 12 %입니다. 그러나 가격 (167.99 €)은 평균 이상입니다. 비싼 제품은 전환율이 낮은 경향이 있습니다. 따라서 예상 전환율에 대한 기여는 -7.5 %입니다. 기여의 합은 예상 전환율과 같습니다 (합계에 절편을 추가해야 함).

다른 제품에 대해서도이 과정을 반복하고 차이점을 관찰 할 수 있습니다.

이 제품이 이전 Makita 드릴의 제품과 유사한 전환율을 예측하더라도 다른“프로필”이 있습니다. 훨씬 저렴하고 (34.2 €) 등급이 있지만 배송 시간과 가격은 확실하지 않습니다 (내부 배송의 경우 6.9 €) 8 일).

이전의 두 가지 방법과 마찬가지로 형상 기여도는 형상 상관 관계에 민감합니다. 두 개의 매우 상관 된 형상이있는 모델에 피드를 제공하면 예측 기여도가 인위적으로 2로 나뉩니다.

기능 기여의 장단점

  • (+) 특징 기여의 합으로서 예측에 대한 미세한 설명
  • (+) 예측을 조사하여 모델 버그 또는 데이터 품질 문제를 사전에 감지 할 수 있습니다.
  • (+) 알고리즘의 작동 방식을 설명하여 비즈니스 소유자와 신뢰를 구축합니다.
  • [+) 규범 적 모델링 허용 (예측 모델링) : 고객이 이탈 할 수있는 이유를 설명하여 올바른 조치를 취하는 데 도움이되는 이유
  • (-) 상관 관계에 민감

결론

우리는 ManoMano에서 대부분의 해석 요구를 충족시키는 3 가지 도구를 제시했습니다. 상자에서 즉시 사용하면 일부 경고가 발생합니다.

  • 상관 관계가 높은 기능은 기계 학습 해석에 방해가됩니다. 모델을 해석하기 전에 제거해야합니다.
  • 예측 성능이 매우 낮은 모델 (예 : 0.51 AUC)을 해석하려고 시도하는 것은 의미가 없습니다. 해석의 유용성은 모델에 의해 포착 된 예측 신호와 직접 연결됩니다.

다른 해석 도구 (LIME, Shapley 값, ICE 도표 등)가 존재한다는 점을 명심하십시오. 이러한 도구에 대한 자세한 정보와 수학적 세부 사항은 Christoph Molnar 전체 안내서를 참조하십시오.

이 기사가 도움이 되길 바랍니다. 강력한 기계 학습 기술을 사용할 때 해석 가능성 문제가 더 이상 문제가되지 않기를 바랍니다.

Jacques Peeters와 Romain Ayres가 작성했습니다.

감사의 말

Alexandre Cazé, Yohan Grember, Chloé Martinot, Marin De Beauchamp, Bryce Tichit, Raphaël Siméon, Thomas Charuel, Louis Pery, Cyril Auberger, Matthieu Cornec 및 ManoMano의 모든 위대한 동료들.

우리와 함께

우리는 ManoMano에서 새로운 동료를 찾고 있습니다. 채용 정보를 살펴보십시오!