Evalml: AutoML: 앙상블을 μœ„ν•΄ λ³„λ„μ˜ CV λΆ„ν•  μ‚¬μš©

에 λ§Œλ“  2021λ…„ 01μ›” 26일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: alteryx/evalml

#1732λŠ” μŠ€νƒ 앙상블 νŒŒμ΄ν”„λΌμΈμ„ μ—…λ°μ΄νŠΈν•˜μ—¬ AutoML μ—μ„œ μ‚¬μš©λ˜λŠ” 것과 λ™μΌν•œ 데이터 μŠ€ν”Œλ¦¬ν„°λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” 이것이 ν˜„μž¬ μ ‘κ·Ό 방식(scikit-learn κΈ°λ³Έκ°’)에 λŒ€ν•œ κ°œμ„ μ΄λΌκ³  λ―Ώμ—ˆκΈ° λ•Œλ¬Έμ— #1732λ₯Ό 계속 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œλŠ” AutoML의 μŠ€νƒœν‚Ήμ„ μœ„ν•΄ 데이터 μŠ€ν”Œλ¦¬ν„°μ— μ μš©ν•  수 μžˆλŠ” μž₯κΈ° μ—…λ°μ΄νŠΈλ₯Ό μΆ”μ ν•©λ‹ˆλ‹€.


μ—…λ°μ΄νŠΈ: #1732λ₯Ό 계속 μ—…λ°μ΄νŠΈν•˜λŠ” λ™μ•ˆ μŠ€νƒκ³Ό AutoML κ°„μ˜ μƒν˜Έ μž‘μš©μ— λŒ€ν•œ μˆ˜μˆ˜κ»˜λΌμ— λ΄‰μ°©ν•˜μ—¬ AutoMLμ—μ„œ μ‚¬μš©ν•˜λŠ” 것과 λ™μΌν•œ 데이터 뢄할을 μŠ€νƒ 앙상블에 μ‚¬μš©ν•˜λŠ” 것이 정말 쒋은 생각인지 λ‹€μ‹œ μƒκ°ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” μ•„λ‹ˆμ˜€λ‘œ κ²°μ •ν–ˆκ³  Raymondκ°€ μ§€μ ν–ˆλ“―μ΄ 앙상블에 λ³„λ„μ˜ CVλ₯Ό μ‚¬μš©ν•˜κ³  싢을 κ²ƒμž…λ‹ˆλ‹€. ( @dsherry λŠ” λ˜ν•œ 앙상블을 μ‚¬μš©ν•˜λ©΄ λͺ¨λΈμ΄ 더 λ³΅μž‘ν•œ λͺ¨λΈμ— 덜 κ³Όλ„ν•œ μ€‘μš”μ„±μ„ λΆ€μ—¬ν•  수 μžˆλ‹€λŠ” 정보λ₯Ό μ–ΈκΈ‰ν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ CVλŠ” μ•„λ§ˆ 도움이 될 κ²ƒμž…λ‹ˆλ‹€. 잘λͺ» ν‘œν˜„ν•œ 경우 μˆ˜μ •ν•΄ μ£Όμ„Έμš” πŸ˜‚ ).

그런 λ‹€μŒ μž‘μ—…μ„ κ³„μ†ν•˜κΈ°λ³΄λ‹€λŠ” 이 문제λ₯Ό μ‚¬μš©ν•˜μ—¬ μŠ€νƒμš© AutoML μ—…λ°μ΄νŠΈμ— λŒ€ν•΄ λ…Όμ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. 특히 μŠ€νƒ μ•™μƒλΈ”μš© CV에 λŒ€ν•΄ λ³„λ„μ˜ 뢄할을 λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€. 이것은 λ°”μ΄λ„ˆλ¦¬ μž„κ³„κ°’ 쑰정을 μœ„ν•΄ ν˜„μž¬ 가지고 μžˆλŠ” 것과 μœ μ‚¬ν•©λ‹ˆλ‹€.

enhancement performance

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κ³„νš: μŠ€νƒœν‚Ήμ΄ ν™œμ„±ν™”λœ 경우 CV용 μŠ€νƒ 앙상블에 전달할 수 μžˆλŠ” λ³„λ„μ˜ 뢄할을 μƒμ„±ν•©λ‹ˆλ‹€.

