วันศุกร์ที่ 26 มีนาคม พ.ศ. 2553

การเชื่อมต่อฐานข้อมูล MySQL กับ Weka


การนำข้อมูลอินพุตเข้า Weka นั้น สามารถทำได้หลายวิธี เช่น
  • Import ARFF file
  • Import CSV file
  • เรียกใช้ข้อมูลที่อยู่ใน website  โดยระบุ URL ที่เก็บข้อมูล
  • Import ข้อมูลจากฐานข้อมูล
สำหรับวันนี้จะอธิบายเกี่ยวกับการติดต่อฐานข้อมูล MySQL กับ Weka เพราะผู้ใช้งานส่วนใหญ่มักใช้ฐานข้อมูลในการเก็บข้อมูลอยู่แล้ว ซึ่งการ import data เข้า Weka โดยตรงจากฐานข้อมูลน่าจะสะดวกกว่าการแปลงข้อมูลให้อยู่ในรูปแบบ ARFF หรือ CSV file ค่ะ สำหรับขั้นตอนการ Import ข้อมูลจาก MySQL เข้าสู่ Weka สามารถทำได้ดังนี้ค่ะ







1.Download JDBC Driver สำหรับ MySQL (mysql-connector-java v5.1.10) และนำไปวางไว้กับ folder เดียวกับ weka.jar
2.Download Properties file (DatabaseUtils.props) และนำไปวางไว้ที่ folder เดียวกับ weka.jar
3.เปิด file DatabaseUtils.props และแก้ไขบรรทัดต่อไปนี้
# JDBC driver (comma-separated list)
jdbcDriver=com.mysql.jdbc.Driver
# database URL
jdbcURL=jdbc:mysql://localhost:3306/[ชื่อ database]
4.เปิด file RunWeka.ini และแก้ไข “cp=%CLASSPATH%” เป็น
cp=%CLASSPATH%;mysql-connector-java-5.1.10-bin.jar
5.เปิดโปรแกรม Weka เพื่อเรียกใช้งาน จากนั้นเลือก Application เป็น Explorer และคลิกที่ OpenDB
6.
จะปรากฎหน้าต่าง SQL Viewer ให้คลิกที่ User… จากนั้นระบุ



  • Database URL เป็น jdbc:mysql://localhost:3306/[ชื่อ database]





  • Username และ Password ที่ใช้ login เพื่อใช้งาน MySQL




  • 7.Click ที่ปุ่ม Connect เพื่อทำการเชื่อมต่อกับฐานข้อมูล สังเกตว่าช่อง Info จะแสดงผลลัพธ์ของการเชื่อมต่อ
    8.ใส่คำสั่ง Query เพื่อทำการดึงข้อมูลจากฐานข้อมูลขึ้นมาแสดง จากนั้นกด Execute ผลลัพธ์ที่ได้จะแสดงในช่อง Resultสังเกตว่าในช่อง Info จะแสดงจำนวนผลลัพธ์ที่ทำการ Query ขึ้นมา สุดท้ายกดที่ปุ่ม OK เพื่อทำการ Import ข้อมูลดังกล่าวเข้า Weka ค่ะ
    9.ที่หน้า Preprocess จะเห็นว่าข้อมูลที่ Import จาก MySQL จะมีหน้าตาเหมือนการ Import จาก ARFF หรือ CSV format ต่อจากนี้ไปก็สามารถใช้เทคนิค data mining ที่มีอยู่ใน Weka ทำการวิเคราะห์หรือสร้าง model ต่างๆ ได้แล้วค่ะ
    refer: http://open-miner.com/2010/02/07/import_mysql_weka/