มีอัลกอริทึมคล้ายต้นไม้ตัดสินใจสำหรับการทำคลัสเตอร์แบบไม่ดูแลหรือไม่


20

ฉันมีชุดข้อมูลประกอบด้วย 5 คุณสมบัติ: A, B, C, D, E พวกเขาทั้งหมดเป็นค่าตัวเลข แทนที่จะทำการจัดกลุ่มตามความหนาแน่นสิ่งที่ฉันต้องการทำคือการจัดกลุ่มข้อมูลในลักษณะคล้ายต้นไม้ตัดสินใจ

วิธีที่ฉันหมายถึงคือ:

อัลกอริทึมอาจแบ่งข้อมูลออกเป็นกลุ่มเริ่มต้น X ตามคุณลักษณะ C เช่นกลุ่ม X อาจมีขนาดเล็ก C ขนาดกลาง C ขนาดใหญ่และค่า C ที่มีขนาดใหญ่มากเป็นต้นถัดไปภายใต้โหนดคลัสเตอร์ X แต่ละโหนดอัลกอริธึมเพิ่มเติม ข้อมูลในคลัสเตอร์ Y ตามคุณลักษณะ A อัลกอริทึมจะดำเนินต่อไปจนกว่าจะใช้คุณลักษณะทั้งหมด

อัลกอริทึมที่ฉันอธิบายไว้ข้างต้นเป็นเหมือนอัลกอริธึมต้นไม้ตัดสินใจ แต่ฉันต้องการมันสำหรับการจัดกลุ่มแบบไม่ดูแลแทนการจัดกลุ่มแบบมีผู้ดูแล

คำถามของฉันมีดังต่อไปนี้:

  1. อัลกอริทึมดังกล่าวมีอยู่แล้วหรือไม่? ชื่อที่ถูกต้องสำหรับอัลกอริทึมดังกล่าวคืออะไร
  2. มีแพ็คเกจ / ไลบรารี R / python ที่มีการใช้อัลกอริทึมชนิดนี้หรือไม่?

3
But I need it for unsupervised clustering, instead of supervised classificationวลีสำคัญนี้เพียงอย่างเดียวสั้นเกินไปและไม่ได้อธิบายสิ่งที่คุณต้องการอย่างชัดเจน ข้างต้นคุณอธิบายสิ่งที่ดูเหมือนว่าฉันจะเป็นต้นไม้ตัดสินใจ ตอนนี้คุณสามารถให้ข้อความที่คล้ายกันเกี่ยวกับอัลโกที่คุณต้องการได้หรือไม่?
ttnphns

1
@ttnphns สวัสดีอย่างที่คุณทราบต้นไม้การตัดสินใจเป็นวิธีการกำกับดูแล คุณติดป้ายกำกับแต่ละคุณลักษณะของเวกเตอร์เป็น Class1 หรือ Class2 อัลกอริทึมจะกำหนดเกณฑ์สำหรับแต่ละคุณลักษณะตามป้ายกำกับที่รู้จัก อย่างไรก็ตามฉันกำลังประสบปัญหาการจัดกลุ่ม ฉันไม่ทราบป้ายกำกับที่ถูกต้องของแต่ละคุณลักษณะของเวกเตอร์ ฉันต้องการค้นหาอัลกอริทึมที่กำหนดเกณฑ์โดยอัตโนมัติสำหรับแต่ละคุณสมบัติเพื่อสร้างทรี ด้วยวิธีนี้การจัดกลุ่มผลลัพธ์สามารถตีความได้อย่างง่ายดายเช่นคลัสเตอร์ 1: สูง A-Low B- ปานกลาง C- สูง D - ต่ำ E, คลัสเตอร์ 2 เป็นต่ำ A - สูง B- สูง C ปานกลางปานกลาง - ต่ำ E
nan