데이터가 μŠ€νƒœν‚Ήμ— 전달될 λ•Œ out-of-sample 예츑(μ›λž˜ CVμ—μ„œ λΆ„ν• λœ 검증)을 μ‚¬μš©ν•˜μ—¬ μ§€μ›ν•˜λŠ” 것을 μ‚΄νŽ΄λ³΄λŠ” 것이 깔끔할 수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μŠ€νƒœν‚Ήμ΄ ν™œμ„±ν™”λœ 경우 λ³„λ„μ˜ 뢄할을 μƒμ„±ν•˜λŠ” 더 κ°„λ‹¨ν•œ μ ‘κ·Ό λ°©μ‹μœΌλ‘œ μ‹œμž‘ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

RE λ…Όμ˜, μŠ€νƒ 앙상블이 CVλ₯Ό μˆ˜ν–‰ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλŠ” λ³„λ„μ˜ 뢄할을 보λ₯˜ν•΄μ•Ό ν•˜λŠ” μ΄μœ μ— λŒ€ν•œ λͺ‡ 가지 λ’·λ°›μΉ¨ν•˜λŠ” 증거:

  • "ꡐ차 κ²€μ¦λœ [예츑]을 μ‚¬μš©ν•˜μ—¬ μŠ€νƒœν‚Ήμ€ λ³΅μž‘μ„±μ΄ 더 높은 λͺ¨λΈμ— λΆ€λ‹Ήν•˜κ²Œ 높은 κ°€μ€‘μΉ˜λ₯Ό μ£ΌλŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€." 일λͺ… 과적합
  • "메타 λͺ¨λΈμ— λŒ€ν•œ ν›ˆλ ¨ 데이터 μ„ΈνŠΈλ₯Ό μ€€λΉ„ν•˜λŠ” κ°€μž₯ 일반적인 μ ‘κ·Ό 방식은 κΈ°λ³Έ λͺ¨λΈμ˜ k-ν΄λ“œ ꡐ차 검증을 ν†΅ν•œ κ²ƒμž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ 아웃 였브 ν΄λ“œ μ˜ˆμΈ‘μ€ 메타 λͺ¨λΈμ— λŒ€ν•œ ν›ˆλ ¨ 데이터 μ„ΈνŠΈμ˜ 기초둜 μ‚¬μš©λ©λ‹ˆλ‹€. 메타 λͺ¨λΈμ— λŒ€ν•œ ν›ˆλ ¨ λ°μ΄ν„°λŠ” λ˜ν•œ κΈ°λ³Έ λͺ¨λΈμ— λŒ€ν•œ μž…λ ₯, 예λ₯Ό λ“€μ–΄ ν›ˆλ ¨ λ°μ΄ν„°μ˜ μž…λ ₯ μš”μ†Œλ₯Ό 포함할 수 μžˆμŠ΅λ‹ˆλ‹€. 이것은 메타 λͺ¨λΈμ— λŒ€ν•œ μΆ”κ°€ μ»¨ν…μŠ€νŠΈλ₯Ό 메타 λͺ¨λΈμ˜ μ˜ˆμΈ‘μ„ κ°€μž₯ 잘 κ²°ν•©ν•˜λŠ” 방법에 λŒ€ν•΄ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν›ˆλ ¨ 데이터 μ„ΈνŠΈκ°€ 메타 λͺ¨λΈμ— λŒ€ν•΄ μ€€λΉ„λ˜λ©΄ 메타 λͺ¨λΈμ€ 이 데이터 μ„ΈνŠΈμ— λŒ€ν•΄ λ³„λ„λ‘œ ν›ˆλ ¨λ  수 있고 κΈ°λ³Έ λͺ¨λΈμ€ 전체 원본 ν›ˆλ ¨ 데이터 μ„ΈνŠΈμ— λŒ€ν•΄ ν›ˆλ ¨λ  수 μžˆμŠ΅λ‹ˆλ‹€." -- λΈ”λ‘œκ·Έ 포슀트
  • "메타 ν•™μŠ΅μžλŠ” 과적합을 ν”Όν•˜κΈ° μœ„ν•΄ 레벨 0 λͺ¨λΈμ„ ν›ˆλ ¨ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” μ˜ˆμ œμ— λŒ€ν•΄ λ³„λ„μ˜ 데이터 μ„ΈνŠΈμ—μ„œ ν›ˆλ ¨ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€." -- λ‹€λ₯Έ λΈ”λ‘œκ·Έ 포슀트
  • μŠ€νƒ 앙상블을 ꡐ차 κ²€μ¦μ˜ μΌλ°˜ν™”λ‘œ λ³Ό 수 μžˆλŠ” 방법을 μ„€λͺ…ν•˜λŠ” 원본 λ…Όλ¬Έ 초둝
  • λ‚˜λŠ” λ˜ν•œ 발견 이 쒋은 읽을 수.

