การจัดกลุ่มข้อมูล 1D


16

ฉันมีชุดข้อมูลฉันต้องการสร้างกลุ่มข้อมูลตามตัวแปรเดียวเท่านั้น (ไม่มีค่าที่หายไป) ฉันต้องการสร้าง 3 กลุ่มตามตัวแปรนั้น

อัลกอริทึมการจัดกลุ่มที่จะใช้ k-mean, EM, DBSCAN ฯลฯ

คำถามหลักของฉันคือในสถานการณ์ใดฉันควรใช้ k- หมายถึง EM หรือ EM มากกว่า k- หมายถึง?


1
อัลกอริทึม EM เป็นเครื่องมือที่ใช้โดยทั่วไปสำหรับการประเมินความเป็นไปได้สูงสุดกับข้อมูลที่ขาดหายไป - คุณจะเจาะจงได้มากขึ้นว่ามันเป็น "อัลกอริทึมการจัดกลุ่ม" ได้อย่างไร?
มาโคร

ฉันใช้ weka เป็นเครื่องมือและภายใต้อัลกอริทึมการจัดกลุ่ม EM ถูกแสดงรายการเป็นอัลกอริทึม ฉันขอโทษสำหรับคำถามอ่อนแอฉันยังใหม่กับการขุดข้อมูล
อาลี

ฉันรู้ว่าอัลกอริทึม EM นั้นใช้ในการประเมินความเป็นไปได้สูงสุดสำหรับตัวแบบตัวแปรแฝง (ซึ่งอาจคิดว่าเป็น "ข้อมูลที่หายไป") และตัวแปรแฝงมักใช้เพื่อจัดกลุ่มแบบจำลอง บางทีนี่อาจเป็นสิ่งที่มีความหมาย
มาโคร

@ แมโคร: คุณอาจต้องการดูที่นี่: stat.washington.edu/mclustสำหรับการเริ่มต้น
user603

3
วัตถุประสงค์ของการจัดกลุ่มคืออะไร? เช่นเดียวกับคำถามเชิงสถิติส่วนใหญ่มีคำตอบมากมายและการรู้จุดประสงค์เป็นแนวทางที่จำเป็นในการเลือกคำถามที่เหมาะสมหรือดี
whuber

คำตอบ:


11

อัลกอริทึม K-mean และอัลกอริทึม EM จะคล้ายกันมากสำหรับการจัดกลุ่ม 1D

ใน K- หมายถึงคุณเริ่มต้นด้วยการเดาว่าค่าเฉลี่ยอยู่ที่ใดและกำหนดแต่ละจุดให้กับคลัสเตอร์ด้วยค่าเฉลี่ยที่ใกล้เคียงที่สุดจากนั้นคุณคำนวณค่าเฉลี่ย (และความแปรปรวน) ตามการกำหนดคะแนนปัจจุบันจากนั้นอัปเดตการกำหนดจุดแล้วอัปเดต ความหมาย ...

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

ความแตกต่างหลักคือการกำหนดคะแนนให้กับกลุ่มใน K-หมายถึงทั้งหมดหรือไม่มีอะไรที่ EM ให้สัดส่วน / ความน่าจะเป็นของการเป็นสมาชิกกลุ่ม (จุดหนึ่งอาจถูกมองว่ามีความน่าจะเป็น 80% ของการอยู่ในกลุ่ม A, ความน่าจะเป็น 18% อยู่ในกลุ่ม B และมีโอกาส 2% ที่จะอยู่ในกลุ่ม C) หากมีการแยกระหว่างกลุ่มมากทั้งสองวิธีจะให้ผลลัพธ์ที่คล้ายกันสวย แต่ถ้ามีจำนวนเหลื่อมกันพอสมควร EM ก็น่าจะให้ผลลัพธ์ที่มีความหมายมากกว่านี้ (ยิ่งถ้าความแปรปรวน / ส่วนเบี่ยงเบนมาตรฐานเป็นเรื่องที่น่าสนใจ) แต่ถ้าสิ่งที่คุณสนใจคือการกำหนดความเป็นสมาชิกกลุ่มโดยไม่ต้องสนใจพารามิเตอร์พารามิเตอร์ K-แปลอาจจะง่ายกว่า

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


