ตกลงเพื่อผสมข้อมูลเด็ดขาดและต่อเนื่องสำหรับ SVM (รองรับ Vector Machines) หรือไม่


14

ฉันมีชุดข้อมูลเช่น

+--------+------+-------------------+
| income | year |        use        |
+--------+------+-------------------+
|  46328 | 1989 | COMMERCIAL EXEMPT |
|  75469 | 1998 | CONDOMINIUM       |
|  49250 | 1950 | SINGLE FAMILY     |
|  82354 | 2001 | SINGLE FAMILY     |
|  88281 | 1985 | SHOP & HOUSE      |
+--------+------+-------------------+

ฉันฝังลงในพื้นที่เวกเตอร์รูปแบบ LIBSVM

+1 1:46328 2:1989 3:1
-1 1:75469 2:1998 4:1
+1 1:49250 2:1950 5:1
-1 1:82354 2:2001 5:1
+1 1:88281 2:1985 6:1

ดัชนีคุณสมบัติ:

  • 1 คือ "รายได้"
  • 2 คือ "ปี"
  • 3 คือ "ใช้ / ยกเว้นเชิงพาณิชย์"
  • 4 คือ "การใช้งาน / คอนโดมิเนียม"
  • 5 คือ "การใช้งาน / ครอบครัวเดี่ยว"
  • 6 คือ "ใช้ / ซื้อ & บ้าน"

ตกลงหรือไม่ที่จะฝึกอบรมเครื่องเวกเตอร์สนับสนุน (SVM) ด้วยการผสมผสานของข้อมูลอย่างต่อเนื่อง (ปีรายได้) และหมวดหมู่ (ใช้) เช่นนี้


3
คุณควรสะกด "SVM" อย่างน้อยหนึ่งครั้ง
Peter Flom - Reinstate Monica

1
ตรวจสอบให้แน่ใจว่าคุณขยายข้อมูลดังกล่าว!
Patrick Caldon

คำตอบ:


7

ใช่ แต่อาจไม่ใช่ในแบบที่คุณหมายถึง ในการวิจัยของฉันฉันมักสร้างคุณลักษณะเด็ดขาดจากคนอย่างต่อเนื่องมูลค่าโดยใช้วิธีเช่นการแบ่ง recursive ฉันมักจะใช้วิธีนี้กับการใช้งานSVMLightของเครื่องเวกเตอร์สนับสนุน แต่ฉันก็ใช้กับ LibSVM เช่นกัน คุณจะต้องตรวจสอบให้แน่ใจว่าคุณได้กำหนดคุณสมบัติเด็ดขาดของพาร์ติชันให้กับสถานที่เฉพาะในเวกเตอร์ฟีเจอร์ของคุณในระหว่างการฝึกอบรมและการจัดหมวดหมู่มิฉะนั้นโมเดลของคุณจะจบลงด้วยความสับสน

แก้ไข:กล่าวคือเมื่อฉันทำสิ่งนี้ฉันกำหนดองค์ประกอบแรกของเวกเตอร์ให้กับค่าไบนารีที่เกี่ยวข้องกับผลลัพธ์ของการแบ่งพาร์ทิชันแบบเรียกซ้ำ ในการสร้างแบบจำลองคุณลักษณะไบนารีคุณมีเวกเตอร์ขนาดยักษ์ที่ 0 และ 1 ดังนั้นทุกอย่างจะดูเหมือนกับโมเดลเว้นแต่ว่าคุณจะระบุสถานที่ที่แตกต่างกันอย่างชัดเจน นี่อาจเป็นเรื่องที่เฉพาะเจาะจงมากเกินไปเพราะฉันคิดว่าการใช้งาน SVM ส่วนใหญ่จะทำสิ่งนี้ด้วยตัวเอง แต่ถ้าคุณต้องการตั้งโปรแกรมของคุณเองมันอาจเป็นสิ่งที่คุณคิด!


1
ขอบคุณไคล์คุณช่วยได้มากกว่านี้หน่อยได้ไหม? คุณหมายถึงอะไร "กำหนดคุณสมบัติที่เป็นหมวดหมู่ของพาร์ติชันให้กับสถานที่เฉพาะ"
เชมัสอับส์

@SeamusAbshere ไม่มีปัญหา! ฉันแก้ไขคำตอบของฉันเพื่อแก้ไขปัญหานี้!
ไคล์

ฉันรู้สึกว่าฉันได้ยินมาว่า libsvm ทำสิ่งที่คุณพูดถึงโดยอัตโนมัติ - มีความคิดอะไรบ้าง?
เชมัสอับส์

@Seamus ที่นี่ฉันคิดว่าคุณพูดถูก แต่ฉันไม่รู้แน่ ตอนนี้ฉันคิดถึงมันแล้วฉันไม่แน่ใจว่ามันจะทำงานได้อย่างไร
ไคล์

ฉันสามารถเขียนไลบรารี่ Ruby ได้ด้วยคำตอบของ @ Kyle VectorEmbed ) ที่ทำการแปลงนี้ (ฝัง) โดยอัตโนมัติทั้งสำหรับหมวดหมู่ (ใช้แฮช Murmur32) และข้อมูลต่อเนื่อง ส่งเอาต์พุตไฟล์ที่จัดรูปแบบ libsvm
เชมัสไม่มี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.