เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

นำโมเดลไปใช้กับ data stream

ถึงเวลานำ machine learning Pipeline ที่ฝึกไว้ไปใช้กับข้อมูลแบบ streaming และจัดหมวดหมู่ค่าเหล่านั้นทันที

ใช้ predict() กับข้อความที่รับเข้ามาเพื่อระบุหมวดหมู่ แล้วดำเนินการตามผลการทำนาย เช่น ปิดหน้าต่างบ้าน (หรือไม่ก็ได้)

จำไว้ว่า category 1 หมายถึงสภาพอากาศดี ส่วน category 0 หมายถึงสภาพอากาศไม่ดีหรือหนาวเย็น

นอกจากนี้ pipeline จะคืนค่าเป็น array ของผลการทำนาย เนื่องจากส่งข้อมูลเข้าไปเพียงหนึ่งรายการ จึงต้องเข้าถึงค่าแรกด้วย category[0]

ฟังก์ชัน close_window() จะจัดการส่วนนี้ให้ และยังบันทึกข้อมูลไว้สำหรับการศึกษาเพิ่มเติมด้วย

มีการโหลด pandas ในชื่อ pd และ json ไว้ในเซสชันแล้ว และโมเดลพร้อมใช้งานในชื่อ pl

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์ข้อมูล IoT ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แปลง dictionary เป็น pandas DataFrame ด้วย DataFrame.from_records() โดยใช้ "timestamp" เป็น index และ cols เป็น columns
  • ระบุหมวดหมู่ของข้อมูลนี้โดยใช้ predict() จาก pipeline object แล้วกำหนดผลลัพธ์ให้กับ category
  • เรียก close_window() โดยส่ง DataFrame df เป็นอาร์กิวเมนต์แรก และ category เป็นอาร์กิวเมนต์ที่สอง

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

def model_subscribe(client, userdata, message):
    data = json.loads(message.payload)
    # Parse to DataFrame
    df = pd.____.____([data], index=____, columns=____)
    # Predict result
    category = ____
    if category[0] < 1:
        # Call business logic
        ____
    else:
        print("Nice Weather, nothing to do.")  

# Subscribe model_subscribe to MQTT Topic
subscribe.callback(model_subscribe, topic, hostname=MQTT_HOST)
แก้ไขและรันโค้ด