ขอบคุณ greg โพสต์ของคุณช่วยฉันใช้ทั้งสองและปรากฏว่า EM สร้างกลุ่มที่ดีกว่า k-Mean (ฉันคิดว่าส่วนใหญ่เป็นเพราะข้อมูลที่ฉันมีต่อเนื่องและไม่มีช่องว่าง) ฉันสับสนเล็กน้อยเนื่องจากฉันมีเพียงข้อมูล 1D ดังนั้นฉันจึงควรแยกประเภทข้อมูลออก คุณคิดอย่างไร? คุณหมายถึงอะไรโดยพารามิเตอร์? มันหมายถึงคุณลักษณะของอินสแตนซ์หรือไม่? ขอบคุณ Ali
Ali

ดูเหมือนว่า EM เพียงอย่างเดียวจะไม่เพียงพอ คุณต้องมีข้อสันนิษฐานเกี่ยวกับการกระจายตัวของการกระจายพื้นฐานของการผสม
tomka

2

EM ดีกว่า k-mean ในแง่ของผลลัพธ์

K-หมายถึงมีเวลาทำงานเร็วขึ้น

พวกเขาจะให้ผลลัพธ์ที่คล้ายกันหากเมทริกซ์เบี่ยงเบนมาตรฐาน / ความแปรปรวนร่วมมีค่าประมาณเท่ากัน หากคุณสงสัยว่าสิ่งนี้เป็นจริงให้ใช้วิธี k

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


0

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

data = [1,2,3,4,5,6,7,8,9,10,12]
k = 5
for a in data:
   print {'group': sorted(k, key=lambda n: abs(n-a))[0:k], 'point': a}

จะให้ออก:

{'group': [1, 2, 3, 4, 5], 'point': 1}
{'group': [2, 1, 3, 4, 5], 'point': 2}
{'group': [3, 2, 4, 1, 5], 'point': 3}
{'group': [4, 3, 5, 2, 6], 'point': 4}
{'group': [5, 4, 6, 3, 7], 'point': 5}
{'group': [6, 5, 7, 4, 8], 'point': 6}
{'group': [7, 6, 8, 5, 9], 'point': 7}
{'group': [8, 7, 9, 6, 10], 'point': 8}
{'group': [9, 8, 10, 7, 6], 'point': 9}
{'group': [10, 9, 8, 12, 7], 'point': 10}
{'group': [12, 10, 9, 8, 7], 'point': 12}

จุดใดที่ไอเท็มใกล้กับจุดใดจุดหนึ่งนั้นโดยทั่วไปอยู่ในกลุ่ม สิ่งเดียวที่ต้องไตร่ตรองในเทคนิคนี้คือตัวแปร k ซึ่งเป็นขนาดคงที่ของคลัสเตอร์ :-)


-2

หากมีเพียงหนึ่งตัวแปรไม่จำเป็นต้องทำคลัสเตอร์ คุณสามารถจัดกลุ่มข้อสังเกตของคุณตามการกระจายตัวของตัวแปรได้อย่างง่ายดาย

หรือว่าฉันพลาดบางจุดที่นี่?


5
คุณสามารถยกตัวอย่างเฉพาะของวิธีสังเกตกลุ่มตามการกระจายตัวของตัวแปรได้หรือไม่?
Ali

@ composer314: มีฮิสโตแกรมหรือไม่
โก้

1
ฉันขอโทษ แต่ฉันยังไม่ได้ติดตาม ฉันจะใช้ฮิสโตแกรมเพื่อจัดกลุ่มการสังเกตที่เกี่ยวข้องได้อย่างไร (ฉันเดาคำถามที่ฉันอาจจะถามว่าจริง ๆ แล้วจะพบกลุ่มหนึ่งในฮิสโตแกรมได้อย่างไรนี่จะคล้ายกับการเลือกสูงสุดของสเปกตรัมหรือไม่)
Ali

5
@composer การใช้ฮิสโตแกรมหรือแม้กระทั่งเคอร์เนลที่ราบรื่นของข้อมูลมักไม่ใช่วิธี "ง่าย" ในการทำคลัสเตอร์ หากคุณต้องการที่จะไปด้วยวิธีนี้คุณจะต้องพอดีกับรูปแบบการผสม จำกัด หากคุณต้องการให้ฮิสโตแกรมมีมุมมองแบบสบาย ๆ แนะนำให้ใช้วิธี K (หมายถึงวิธีJenksซึ่งเป็นที่นิยมในหมู่นักทำแผนที่)
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.