310 likes | 556 Views
Weka Introducing. DR. UREERAT SUKSAWATCHON 321641 DATA MINING. What is Weka?. W aikato E nvironment for K nowledge A nalysis Since 1997 by Waikato University, New Zealand Opensource software used for data analysis by data mining techniques
E N D
Weka Introducing DR. UREERAT SUKSAWATCHON 321641 DATA MINING
What is Weka? • Waikato Environment for Knowledge Analysis • Since 1997 by Waikato University, New Zealand • Opensource software used for data analysis by data mining techniques • The system is written in JAVA and distributed under the terms of the GNU General Public License • It runs on any platform • Linux, Windows, Mac OS, PDA
How do we get? • http://www.cs.waikato.ac.nz/ml/weka • Free Weka tutorial on Web and book
Starting Weka • Weka’s GUI
Weka Explorer Tab สำหรับการเรียกใช้งาน Workspace Status Bar
Weka Explorer • Preprocess • Classify • Cluster • Associate • Select Attributes • Visualize
Preparing the data • ข้อมูล • Instance • Attribute • การโหลดข้อมูลเข้าไปในโปรแกรม Weka • ไฟล์ CSV (Comma-Separated Value) • ไฟล์ ARFF (Attribute-Relation File Format) • ฐานข้อมูล • Data Preprocessingwith Weka • แปลงข้อมูลที่เป็นตัวเลขให้เป็นช่วง • เพิ่มข้อมูลที่ขาดหาย • ค้นหาข้อมูล Outliers
Ex: Customer Data • ใช้ข้อมูลเกี่ยวกับลูกค้าซึ่งประกอบไปด้วยข้อมูลดังต่อไปนี้ Instance: ใช้สำหรับแสดงข้อมูลแต่ละคน Attribute: ใช้สำหรับคุณลักษณะต่าง ๆ ของข้อมูล
Ex: Customer Data • ประเภทข้อมูลในแต่ละ Attribute • Numeric • ข้อมูลที่เป็นตัวเลข • ค่าวัดเชิงปริมาณ • ได้แก่ attribute หมายเลขสมาชิก อายุ และรายได้ • Non-numeric หรือ Categorical • ข้อมูลประเภทต่าง ๆ • ไม่มีลำดับก่อนหลัง • ได้แก่ attribute ชื่อสมาชิก และเพศ
Ex: Customer Data • การนำเข้าข้อมูลในโปรแกรม Weka • Openfile :นำเข้าไฟล์ CSV หรือ ARFF ที่ได้จัดเตรียมไว้แล้ว • Open URL : นำเข้าไฟล์ CSV หรือ ARFF ผ่านเครือข่าย • Open DB: ดึงข้อมูลจากฐานข้อมูล • Generate : สร้างข้อมูลตัวอย่าง เพื่อใช้ในการทดสอบ โดยการระบุจำนวน instances และจำนวน attributes
Ex: Customer Data • รู้จักไฟล์ CSV (Comma-Separated Value) • ใช้เครื่องหมาย Comma (,) แบ่งระหว่าง attribute • สามารถใช้ Excel ในการสร้างไฟล์ CSV (เลือก Save เป็น CSV Format) ไฟล์ข้อมูลในรูปแบบ CSV ไฟล์ข้อมูลใน Excel ***ทดลองสร้าง CSV ตามตัวอย่าง
Ex: Customer Data • รู้จักไฟล์ ARFF (Attribute-Relation File Format) • เป็นไฟล์ที่ Weka กำหนดขึ้นเอง • แบ่งเป็น 2 ส่วน • ส่วน Header: เป็นส่วนแสดงรายละเอียดต่าง ๆ • ชื่อของชุดข้อมูล (relation) • ชื่อของแต่ละ attribute • ประเภทของข้อมูลในแต่ละ attribute (data type) • ส่วน Data: เป็นส่วนของข้อมูลในแต่ละ attribute ที่ต้องการใช้ในการวิเคราะห์
Ex: Customer Data • Tag พิเศษที่มีในส่วน header ในไฟล์ ARFF • @relation <relation-name> • ใช้ในการบอกชื่อเรียกของชุดข้อมูล • @attribute <attribute-name> <data type> • ใช้ในการบอกชื่อ attribute และชนิดของข้อมูล • Tag พิเศษที่มีในส่วน Data ในไฟล์ ARFF • @data • หมายความว่า บรรทัดต่อไปจากนี้จะเป็นส่วนของข้อมูล โดยใช้เครื่องหมาย comma คั่นระหว่าง attribute • % แทน comment หรือคำอธิบาย
Ex: Customer Data • ประเภทข้อมูลในแต่ละ attribute • ข้อมูลที่เป็นตัวเลข • จำนวนเต็ม และจำนวนจริง • ใช้ keyword numeric • ข้อมูลที่ไม่ใช่ตัวเลข (nominal) ที่ไม่มีลำดับ • เช่น ชื่อคน สิ่งของ สถานที่ เพศ • มักระบุค่าที่เป็นไปได้ทั้งหมดในรูปแบบของ set เช่น sex {0,1,2} เป็นต้น • ลองเปรียบเทียบความแตกต่างระหว่าง CSV และ ARFF
Ex: Weather Data • ใช้ข้อมูลชื่อ weather.arff อยู่ใน C:\Program Files\Weka-3-6\data • เป็นข้อมูลสภาพอากาศมีผลต่อการแข่งขันเบสบอลในอเมริกา • เก็บข้อมูลสภาพอากาศย้อนหลัง 14 วัน • ที่มา http://www.theweatherprediction.com/habyhints/285/
Ex: Weather Data • ใช้ข้อมูลชื่อ weather.arff อยู่ใน C:\Program Files\Weka-3-6\data • เป็นข้อมูลสภาพอากาศมีผลต่อการแข่งขันเบสบอลในอเมริกา • เก็บข้อมูลสภาพอากาศย้อนหลัง 14 วัน • เปิด weather.arff ด้วย editor • ที่มา http://www.theweatherprediction.com/habyhints/285/
Ex: Weather Data • เปิด Weka เลือก Explorer-> กดปุ่ม Open file -> เลือกไฟล์ weather.arff 1 6 2 4 3 5
Ex: Weather Data • ส่วนที่สำคัญของ Preprocess คือเมนู Filter • แปลงข้อมูล เนื่องจากบางเทคนิคทำงานได้เฉพาะข้อมูลที่เป็น nominal เท่านั้น • Discretize: แปลงข้อมูลตัวเลข (numeric or real) ใหเป็นข้อมูลประเภท (nominal) • StringToNominal: แปลงข้อมูลที่เป็นล้กษณะข้อความ (string) ให้เป็นข้อมูลลักษณะประเภท (nominal) แก้ไขข้อมูลที่ผิดพลาด • แก้ไขข้อมูลที่ผิดพลาด • ReplaceMissingValue: เพิ่มข้อมูลที่ขาดหายไป • การค้นหา Outliers • InterquartileRange: พิจารณาจากการกระจายตัวของข้อมูล
Ex: Weather Data • Discretization: แปลงข้อมูลตัวเลข (numeric or real) ใหเป็นข้อมูลประเภท (nominal) Discretize
Ex: Weather Data • Missing Value • ข้อมูลบางส่วนหายไป อาจเกิดจาก • ความผิดพลาดในการกรอกข้อมูล • ความจงใจในการให้ข้อมูลจริง • ข้อมูลไม่น่าเชื่อถือในการวิเคราะห์หรือทำนาย • จากตัวอย่าง Cutomer มีตัวอย่างใดไม่น่าเชือ่ถือ
Ex: Weather Data • การ Replace missing value • ใช้เครื่องหมาย ? แทนข้อมูลที่หายไปหรือข้อมูลที่ต้องการให้มีการ replace • ถ้าข้อมูลเป็นตัวเลข แทนที่ด้วย ค่าเฉลี่ย (mean) ของค่าใน attribute นั้น ๆ • ถ้าข้อมูลเป็นประเภทแทนที่ด้วย ข้อมูลที่ปรากฏบ่อยที่สุด (mode) ใน attribute นั้น ๆ
Ex: Weather Data • การ Replace missing value
Ex: Weather Data • การ Replace missing value
Ex: Weather Data • ทดลองทำโดยการแก้ไฟล์ CustomerData.arff • Save ไฟล์ในชื่อ CustomerData_wmissing.arff • กดปุ่ม Choose-> filters->unsupervised->attribute->ReplaceMissingValues แล้วกดปุ่ม Apply
Ex: Weather Data • Detect Outlier • Outlier คือข้อมูลที่มีความผิดปกติที่แปลกแยกจากข้อมูลส่วนใหญ่ อาจจะถือว่าเป็นข้อมูลจริงหรือ noise ก็ได้ • ใช้วิธีที่เรียกว่า Interquartile range (IQR) • ทดลองการใช้ outlier จากไฟล์ customer_outlier.arff • Edit ดูข้อมูลก่อน • ก่อนทำ outlier ควรลบข้อมูลที่ไม่เกี่ยวข้องออก ในที่คือ attribute Customer_ID และ Name • กดปุ่ม Choose-> filters->unsupervised->attribute->InterquartileRange แล้วกดปุ่ม Apply
Memory Error • ซอฟต์แวร์ Weka จะทำการอ่านข้อมูลทั้งหมดเข้าไปเก็บไว้ในหน่วยความจำ (memory) ภายในเครื่องก่อน แล้วจึงนำข้อมูลเหล่านี้ไปประมวลผลต่อไป • อาจเกิด error ได้ เนื่องจากหน่วยความจำไม่พอ • การคำนวณขนาดของหน่วยความจำที่ต้องใช้ คำนวณได้จาก Approx_mem = number of attributes * number of instances * 8 • ตัวอย่างเช่น ข้อมูล 10,000,000 instances มี 10 attributes จะต้องใช้หน่วยความจำ = 10,000,000*10*8 = 800,000,000 = 800 MB
Memory Error • ให้ทำการสร้างข้อมูลตัวอย่าง โดยการกดปุ่ม Gernerate… • เลือก numExamples เป็น 1,000,000 แล้วกดปุ่ม Gernerate เม้าส์ Click เพื่อแก้ไข parameters
Memory Error • จะปรากฎหน้าต่างดังนี้
Memory Error • ทำการเพิ่มขนาดโดยการแก้ไขในไฟล์ C:\Program Files\Weka-3-6\RunWeka.ini • ทำการเปลี่ยน maxheap ให้มากขึ้น แต่ไม่เกินขนาดของหน่วยความจำภายในเครื่อง