Skip to content

KNIME Tutorial 03 – วิธีการจัดการและ Clean ข้อมูล โดยโปรแกรม KNIME

  • by

สวัสดีครับเพื่อนๆ ในบทความนี้เป็นส่วนที่ 3 ของ KNIME Tutorial ที่จะแนะนำเพื่อนๆเกี่ยวกับการ Clean หรือการจัดการข้อมูลบนโปรแกรม KNIME กันครับ

โดยข้อมูลที่จะใช้เป็นตัวอย่างเพื่อนๆสามารถเปิดและทำตามได้จากบทความ KNIME Tutorial 01 ได้เลยครับ ซึ่งหากเพื่อนๆทำตาม Tutorial 01 แล้ว เพื่อนๆจะได้ Data ที่ถูกเปิดด้วย Node CSV Reader ออกมานะครับ

Node ที่ปกติใช้ในการจัดการข้อมูลก็จะเป็น Node ในกลุ่ม Filter ครับ โดย Node ที่ทีมงานแนะนำคือ

Node แรกที่แนะนำคือ Node Column Filter โดย Node ที่จะใช้ในการเลือกตัด Column ที่ต้องการหรือไม่ต้องการออกไปครับ โดย input ของ Node คือ Data ครับ เพื่อนๆสามารถลากลูกศรทางด้านขวาของ Node CSV Reader มาใส่ ลูกศรทางด้านซ้ายของ Node Column Filter ได้เลยครับ

KNIME Node Column Filter สำหรับ clean ข้อมูล

จากนั้นให้เพื่อนๆลองคลิกขวาแล้วเลือก Configure.. จะพบกับหน้าการตั้งค่าของ Node Column Filter ครับ โดยการตั้งค่าก็จะค่อนข้างเข้าใจง่ายคือ หากเพื่อนๆต้องการ column ไหนก็ให้เลือกเอาไว้ทางด้านขวา ส่วน column ไหนที่เพื่อนๆไม่ได้อยากได้ก็ให้เลือกไว้ทางด้ายซ้ายครับ

หน้าการตั้งค่าของ Column Filter

จากนั้นเลือก OK เพื่อปิดหน้าต่างการตั้งค่า Node Column Filter แล้วลองคลิกขวาเลือก Execute จากนั้นลองคลิกขวาแล้วเลือก Filtered Table เพื่อดูผลลัพท์ของการทำ Filter เพื่อนๆจะได้ Data ที่มี Column เฉพาะที่เพื่อนๆเลือกมาเท่านั้นครับ

Node ที่สองที่แนะนำคือ Node Row Filter โดย Node ที่จะใช้ในการเลือกตัดหรือเลือกเก็บ Row ที่ต้องการไว้เท่านั้น โดย input ของ Node คือ Data ครับ เพื่อนๆสามารถลากลูกศรทางด้านขวาของ Node CSV Reader มาใส่ ลูกศรทางด้านซ้ายของ Node Row Filter ได้เลยครับ

KNIME Node Row Filter
การตั้งค่า Node Row Filter

การตั้งค่าของ Node Row Filter จะแบ่งออกเป็น 3 ส่วนดังนี้ครับ

  1. ส่วนแรกทางด้านซ้ายมือครับ เป็นการเลือกว่า เราจะให้ Row Filter เลือกเก็บ(Include) หรือเลือกตัด(Exclude) ข้อมูลที่เราทำการเลือกครับ โดยจะมีตัวให้เลือกได้ทั้ง Attribute / Number และ Row ID
  2. ส่วนที่สองทางด้านขวาบนครับ เป็นการเลือกว่าจะ Row Filter จัดการ filter ที่ column ไหน
  3. ส่วนที่สามทางด้านขวาล่างครับ เป็นการเลือกว่า filter จะมีเงื่อนไขอย่างไรบ้าง เช่น column ที่เราเลือกต้องมีคำแบบที่เรากำหนด มีค่าต่ำกว่าหรือสูงกว่าค่าที่กำหนด ครับ

ตัวอย่างการใช้ Row Filter ครับ

  • ผมต้องการที่เลือกเฉพาะข้อมูลที่ column “card” มีค่าเท่ากับ Y เท่านั้นดังรูปด้านล่างครับ
ตัวอย่างต้องการเลือกข้อมูลที่มี column card เป็น Y เท่านั้น

ผมเริ่มด้วยการใช้ CSV Reader เพื่อเปิด Data จากนั้นใช้ตัว Row Filter เพื่อทำการเลือก column card

CSV Reader กับ Row Filter

จากนั้นผมทำการตั้งค่า Node Row Filter ให้เลือกเฉพาะ column card เป็น Y ครับ

  • โดยส่วนที่หนึ่งผมเลือกเป็น Include rows by attribute value ซึ่งหมายความว่าให้ตัว Node Row Filter เก็บข้อมูลเฉพาะ Attribute ที่ต้องการ
  • ส่วนที่สอง ผมเลือกเป็น column card ครับ
  • ส่วนที่สาม ใส่เป็น use pattern matching หรือหมายความว่าให้ตัวอักษรที่เรากรอกเหมือนกับข้อมูลใน column card
การตั้งค่าของ Node Row Filter

จากนั้นเลือก OK แล้วกด Execute ครับ เราจะได้ผล

ตัวอย่างผลลัพท์ที่ได้มาจาก Node Column Filter

จบแล้วครับสำหรับตัวอย่าง Node ที่ใช้ในการจัดการ และ Clean ข้อมูลครับ หากเพื่อนๆมีข้อสงสัยอย่างไร สามารถ comment ไว้ได้เลยนะครับ

Leave a Reply

Your email address will not be published.