การทำนาย CTR ด้วย decision tree

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

Kevin Huo

Instructor

Decision tree

ตัวอย่าง decision tree สำหรับการพิจารณาสินเชื่อโดยอิงอายุและสถานะนักศึกษา

  • โหนดแทนฟีเจอร์
  • กิ่งแทนการตัดสินใจตามฟีเจอร์
  • ตัวอย่างผลลัพธ์แสดงในตารางด้านล่าง:
  • การแบ่งครั้งแรกอิงจากอายุของผู้สมัคร
  • สำหรับกลุ่มเยาวชน การแบ่งครั้งที่สองอิงจากสถานะนักศึกษา
  • โมเดลให้ heuristics สำหรับการทำความเข้าใจ
is_student loan
middle_aged 1
youth no 0
youth yes 1
การพยากรณ์ CTR ด้วย Machine Learning ใน Python

การ train และ test โมเดล

  • สร้างด้วย: clf = DecisionTreeClassifier()
  • เช่นเดียวกับ logistic regression ใช้ clf.fit(X_train, y_train) สำหรับข้อมูล training และ clf.predict(X_test) สำหรับ label testing:

    array([0, 1, 1, ..., 1, 0, 1])
    
  • clf.predict_proba(X_test) สำหรับค่าความน่าจะเป็น:

    array([0.2, 0.8], [0.4, 0.6] ..., [0.1, 0.9] [0.3, 0.7]])
    
  • ตัวอย่างการแบ่งข้อมูล training และ testing แบบสุ่ม โดย testing คิดเป็น 30% ของขนาดตัวอย่างทั้งหมด: train_test_split(X, y, test_size = .3, random_state = 0)

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

การประเมินด้วย ROC curve

ตัวอย่างพื้นที่ใต้เส้น ROC curve ของ classifier

  • True positive rate (แกน Y) = #(classifier ทำนายบวก, จริงบวก) / #(บวกทั้งหมด)
  • False positive rate (แกน X) = #(classifier ทำนายบวก, จริงลบ) / #(ลบทั้งหมด)
  • เส้นประสีน้ำเงิน: AUC พื้นฐานที่ 0.5
  • ต้องการให้เส้นสีส้ม (AUC) ใกล้เคียง 1 มากที่สุด
การพยากรณ์ CTR ด้วย Machine Learning ใน Python

AUC ของ ROC curve

Y_score = clf.predict_proba(X_test)
fpr, tpr, thresholds = roc_curve(Y_test, Y_score[:, 1])
  • อินพุตของ roc_curve(): อาร์เรย์ test และ score
roc_auc = auc(fpr, tpr)
  • อินพุตของ auc(): อาร์เรย์ false-positive และ true-positive

  • หากโมเดลแม่นยำแต่ CTR ต่ำ ควรพิจารณาใหม่ว่าสารของโฆษณาถูกนำเสนออย่างไรและกำหนดเป้าหมายกลุ่มผู้ชมใด

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

มาฝึกกันเถอะ!

การพยากรณ์ CTR ด้วย Machine Learning ใน Python

Preparing Video For Download...