ฉันได้เรียนรู้ว่าเมื่อเลือกกลุ่มจำนวนมากคุณควรมองหาจุดศอกสำหรับค่าต่าง ๆ ของเคฉันได้พล็อตค่าของ ininss สำหรับค่า k จาก 1 ถึง 10 แต่ฉันไม่เห็นชัดเจน ข้อศอก. คุณทำอะไรในกรณีเช่นนี้?
ฉันได้เรียนรู้ว่าเมื่อเลือกกลุ่มจำนวนมากคุณควรมองหาจุดศอกสำหรับค่าต่าง ๆ ของเคฉันได้พล็อตค่าของ ininss สำหรับค่า k จาก 1 ถึง 10 แต่ฉันไม่เห็นชัดเจน ข้อศอก. คุณทำอะไรในกรณีเช่นนี้?
คำตอบ:
บางทีคุณกำลังใช้อัลกอริทึมที่ไม่ถูกต้องสำหรับปัญหาของคุณ
K-mean มีความไวสูงต่อการประมวลผลล่วงหน้า หากคุณลักษณะหนึ่งอยู่ในระดับที่ใหญ่กว่าอีกแอตทริบิวต์หนึ่งจะมีผลควบคุม ผลลัพธ์ของคุณจะเป็น 1 มิติอย่างมีประสิทธิภาพ
ไม่ว่าคุณจะทำอะไรคุณจะต้องตรวจสอบความถูกต้องของผลการค้นหาด้วยสิ่งอื่นที่ไม่ใช่การเริ่มต้นที่ตัวเลขเช่น SSQ พิจารณาการสร้างภาพแทน
การสร้างภาพข้อมูลอาจบอกคุณได้ว่าอาจมีเพียงคลัสเตอร์เดียวในข้อมูลของคุณ
วิธีหนึ่งคือตรวจสอบสมาชิกในกลุ่มของคุณด้วยตนเองเพื่อหาค่า k เฉพาะเพื่อดูว่าการจัดกลุ่มเหมาะสมหรือไม่ ซึ่งสามารถทำได้ผ่านตารางฉุกเฉินและวิธีการที่มีเงื่อนไข ทำสิ่งนี้เพื่อความหลากหลายของ k และคุณสามารถกำหนดค่าที่เหมาะสมได้
วิธีอัตนัยน้อยคือการใช้ค่าเงา:
/programming/18285434/how-do-i-choose-k-when-using-k-means-clustering-with-silhouette-function
สามารถคำนวณได้ด้วยแพ็คเกจซอฟต์แวร์ที่คุณชื่นชอบ จากลิงค์:
วิธีนี้จะเปรียบเทียบความคล้ายคลึงภายในกลุ่มกับความคล้ายคลึงกันของกลุ่มที่ใกล้เคียงที่สุด ถ้าระยะทางเฉลี่ยข้อมูลสมาชิกใด ๆ ไปยังสมาชิกอื่นของคลัสเตอร์เดียวกันนั้นสูงกว่าระยะทางเฉลี่ยไปยังสมาชิกคลัสเตอร์อื่นบางส่วนค่านี้เป็นค่าลบและการจัดกลุ่มไม่สำเร็จ ในทางกลับกันค่า silhuette ใกล้กับ 1 หมายถึงการดำเนินการจัดกลุ่มที่ประสบความสำเร็จ 0.5 ไม่ใช่มาตรการที่แน่นอนสำหรับการทำคลัสเตอร์
contingency tables and conditional means
นี่คือลึกลับเพิ่มเติม ฉันควรทำอย่างไรกับพวกเขาถึง "ส่วนตัว" ที่ k ดี?
โดยทั่วไปคุณอาจพิจารณา:
เราสามารถใช้แพ็คเกจ NbClust เพื่อค้นหาค่าที่เหมาะสมที่สุดของ k มันมี 30 ดัชนีสำหรับการกำหนดจำนวนของกลุ่มและเสนอผลลัพธ์ที่ดีที่สุด
NbClust (data = df, distance = "euclidean", min.nc = 2, max.nc = 15, method = "kmeans", index = "all")