ไม่ค่อยเข้าใจคุณ ใช้CHAIDต้นไม้เช่น คุณต้องเลือกตัวแปรตาม ปล่อยให้มันเป็น A อัลกอริทึมเลือกระหว่าง B, C, D, E ตัวแปรที่มีความสัมพันธ์มากที่สุดกับ A และ binns ที่ตัวแปร (พูดว่ามันทำนายถูก D) เป็นสองประเภทหรือมากกว่า "เหมาะสม" - เพื่อให้ความสัมพันธ์ (ระหว่างตัวแปรที่ถูกจัดหมวดหมู่ D และตัวแปร A นั้นถูกขยายให้ใหญ่ที่สุดบอกว่ามันเหลือ 3 กลุ่มคือ D1, D2, D3 ถัดไปจะมีการทำซ้ำขั้นตอนเดียวกันในแต่ละหมวดหมู่ (กลุ่ม) ของ D แยกจากกัน อีจะมองตาม binning มัน ฯลฯ อะไร. ว่าไม่เหมาะกับคุณที่นี่?
ttnphns

2
@ttnphns ฉันเพิ่งพบกระดาษนี้ฉันคิดว่าพวกเขาทำในสิ่งที่ฉันหมายถึง ftp.cse.buffalo.edu/users/azhang/disc/disc01/cd1/out/papers/…
nan

1
@ คุณเคยเห็นการใช้ต้นไม้แบบนี้บ้างไหม? พวกเขาไม่ได้ให้ลิงค์ไปยังรหัสในบทความ
Alleo

คำตอบ:


12

คุณอาจต้องการพิจารณาแนวทางต่อไปนี้:

  • ใช้อัลกอริทึมการจัดกลุ่มใด ๆ ที่เพียงพอสำหรับข้อมูลของคุณ
  • สมมติว่าคลัสเตอร์ผลลัพธ์เป็นคลาส
  • ฝึกต้นไม้ตัดสินใจบนกลุ่ม

สิ่งนี้จะช่วยให้คุณลองใช้อัลกอริทึมการจัดกลุ่มที่แตกต่างกัน แต่คุณจะได้รับการประมาณต้นไม้ตัดสินใจ


1
ยอมรับว่านี่คือ "เหมาะสม" แต่แน่นอนว่าต้องจำไว้เสมอว่าการสร้างฉลากจากอัลกอริธึมการจัดกลุ่มไม่ใช่คุณลักษณะ "ที่แท้จริง" ของการสังเกต ขึ้นอยู่กับคุณภาพ & ประเภทของการจัดกลุ่มการตั้งค่าที่แนะนำจะมีอยู่ในระดับที่มากหรือน้อย
NiuBiBang

คุณช่วยชี้ให้ฉันดูบทความที่กล่าวถึงกลยุทธ์นี้ได้หรือไม่?
nCessity

2

กระดาษแรกที่มาถึงใจคือ: Clustering ผ่านการตัดสินใจต้นไม้ก่อสร้าง https://pdfs.semanticscholar.org/8996/148e8f0b34308e2d22f78ff89bf1f038d1d6.pdf

ดังที่กล่าวไว้อีกว่า "ลำดับชั้น" (จากบนลงล่าง) และ "การรวมตัวแบบลำดับชั้น" (จากล่างขึ้นบน) เป็นเทคนิคที่รู้จักกันดีทั้งในและต่างประเทศโดยใช้ต้นไม้ในการทำคลัสเตอร์ Scipy มีสิ่งนี้

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

1) ภายใต้การดูแล: นี่ค่อนข้างคล้ายกับกระดาษ (ควรอ่าน) สร้างรูปแบบต้นไม้ตัดสินใจเดียวเพื่อเรียนรู้เป้าหมายบางอย่าง (คุณเป็นผู้ตัดสินใจว่าอะไรเหมาะสม) เป้าหมายอาจเป็นคอลัมน์ที่สร้างแบบสุ่ม (ต้องมีการทำซ้ำและประเมินว่าการทำซ้ำแบบใดดีที่สุดดูด้านล่าง) กำหนดเส้นทางแบบเต็มของต้นไม้แต่ละต้นเป็น "กลุ่ม" เนื่องจากจุดที่ตกผ่านชุดของสาขานั้นมีความคล้ายคลึงกันทางเทคนิคเกี่ยวกับเป้าหมาย วิธีนี้ใช้ได้ผลดีกับปัญหาบางอย่างเท่านั้น แต่มีประสิทธิภาพในระดับมาก คุณจะพบกับกลุ่ม K (ดูด้านล่าง)

2) Semisupervised (เรียงลำดับของ unsupervised แต่ดูแลโดยกลไก) โดยใช้ # 1: คุณสามารถลองสร้างต้นไม้เพื่อทำนายคอลัมน์ในรูปแบบการลาแบบหนึ่งครั้ง นั่นคือถ้าสคีมาคือ [A, B, C], สร้างแบบจำลอง 3 แบบ [A, B] -> C, [A, C] -> B, [B, C] -> A คุณได้รับกลุ่ม KN (ดูด้านล่าง) N = len (สคี) หากคุณสมบัติเหล่านี้บางอย่างไม่น่าสนใจหรือไม่สมดุล (ในกรณีของหมวดหมู่) อย่าใช้มันเป็นเป้าหมาย

