กำหนด aggregated measures
ตอนนี้จะมากำหนด performance measures กัน
ชุดข้อมูล knowledge_train_data ถูกโหลดไว้ให้แล้ว รวมถึงแพ็กเกจ mlr และ tidyverse และโค้ดต่อไปนี้ก็ถูกรันไปแล้วเช่นกัน:
task <- makeClassifTask(data = knowledge_train_data,
target = "UNS")
lrn <- makeLearner(cl = "classif.nnet", fix.factors.prediction = TRUE)
param_set <- makeParamSet(
makeIntegerParam("size", lower = 1, upper = 5),
makeIntegerParam("maxit", lower = 1, upper = 300),
makeNumericParam("decay", lower = 0.0001, upper = 1)
)
ctrl_random <- makeTuneControlRandom(maxit = 10)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับ Hyperparameter ใน R
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
setAggregationซึ่งทำหน้าที่รวม (aggregate) ค่าเบี่ยงเบนมาตรฐานของ performance metrics - นำ
setAggregationไปใช้กับค่าเฉลี่ยความผิดพลาดในการจำแนกประเภท (mean misclassification error) และความแม่นยำหลังการ resampling (accuracy after resampling) - ปรับแต่ง (Optimize) โมเดลโดยใช้ค่าเฉลี่ยความผิดพลาดในการจำแนกประเภท โดยจำไว้ว่าอาร์กิวเมนต์แรกจะถูกใช้สำหรับการ optimization
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create holdout sampling
holdout <- makeResampleDesc("Holdout", predict = "both")
# Perform tuning
lrn_tune <- tuneParams(learner = lrn,
task = task,
resampling = holdout,
control = ctrl_random,
par.set = param_set,
measures = list(___, ___(___, train.mean), ___, ___(___, train.mean)))