อย่าวางตัวแปรใด ๆ แต่ใช้ PCA นี่คือเหตุผล
ประการแรกดังที่ Anony-mousse ชี้ให้เห็นว่า k-หมายความว่าไม่ได้รับผลกระทบอย่างรุนแรงจาก collinearity / correlations คุณไม่จำเป็นต้องทิ้งข้อมูลเพราะสิ่งนั้น
ประการที่สองหากคุณวางตัวแปรของคุณในทางที่ไม่ถูกต้องคุณจะต้องนำตัวอย่างบางส่วนมารวมกันใกล้เคียงกัน ตัวอย่าง:
Customer CatA CatB CatC
1 1 0 0
2 0 1 0
3 0 0 1
(ฉันลบเครื่องหมายสัญกรณ์% และใส่ค่าระหว่าง 0 และ 1, ข้อ จำกัด ดังนั้นพวกเขาจึงรวมเป็น 1)
ระยะทางแบบยุคลิดระหว่างลูกค้าแต่ละคนในพื้นที่ 3 มิติตามธรรมชาติคือ(1−0)2+(0−1)2+(0−0)2−−−−−−−−−−−−−−−−−−−−−−−√=2–√
ตอนนี้สมมติว่าคุณวาง CatC
Customer CatA CatB
1 1 0
2 0 1
3 0 0
ตอนนี้ระยะห่างระหว่างลูกค้า 1 และ 2 ยังคงเป็นแต่ระหว่างลูกค้า 1 และ 3 และ 2 และ 3 เป็นเพียง . คุณทำให้ลูกค้าปลอมขึ้น 3 คล้ายกับ 1 และ 2 ในแบบที่ข้อมูลดิบไม่สนับสนุน2–√(1−0)2+(0−0)2−−−−−−−−−−−−−−−√=1
ประการที่สามความเป็นคู่ / ความสัมพันธ์ไม่ใช่ปัญหา มิติข้อมูลของคุณคือ 100 ตัวแปรมีขนาดใหญ่พอที่แม้จะมีดาต้าพอยน์ 10 ล้านตัวฉันกังวลว่าค่าเฉลี่ย k อาจจะพบรูปแบบปลอมในข้อมูลและเหมาะสมกับสิ่งนั้น ให้คิดถึงการใช้ PCA เพื่อบีบอัดลงในมิติที่สามารถจัดการได้มากขึ้นเช่นพูดว่า 10 หรือ 12 เพื่อเริ่มต้นด้วย (อาจสูงกว่าหรือต่ำกว่านั้นมาก - คุณจะต้องดูความแปรปรวนของแต่ละองค์ประกอบและเล่นรอบ ๆ บิตเพื่อหาหมายเลขที่ถูกต้อง) คุณจะนำตัวอย่างบางส่วนเข้ามาใกล้กันมากขึ้นโดยการทำสิ่งนี้ใช่ แต่คุณจะทำเช่นนั้นในลักษณะที่ควรรักษาความแปรปรวนส่วนใหญ่ในข้อมูลและจะเป็นการลบความสัมพันธ์โดยเฉพาะ
~~~~~
แก้ไข:
เรื่องความคิดเห็นด้านล่างเกี่ยวกับ PCA ใช่มันมีโรคอย่างแน่นอน แต่มันก็ค่อนข้างเร็วและง่ายต่อการลองดังนั้นดูเหมือนว่าจะไม่เลวร้ายสำหรับฉันหากคุณต้องการลดมิติของปัญหา
ในบันทึกย่อนั้นฉันพยายามอย่างรวดเร็วโยนชุดข้อมูลสังเคราะห์ 100 มิติสองสามชุดลงในอัลกอริทึม k-mean เพื่อดูว่าเกิดอะไรขึ้น ในขณะที่การประเมินตำแหน่งศูนย์กลางของคลัสเตอร์นั้นไม่ถูกต้อง แต่ความเป็นสมาชิกของคลัสเตอร์(นั่นคือตัวอย่างสองตัวอย่างถูกกำหนดให้กับกลุ่มเดียวกันหรือไม่ซึ่งน่าจะเป็นสิ่งที่ OP สนใจ) ดีกว่าที่ฉันคิดไว้มาก ดังนั้นความรู้สึกของฉันก่อนหน้านี้อาจเป็นไปได้ค่อนข้างผิด - k- หมายถึงการย้ายข้อมูลทำงานได้ดีกับข้อมูลดิบ