สรุป: ตัวแบบจะเลือกคุณสมบัติตามลำดับตามข้อมูลหรือความบริสุทธิ์และกลุ่มจะขึ้นอยู่กับคุณสมบัติเพียงไม่กี่อย่างมากกว่าทั้งหมด ไม่มีแนวความคิดเกี่ยวกับระยะห่างในกระจุกดาวเหล่านี้ แต่คุณสามารถกำหนดได้โดยอาศัยศูนย์กลาง

จุดเด่น: ง่ายต่อการเข้าใจและอธิบายการฝึกอบรมอย่างรวดเร็วและการอนุมานทำงานได้ดีกับคุณสมบัติที่แข็งแกร่งไม่กี่ทำงานร่วมกับหมวดหมู่ เมื่อคุณสมบัติของคุณอยู่ในสาระสำคัญที่แตกต่างกันและคุณมีคุณสมบัติมากมายคุณไม่จำเป็นต้องใช้เวลามากในการตัดสินใจว่าจะใช้ฟังก์ชันระยะทางใด

จุดด้อย: ไม่ได้มาตรฐานจะต้องเขียนอคติไร้เดียงสา collinearity กับเป้าหมายทำให้เกิดผลลัพธ์ที่ไม่ดีมี 1,000 คุณสมบัติที่สำคัญเท่าเทียมกันจะไม่ทำงานได้ดี (KMeans กับระยะทางแบบยุคลิดจะดีกว่าที่นี่)

คุณได้รับกี่คลัสเตอร์ คุณต้อง จำกัด รูปแบบ DT อย่างแน่นอนเพื่อไม่ให้เติบโตมากเกินไป เช่นตั้งค่าตัวอย่างขั้นต่ำต่อใบ, โหนดใบไม้สูงสุด (แนะนำ) หรือความลึกสูงสุด เลือกกำหนดความบริสุทธิ์หรือข้อ จำกัด ของเอนโทรปี คุณต้องตรวจสอบว่ามีคลัสเตอร์กี่รายการที่คุณให้และประเมินว่าวิธีนี้ดีกว่าการจัดกลุ่มจริงหรือไม่

เทคนิคและพารามิเตอร์ทำงานได้ดีสำหรับคุณหรือไม่ อันไหนดีที่สุด? หากต้องการค้นหาคุณต้องทำการประเมินผลคลัสเตอร์: การวัดประสิทธิภาพเพื่อประเมินการเรียนรู้ที่ไม่ได้รับการดูแล


2

สิ่งที่คุณกำลังมองหาคืออัลกอริทึมการจัดกลุ่มแบบแยกส่วน

อัลกอริทึมที่พบบ่อยที่สุดคือ agglomerative ซึ่งจัดกลุ่มข้อมูลในลักษณะจากล่างขึ้นบน - การสังเกตแต่ละครั้งเริ่มต้นเมื่อคลัสเตอร์และกลุ่มของมันถูกรวมเข้าด้วยกัน การแบ่งกลุ่มแบบแยกส่วนเป็นบนลงล่าง - การสังเกตเริ่มต้นในกลุ่มเดียวซึ่งจะถูกแบ่งออกเป็นค่อย ๆ

ความปรารถนาที่จะดูเหมือนต้นไม้ตัดสินใจเลือก จำกัด เนื่องจากอัลกอริธึมส่วนใหญ่ทำงานในระยะทางภายในพื้นที่ข้อมูลที่สมบูรณ์แทนที่จะแยกทีละหนึ่งตัวแปร

DIANA เป็นอัลกอริทึมการแบ่งกลุ่มเดียวที่ฉันรู้จักและฉันคิดว่ามันมีโครงสร้างเหมือนต้นไม้ตัดสินใจ ฉันจะประหลาดใจถ้าไม่มีคนอื่นออกมี

คุณสามารถใช้อัลกอริทึมแผนผังการตัดสินใจแบบมาตรฐานหากคุณปรับเปลี่ยนกฎการแยกเป็นตัวชี้วัดที่ไม่พิจารณาตัวแปรตามที่กำหนด แต่ใช้ตัวชี้วัดความดีของกลุ่ม


0

แนวคิดหนึ่งที่ควรพิจารณาคือสมมติว่าคุณมีคุณสมบัติ k และ n จุด คุณสามารถสร้างแผนภูมิแบบสุ่มโดยใช้คุณสมบัติ (k-1) และ 1 คุณสมบัติเป็นตัวแปรตาม Y. คุณสามารถเลือกความสูง h หลังจากนั้นคุณจะมีจุดข้อมูลในราก คุณสามารถเลือกต้นไม้ชนิดต่าง ๆ ได้ แค่ความคิด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.