xgboost: ให้ความสำคัญกับตัวอย่างล่าสุด


22

มีวิธีใดที่จะเพิ่มความสำคัญให้กับจุดที่ล่าสุดกว่าเมื่อทำการวิเคราะห์ข้อมูลด้วย xgboost?

คำตอบ:


9

คุณสามารถลองสร้างโมเดล xgboost หลายรุ่นโดยบางรุ่นถูก จำกัด ไว้ที่ข้อมูลล่าสุดแล้วให้ผลการค้นหาเหล่านั้นรวมกัน ความคิดอีกประการหนึ่งคือการสร้างตัวชี้วัดการประเมินที่กำหนดเองซึ่งลงโทษจุดที่ผ่านมาอย่างหนักซึ่งจะทำให้พวกเขามีความสำคัญมากขึ้น


4
OP สามารถให้น้ำหนักตัวอย่างที่สูงขึ้นเพื่อการสังเกตการณ์ล่าสุด แพ็คเกจส่วนใหญ่อนุญาตสิ่งนี้เช่นเดียวกับ xgboost
Ricardo Cruz

30

เพียงเพิ่มน้ำหนักตามป้ายกำกับเวลาของคุณใน xgb.DMatrix ของคุณ ตัวอย่างต่อไปนี้เขียนด้วย R แต่ใช้หลักการเดียวกันกับ xgboost บน Python หรือ Julia

data <- data.frame(feature = rep(5, 5),
                   year = seq(2011, 2015), 
                   target = c(1, 0, 1, 0, 0))
weightsData <- 1 + (data$year - max(data$year)) * 5 * 0.01

#Now create the xgboost matrix with your data and weights
xgbMatrix <- xgb.DMatrix(as.matrix(data$feature), 
                         label = data$target, 
                         weight = weightsData)

ขอบคุณสำหรับคำตอบของคุณ - มีประโยชน์มากในการดูตัวอย่างรหัส สัมประสิทธิ์ของฟังก์ชั่นการถ่วงน้ำหนักมีผลต่อโมเดลอย่างไร? ฉันดูเอกสาร xgboost แต่ฉันไม่สามารถหาข้อมูลเกี่ยวกับความสำคัญของค่าตัวเลขเหล่านี้ได้
kilojoules

ไม่รู้เคล็ดลับนี้ดี มีชิ้นอาหารอันโอชะเล็ก ๆ น้อย ๆ ใน xgboost doc ภายใต้ฟังก์ชั่นsetinfo()แม้ว่าจะไม่ได้อธิบายมากนัก
TBSRounder

12

บน Python คุณมีกระดาษห่อหุ้ม scikit เรียนรู้ที่ดีเพื่อให้คุณสามารถเขียนเช่นนี้:

import xgboost as xgb
exgb_classifier = xgb.XGBClassifier()
exgb_classifier.fit(X, y, sample_weight=sample_weights_data)

ข้อมูลเพิ่มเติมที่คุณสามารถรับได้จาก: http://xgboost.readthedocs.io/en/latest/python/python_api.html#xgboost.XGBClassifier.fit


ความปรารถนาของ
Caret

1
ที่ควรจะxgb.XGBClassifier()อยู่ในบรรทัดที่สองของรหัส แต่ stackexchange ไม่อนุญาตให้มีการแก้ไขอักขระน้อยกว่าหกตัว ...
Andre Holzner
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.