@rpeck 참고둜, μ•½κ°„μ˜ νšŒμ „ 후에 μš°λ¦¬λŠ” λ‹Ήμ‹ μ˜ μ œμ•ˆμ„ λ”°λ₯΄κ³  μžˆμŠ΅λ‹ˆλ‹€ πŸ˜†

λͺ¨λ“  4 λŒ“κΈ€

κ³„νš: μŠ€νƒœν‚Ήμ΄ ν™œμ„±ν™”λœ 경우 CV용 μŠ€νƒ 앙상블에 전달할 수 μžˆλŠ” λ³„λ„μ˜ 뢄할을 μƒμ„±ν•©λ‹ˆλ‹€.

데이터가 μŠ€νƒœν‚Ήμ— 전달될 λ•Œ out-of-sample 예츑(μ›λž˜ CVμ—μ„œ λΆ„ν• λœ 검증)을 μ‚¬μš©ν•˜μ—¬ μ§€μ›ν•˜λŠ” 것을 μ‚΄νŽ΄λ³΄λŠ” 것이 깔끔할 수 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μŠ€νƒœν‚Ήμ΄ ν™œμ„±ν™”λœ 경우 λ³„λ„μ˜ 뢄할을 μƒμ„±ν•˜λŠ” 더 κ°„λ‹¨ν•œ μ ‘κ·Ό λ°©μ‹μœΌλ‘œ μ‹œμž‘ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

RE λ…Όμ˜, μŠ€νƒ 앙상블이 CVλ₯Ό μˆ˜ν–‰ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλŠ” λ³„λ„μ˜ 뢄할을 보λ₯˜ν•΄μ•Ό ν•˜λŠ” μ΄μœ μ— λŒ€ν•œ λͺ‡ 가지 λ’·λ°›μΉ¨ν•˜λŠ” 증거:

  • "ꡐ차 κ²€μ¦λœ [예츑]을 μ‚¬μš©ν•˜μ—¬ μŠ€νƒœν‚Ήμ€ λ³΅μž‘μ„±μ΄ 더 높은 λͺ¨λΈμ— λΆ€λ‹Ήν•˜κ²Œ 높은 κ°€μ€‘μΉ˜λ₯Ό μ£ΌλŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€." 일λͺ… 과적합
  • "메타 λͺ¨λΈμ— λŒ€ν•œ ν›ˆλ ¨ 데이터 μ„ΈνŠΈλ₯Ό μ€€λΉ„ν•˜λŠ” κ°€μž₯ 일반적인 μ ‘κ·Ό 방식은 κΈ°λ³Έ λͺ¨λΈμ˜ k-ν΄λ“œ ꡐ차 검증을 ν†΅ν•œ κ²ƒμž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ 아웃 였브 ν΄λ“œ μ˜ˆμΈ‘μ€ 메타 λͺ¨λΈμ— λŒ€ν•œ ν›ˆλ ¨ 데이터 μ„ΈνŠΈμ˜ 기초둜 μ‚¬μš©λ©λ‹ˆλ‹€. 메타 λͺ¨λΈμ— λŒ€ν•œ ν›ˆλ ¨ λ°μ΄ν„°λŠ” λ˜ν•œ κΈ°λ³Έ λͺ¨λΈμ— λŒ€ν•œ μž…λ ₯, 예λ₯Ό λ“€μ–΄ ν›ˆλ ¨ λ°μ΄ν„°μ˜ μž…λ ₯ μš”μ†Œλ₯Ό 포함할 수 μžˆμŠ΅λ‹ˆλ‹€. 이것은 메타 λͺ¨λΈμ— λŒ€ν•œ μΆ”κ°€ μ»¨ν…μŠ€νŠΈλ₯Ό 메타 λͺ¨λΈμ˜ μ˜ˆμΈ‘μ„ κ°€μž₯ 잘 κ²°ν•©ν•˜λŠ” 방법에 λŒ€ν•΄ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. ν›ˆλ ¨ 데이터 μ„ΈνŠΈκ°€ 메타 λͺ¨λΈμ— λŒ€ν•΄ μ€€λΉ„λ˜λ©΄ 메타 λͺ¨λΈμ€ 이 데이터 μ„ΈνŠΈμ— λŒ€ν•΄ λ³„λ„λ‘œ ν›ˆλ ¨λ  수 있고 κΈ°λ³Έ λͺ¨λΈμ€ 전체 원본 ν›ˆλ ¨ 데이터 μ„ΈνŠΈμ— λŒ€ν•΄ ν›ˆλ ¨λ  수 μžˆμŠ΅λ‹ˆλ‹€." -- λΈ”λ‘œκ·Έ 포슀트
  • "메타 ν•™μŠ΅μžλŠ” 과적합을 ν”Όν•˜κΈ° μœ„ν•΄ 레벨 0 λͺ¨λΈμ„ ν›ˆλ ¨ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” μ˜ˆμ œμ— λŒ€ν•΄ λ³„λ„μ˜ 데이터 μ„ΈνŠΈμ—μ„œ ν›ˆλ ¨ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€." -- λ‹€λ₯Έ λΈ”λ‘œκ·Έ 포슀트
  • μŠ€νƒ 앙상블을 ꡐ차 κ²€μ¦μ˜ μΌλ°˜ν™”λ‘œ λ³Ό 수 μžˆλŠ” 방법을 μ„€λͺ…ν•˜λŠ” 원본 λ…Όλ¬Έ 초둝
  • λ‚˜λŠ” λ˜ν•œ 발견 이 쒋은 읽을 수.

