วิธีแก้ปัญหา weka out of memory

เคยกันบ้างไหมค่ะ เวลาที่รัน weka ด้วยข้อมูลที่มีขนาดใหญ่มากๆ แล้วเจอปัญหามี Message Box ขึ้นว่า Out of Memory ดังภาพที่ 1
ภาพที่ 1 Message Box weka out of memory
ปัญหานี้เกิดจากหน่วยความจำ (memory) ที่ใช้ในการรัน weka มีไม่เพียงพอค่ะ โดยปกติแล้ว เมื่อเราติดตั้ง weka ระบบจะ default ค่าหน่วยความจำที่จองไว้สำหรับรัน weka เท่ากับ 256 MB จะทำอย่างไรดีล่ะ หากข้อมูลที่เราต้องการรันด้วย weka มีขนาดมากกว่า 256 MB

วิธีแก้ไข สามารทำได้ 2 วิธี คือแก้ไขผ่านทาง weka Configuration หรือแก้ไขผ่านทาง command line ค่ะ (เลือกตามความถนัดเลยค่ะ)
วิธีที่1 แก้ไขจาก weka Configuration – วิธีนี้เป็นการแก้ไขค่าตัวแปร maxheap ใน configure file ของ weka ดังนี้ค่ะ (maxheap เป็นตัวแปรที่ระบุว่าสามารถใช้หน่วยความจำได้มากที่สุดเท่าไหร่ ในการรัน weka) วิธีการแก้ไขตามขั้นตอนด้านล่างค่ะ
1. เข้าไปที่ folder ที่ติดตั้ง weka  เช่น C:\Program Files\Weka-3-6
2. เปิด file RunWeka.ini (ภาพที่ 2) ด้วย notepad หรือ editplus
ภาพที่ 2 RunWeka.ini file
3. แก้ไขค่า maxheap ให้มากขึ้น (แต่ไม่เกินขนาดของหน่วยความจำภายในเครื่อง)  เช่น  1024m (เท่ากับ 1GB) ดังภาพที่ 3
ภาพที่ 3 ตัวแปร maxheap ใน RunWeka.ini file
4. หลังจากแก้ไขค่า maxheap และทำการ save แล้ว หากมีการเปิด program weka ค้างอยู่ ให้ทำการปิด program weka ก่อนทุกครั้ง แล้วเปิด program weka ขึ้นมาใหม่ เพื่อให้ระบบทำการ load configuration ใหม่นี้อีกครั้ง จึงจะใช้งานได้ค่ะ

วิธีที่ 2 แก้ไขผ่านทาง command lineสำหรับผู้ที่คุ้นเคยกับการใช้งาน command line ให้รันคำสั่งด้านล่างค่ะ (ใช้ได้ทั้ง Linux/ Mac และ Windows OS ค่ะ)
Java –Xmx1024m –jar weka.jar
โดยที่ 1024m คือ จำนวนหน่วยความจำที่ต้องการเพิ่มให้ weka ค่ะ (แต่ไม่เกินขนาดของหน่วยความจำภายในเครื่อง) เช่นกันค่ะ หลังจากแก้ไข configuration file ของ weka แล้ว หากมีการเปิด program weka ค้างอยู่ ให้ทำการปิด program weka ก่อนทุกครั้ง แล้วเปิด program weka ขึ้นมาใหม่ เพื่อให้ระบบทำการ load configuration ใหม่นี้อีกครั้ง จึงจะใช้งานได้ค่ะ

 แหล่งที่มาด้วยว่ามาจาก www.open-miner.com