@rpeck 참고둜, μ•½κ°„μ˜ νšŒμ „ 후에 μš°λ¦¬λŠ” λ‹Ήμ‹ μ˜ μ œμ•ˆμ„ λ”°λ₯΄κ³  μžˆμŠ΅λ‹ˆλ‹€ πŸ˜†

@dsherry @rpeck @angela97lin 이 문제λ₯Ό μ‚΄νŽ΄λ³΄κΈ° μ‹œμž‘ν–ˆμ§€λ§Œ sklearn의 StackedClassifier 및 StackedRegressor ν΄λž˜μŠ€λŠ” 과적합을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ λͺ¨λΈ ꡐ윑 쀑에 λ‚΄λΆ€ ꡐ차 검증을 μ‚¬μš©ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 이것은 μš°λ¦¬κ°€ 이 문제둜 ν•΄κ²°ν•˜λ €κ³  ν•˜λŠ” 것과 같은 문제인 것 κ°™μ•„μ„œ ν•΄κ²°ν•΄μ•Ό ν•  것 κ°™μŠ΅λ‹ˆλ‹€. Stacked Ensembling 방법을 ν›ˆλ ¨/κ²€μ¦ν•˜κΈ° μœ„ν•΄ λ³„λ„μ˜ CV μ ‘κΈ°λ₯Ό μˆ˜ν–‰ν•  ν•„μš”λŠ” μ—†λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ λͺ¨λ‘ μ–΄λ–»κ²Œ μƒκ°ν•˜μ‹œλ‚˜μš”?

image

@dsherry와 ν† λ‘  ν•œ ν›„, 여기에 μš°λ¦¬κ°€ μ§„ν–‰ν•˜κ³ μžν•˜λŠ” 아이디어

@bchen1116 κ³Ό λ…Όμ˜ν•œ κ³„νš: 이 λ¬Έμ œλŠ” λ‹€μŒμ„ μΆ”μ ν•©λ‹ˆλ‹€.

  • 앙상블 νŒŒμ΄ν”„λΌμΈμ— λŒ€ν•œ κΈˆμ† ν•™μŠ΅ ν›ˆλ ¨μ„ μœ„ν•œ λ³„λ„μ˜ λΆ„ν•  생성
  • μŠ€νƒ 앙상블에 sklearn impl을 계속 μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.

λ³„λ„μ˜ μ„±λŠ₯ ν–₯상: μž‘μ€ 데이터에 λŒ€ν•œ 더 λ‚˜μ€ 지원. 앙상블을 μœ„ν•΄ λ³„λ„μ˜ 뢄할을 μƒμ„±ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€. 일반 CV(λͺ¨λ“  CV ν΄λ“œ μ „μ²΄μ—μ„œ)의 μƒ˜ν”Œ μ™Έ νŒŒμ΄ν”„λΌμΈ predλ₯Ό μ‚¬μš©ν•˜μ—¬ μ•™μƒλΈ”λŸ¬λ₯Ό ν›ˆλ ¨ν•©λ‹ˆλ‹€. #1898

또 λ‹€λ₯Έ λ³„λ„μ˜ μ„±λŠ₯ ν–₯상: νŒŒμ΄ν”„λΌμΈκ³Ό κΈˆμ† ν•™μŠ΅κΈ°λ₯Ό μ„œλ‘œ λ‹€λ₯Έ λ°μ΄ν„°λ‘œ ν›ˆλ ¨ν•©λ‹ˆλ‹€. #1897

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