การจัดกลุ่มข้อมูลที่เบ้มากนับจำนวน: คำแนะนำใด ๆ ที่จะดำเนินการ (แปลง ฯลฯ )


11

ปัญหาพื้นฐาน

นี่คือปัญหาพื้นฐานของฉัน: ฉันกำลังพยายามจัดกลุ่มชุดข้อมูลที่มีตัวแปรที่เบ้อย่างมากพร้อมจำนวน ตัวแปรประกอบด้วยศูนย์จำนวนมากและดังนั้นจึงไม่ค่อยมีข้อมูลสำหรับขั้นตอนการจัดกลุ่มของฉัน - ซึ่งน่าจะเป็นอัลกอริทึม k-mean

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

ลองดูรายละเอียดเพิ่มเติม

ชุดข้อมูล

ชุดข้อมูลของฉันแสดงถึงการซื้อสินค้า รายการมีหมวดหมู่ต่างกันเช่นสี: น้ำเงินแดงและเขียว การซื้อจะถูกจัดกลุ่มเข้าด้วยกันเช่นจากลูกค้า ลูกค้าเหล่านี้แต่ละคนมีชุดข้อมูลหนึ่งแถวของฉันดังนั้นฉันจึงต้องรวมการซื้อกับลูกค้า

วิธีที่ฉันทำคือการนับจำนวนการซื้อโดยที่รายการนั้นมีสีที่แน่นอน ดังนั้นแทนที่จะตัวแปรเดียวcolorผมจบลงด้วยสามตัวแปรcount_red, และcount_bluecount_green

นี่คือตัวอย่างสำหรับภาพประกอบ:

-----------------------------------------------------------
customer | count_red  |    count_blue   | count_green     |
-----------------------------------------------------------
c0       |    12      |        5        |       0         |
-----------------------------------------------------------
c1       |     3      |        4        |       0         |
-----------------------------------------------------------
c2       |     2      |       21        |       0         |
-----------------------------------------------------------
c3       |     4      |        8        |       1         |
-----------------------------------------------------------

ที่จริงแล้วฉันไม่ได้ใช้การนับสัมบูรณ์ในท้ายที่สุดฉันใช้อัตราส่วน (ส่วนของรายการสีเขียวของรายการที่ซื้อทั้งหมดต่อลูกค้า)

-----------------------------------------------------------
customer | count_red  |    count_blue   | count_green     |
-----------------------------------------------------------
c0       |    0.71    |        0.29     |       0.00      |
-----------------------------------------------------------
c1       |    0.43    |        0.57     |       0.00      |
-----------------------------------------------------------
c2       |    0.09    |        0.91     |       0.00      |
-----------------------------------------------------------
c3       |    0.31    |        0.62     |       0.08      |
-----------------------------------------------------------

ผลที่ได้คือเหมือนกัน: สำหรับหนึ่งในสีของฉันเช่นสีเขียว (ไม่มีใครชอบสีเขียว) ฉันได้รับตัวแปรซ้ายเอียงที่มีศูนย์จำนวนมาก ดังนั้นวิธี k จึงไม่พบการแบ่งพาร์ติชันที่ดีสำหรับตัวแปรนี้

ในทางกลับกันถ้าฉันสร้างมาตรฐานตัวแปรของฉัน (ลบค่าเฉลี่ยหารด้วยส่วนเบี่ยงเบนมาตรฐาน) ตัวแปรสีเขียว "ระเบิด" เนื่องจากความแปรปรวนขนาดเล็กและรับค่าจากช่วงที่มีขนาดใหญ่กว่าตัวแปรอื่น ๆ ซึ่งทำให้ดูมากขึ้น สำคัญต่อ k-mean มากกว่าที่เป็นจริง

แนวคิดต่อไปคือการแปลงตัวแปรสีเขียว sk (r) ewed

การแปลงตัวแปรที่เอียง

ถ้าฉันเปลี่ยนตัวแปรสีเขียวด้วยการใช้สแควร์รูทมันจะดูเบ้น้อยกว่าเล็กน้อย (ที่นี่ตัวแปรสีเขียวถูกพล็อตเป็นสีแดงและสีเขียวเพื่อให้เกิดความสับสน)

ป้อนคำอธิบายรูปภาพที่นี่

แดง: ตัวแปรดั้งเดิม สีน้ำเงิน: ถูกแปลงโดยรากที่สอง

สมมติว่าฉันพอใจกับผลลัพธ์ของการเปลี่ยนแปลงนี้ (ซึ่งฉันไม่ได้เพราะศูนย์ยังคงกระจายการแจกแจงอย่างรุนแรง) ฉันควรจะปรับขนาดตัวแปรสีแดงและสีน้ำเงินด้วยแม้ว่าการกระจายของมันจะดูดีหรือไม่?

บรรทัดล่าง

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

แก้ไข

ในการชี้แจง: ฉันทราบว่า k-แปลอาจไม่ใช่วิธีที่จะไปหาข้อมูลตามจำนวน อย่างไรก็ตามคำถามของฉันเกี่ยวกับการรักษาตัวแปรตาม การเลือกวิธีที่ถูกต้องเป็นเรื่องแยกต่างหาก

ข้อ จำกัด โดยธรรมชาติในตัวแปรของฉันคือ

count_red(i) + count_blue(i) + count_green(i) = n(i)ซึ่งเป็นจำนวนรวมของการซื้อของลูกค้าn(i)i

(หรือเท่ากันcount_red(i) + count_blue(i) + count_green(i) = 1เมื่อใช้จำนวนสัมพัทธ์)

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


ยินดีต้อนรับสู่ CV! ขอบคุณที่ทำให้คำถามแรกของคุณชัดเจนและเขียนได้ดี
Silverfish

ฉันไม่เข้าใจชุดข้อมูลของคุณ ตัวแปร (คุณลักษณะ) เป็นcount_red, count_blueและcount_greenและข้อมูลที่มีการนับจำนวน ขวา? แถวคืออะไร - รายการ? และคุณจะจัดกลุ่มรายการหรือไม่
ttnphns

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

คุณต้องการจัดกลุ่ม "ลูกค้า" หรือไม่
ttnphns

ใช่. ฉันตั้งใจจะจัดกลุ่มการซื้อตามช่วงเวลาเช่นกันและจัดกลุ่มตามช่วงเวลา แต่สำหรับตอนนี้: ลูกค้า
pederpansen

คำตอบ:


7

@ttnphns ให้คำตอบที่ดี

การจัดกลุ่มที่ดีมักเกี่ยวกับการคิดอย่างหนักเกี่ยวกับข้อมูลของคุณดังนั้นให้ทำสิ่งนั้น ในใจของฉันด้านพื้นฐานที่สุดของข้อมูลของคุณคือพวกเขาจะcompositional

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

ด้านล่างฉันใช้ชุดข้อมูลตัวอย่างของคุณเพื่อแสดง (ใน R) วิธีหนึ่งในการเข้าถึงสถานการณ์ของคุณ ฉันอ่านข้อมูลแล้วแปลงเป็นสัดส่วน rowwise จากนั้นคำนวณค่าเฉลี่ยตามคอลัมน์ ฉันเพิ่มค่าเฉลี่ยกลับไปที่การนับแต่ละครั้งเพื่อรับจำนวนที่ได้รับการปรับปรุงและสัดส่วน rowwise ใหม่ วิธีนี้ทำให้สัดส่วนประมาณการของลูกค้าแต่ละรายต่อสัดส่วนค่าเฉลี่ยสำหรับแต่ละผลิตภัณฑ์ หากคุณต้องการเขยิบให้แรงขึ้นคุณสามารถใช้หลายวิธี (เช่น, 15*mean.props) แทน

d = read.table(text="id  red    blue    green
...
c3  4   8   1", header=TRUE)
tab = as.table(as.matrix(d[,-1]))
rownames(tab) = paste0("c", 0:3)
tab
#    red blue green
# c0  12    5     0
# c1   3    4     0
# c2   2   21     0
# c3   4    8     1
props = prop.table(tab, 1)
props
#           red       blue      green
# c0 0.70588235 0.29411765 0.00000000
# c1 0.42857143 0.57142857 0.00000000
# c2 0.08695652 0.91304348 0.00000000
# c3 0.30769231 0.61538462 0.07692308
mean.props = apply(props, 2, FUN=function(x){ weighted.mean(x, rowSums(tab)) })
mean.props
#        red       blue      green 
# 0.35000000 0.63333333 0.01666667 
adj.counts = sweep(tab, 2, mean.props, FUN="+");  adj.counts
#            red        blue       green
# c0 12.35000000  5.63333333  0.01666667
# c1  3.35000000  4.63333333  0.01666667
# c2  2.35000000 21.63333333  0.01666667
# c3  4.35000000  8.63333333  1.01666667
adj.props = prop.table(adj.counts, 1);  adj.props
#             red         blue        green
# c0 0.6861111111 0.3129629630 0.0009259259
# c1 0.4187500000 0.5791666667 0.0020833333
# c2 0.0979166667 0.9013888889 0.0006944444
# c3 0.3107142857 0.6166666667 0.0726190476

มีหลายผลลัพธ์ของสิ่งนี้ หนึ่งในนั้นก็คือตอนนี้คุณมีค่าประมาณที่ไม่เป็นศูนย์ของความน่าจะเป็นพื้นฐานในการซื้อผลิตภัณฑ์สีเขียวแม้ว่าลูกค้าจะยังไม่มีบันทึกการซื้อผลิตภัณฑ์สีเขียวก็ตาม ผลที่ตามมาก็คือตอนนี้คุณมีค่าค่อนข้างต่อเนื่องในขณะที่สัดส่วนดั้งเดิมนั้นไม่ต่อเนื่องมากขึ้น นั่นคือชุดของการประมาณค่าที่เป็นไปได้นั้นน้อยลงดังนั้นการวัดระยะทางเช่นระยะทางแบบยุคลิดแบบสแควร์อาจให้ความรู้สึกมากกว่า

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

windows()
  plot(props[,1], props[,2], pch=as.character(0:3),
       xlab="Proportion Red", ylab="Proportion Blue", xlim=c(0,1), ylim=c(0,1))
  points(adj.props[,1], adj.props[,2], pch=as.character(0:3), col="red")

ป้อนคำอธิบายรูปภาพที่นี่

ณ จุดนี้คุณมีข้อมูลและผู้คนจำนวนมากจะเริ่มต้นด้วยการทำให้เป็นมาตรฐาน อีกครั้งเนื่องจากข้อมูลเหล่านี้เป็นข้อมูลประกอบฉันจะเรียกใช้การวิเคราะห์คลัสเตอร์โดยไม่ทำมาตรฐานใด ๆ - ค่าเหล่านี้มีความเหมาะสมแล้วและการกำหนดมาตรฐานจะทำลายข้อมูลเชิงสัมพันธ์บางส่วน ที่จริงแล้วจากการดูพล็อตฉันคิดว่าคุณมีข้อมูลเพียงมิติเดียวที่นี่ (อย่างน้อยในชุดข้อมูลตัวอย่างชุดข้อมูลจริงของคุณอาจแตกต่างออกไป) ถ้าคุณคิดว่าเป็นเรื่องสำคัญที่จะต้องรู้จักคนที่มีความน่าจะเป็นอย่างมากที่จะซื้อผลิตภัณฑ์สีเขียวเป็นกลุ่มลูกค้าที่แตกต่างกัน จะดึงคะแนนในองค์ประกอบหลักแรก (ซึ่งคิดเป็น 99.5% ของความแปรปรวนในชุดข้อมูลนี้) และเพียงแค่คลัสเตอร์ที่

pc.a.props = prcomp(adj.props[,1:2], center=T, scale=T)
cumsum(pc.a.props$sdev^2)/sum(pc.a.props$sdev^2)
# [1] 0.9946557 1.000000
pc.a.props$x
#           PC1         PC2
# c0 -1.7398975 -0.03897251
# c1 -0.1853614 -0.04803648
# c2  1.6882400 -0.06707115
# c3  0.2370189  0.15408015
library(mclust)
mc = Mclust(pc.a.props$x[,1])
summary(mc)
# ----------------------------------------------------
# Gaussian finite mixture model fitted by EM algorithm 
# ----------------------------------------------------
# 
# Mclust E (univariate, equal variance) model with 3 components:
# 
#  log.likelihood n df       BIC       ICL
#       -2.228357 4  6 -12.77448 -12.77448
# 
# Clustering table:
# 1 2 3 
# 1 2 1 

+1 เพราะคุณรับรู้ว่านี่เป็นข้อมูลเชิงประกอบ แต่ทำไมคุณไม่เพียงแค่ใช้เทคนิคการแปลงมาตรฐานสำหรับการแต่งเพลง ข้อมูลแทนที่จะเป็นแนวคิด "หมายถึงจำนวนที่ปรับแล้ว" หรือไม่ ดูเหมือนว่าจะเฉพาะกิจสำหรับฉันมีการอ้างอิงเฉพาะสำหรับสิ่งนี้หรือสิ่งที่คล้ายกัน? เหตุใดจึงดีกว่าการแปลงอัตราส่วนล็อกกลางอย่างง่ายแล้วจัดกลุ่มคะแนน PC อันดับแรกของข้อมูลที่แปลงแล้ว (ซึ่งจะเป็นสิ่งที่ผู้ตรวจสอบที่เหมาะสมของนักประพันธ์แอพลิเคชันการวิเคราะห์ข้อมูลจะถาม)
usεr11852

ขอบคุณ @ usεr11852 นับจาก> 2 แต่มี จำกัด ตัวเลือกเป็นแบบหลายชื่อ นี่คือ (1 รูปแบบของการทดลอง) การวิเคราะห์แบบเบส์ที่มีDirichlet ก่อนหน้า (คอนจูเกต) ฉันแน่ใจว่าตัวเลือกอื่น ๆ เป็นไปได้ ฉันไม่เห็นทันทีว่าการใช้อัตราส่วนจะทำงานอย่างไรกับ 0s
gung - Reinstate Monica

2
ขอบคุณสำหรับลิงค์ หากคุณมีมิติองค์ประกอบที่ไม่เป็นศูนย์เดียวคุณสามารถใช้มิติการแปลงอัตราส่วนบันทึกเพิ่มเติม (ไม่รวมแนวคิดเรื่องการใส่ความเห็นที่ชัดเจน; ดูความคิดเห็นที่นี่ ) CLR จะถูกปิดเนื่องจากใช้ค่าเฉลี่ยเรขาคณิต มีการทำงานกับ "ข้อมูลองค์ประกอบการประพันธ์ที่สูงเกินจริง"; ดูตัวอย่างที่นี่ , ที่นี่และที่นี่
usεr11852

1
ดูเหมือนคุณจะรู้มากขึ้นเกี่ยวกับหัวข้อนี้มากกว่าที่ฉันทำ @ usεr11852 คำตอบของฉันเป็นจริงเพียงแค่พยายามทำให้ข้อเท็จจริงเหล่านี้เกี่ยวกับลักษณะของสถานการณ์ที่ชัดเจน / แจ้งปัญหา & ให้คำแนะนำเบื้องต้น ทำไมไม่ตอบคำถามของคุณเอง
gung - Reinstate Monica

7

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

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

คัดลอกข้อมูลตัวอย่างจากคำถาม:

-----------------------------------------------------------
customer | count_red  |    count_blue   | count_green     |
-----------------------------------------------------------
c0       |    12      |        5        |       0         |
-----------------------------------------------------------
c1       |     3      |        4        |       0         |
-----------------------------------------------------------
c2       |     2      |       21        |       0         |
-----------------------------------------------------------
c3       |     4      |        8        |       1         |
-----------------------------------------------------------

พิจารณาการจับคู่c0และc1คำนวณสถิติไคสแควร์สำหรับ2x3ตารางความถี่ของพวกเขา นำสแควร์รูทของมัน (เช่นคุณคำนวณเมื่อคุณคำนวณระยะทางแบบยุคลิดแบบปกติ) นั่นคือระยะทางของคุณ หากระยะทางใกล้เคียงกับ 0 ลูกค้าทั้งสองจะคล้ายกัน

มันอาจจะรบกวนคุณว่าเงินก้อนในแถวในตารางของคุณแตกต่างกันและดังนั้นจึงมีผลกระทบต่อระยะทางที่ไคสแควร์เมื่อคุณเปรียบเทียบc0กับc1เทียบกับc0 c2แล้วคำนวณ (รากใช้) พีตารางระยะทาง: Phi-sq = Chi-sq/Nที่Nจะนับรวมกันในสองแถว (ลูกค้า) การพิจารณาในขณะนี้ มันจึงเป็นระยะทางปกติที่จะนับรวม

Here is the matrix of sqrt(Chi-sq) distance between your four customers
 .000   1.275   4.057   2.292
1.275    .000   2.124    .862
4.057   2.124    .000   2.261
2.292    .862   2.261    .000

And here is the matrix of sqrt(Phi-sq) distance 
.000    .260    .641    .418
.260    .000    .388    .193
.641    .388    .000    .377
.418    .193    .377    .000

ดังนั้นระยะห่างระหว่างสองแถวของข้อมูลคือ (ตารางรากของ) สถิติไคสแควร์หรือphi สแควร์ของ2 x pตารางความถี่ ( pคือจำนวนคอลัมน์ในข้อมูล) หากคอลัมน์ใด ๆ ใน2 x pตารางปัจจุบันเป็นศูนย์ที่สมบูรณ์ให้ตัดคอลัมน์นั้นออกและคำนวณระยะทางตามคอลัมน์ที่ไม่ใช่ศูนย์ที่เหลืออยู่ (มันเป็น OK และนี่เป็นวิธีเช่น SPSS ทำเมื่อคำนวณระยะทาง) ระยะทาง Chi-square เป็นระยะทางแบบยุคลิดน้ำหนักแบบถ่วงน้ำหนัก


ขอบคุณสำหรับคำตอบที่ซับซ้อนนี้ ฉันขอขอบคุณที่คุณให้คำแนะนำเกี่ยวกับสิ่งที่ไม่ใช่คำถามเดิมของฉัน: K- หมายถึง (ด้วยระยะทางแบบยุคลิดปริยาย) เป็นตัวเลือกที่เหมาะสมสำหรับกรณีการใช้งานนี้หรือไม่? ฉันสงสัยว่ามันไม่ได้และคุณยืนยันว่า แต่ผมยังคงทำไม่ได้ unterstand ทำไม คุณสามารถให้เหตุผล 1) ทำไมระยะทาง chi-square (หรือ phi-square) เป็นตัวเลือกที่ดีสำหรับการนับข้อมูล? 2) กลับมาที่คำถามเดิมของฉัน: มีข้อโต้แย้งที่ดี (ทางคณิตศาสตร์ / เชิงประจักษ์) ว่าทำไมตัวแปรทั้งหมดควรได้รับการปฏิบัติในลักษณะเดียวกันนอกเหนือจาก "พวกเขาอยู่ด้วยกัน"?
pederpansen

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

2
ฉันยังไม่คิดว่า K-หมายถึง (แปรปรวนลด!) เป็นวิธีที่จะไป: K-หมายถึงการใช้วิธีการ ข้อมูลของคุณเป็นจำนวนเต็มและมีศูนย์จำนวนมาก ศูนย์คลัสเตอร์จะไม่เป็นจำนวนเต็มและจะมีศูนย์ไม่กี่ พวกเขาต่างจากจุดข้อมูลของคุณโดยสิ้นเชิงพวกเขาจะเป็นตัวแทนได้อย่างไร บรรทัดล่างสุด: อย่าต่อสู้เพื่อแปลงข้อมูลของคุณให้เหมาะสมกับ k-mean ทำความเข้าใจกับปัญหาและปรับแต่งอัลกอริธึมให้เข้ากับปัญหาของคุณไม่ใช่วิธีอื่น หากคุณพอดีกับข้อมูลของคุณในการแก้ไขปัญหา k หมายถึงมันอาจจะยังคงเป็นปัญหาที่ไม่ถูกต้อง ...
เลิก - anony-มูส

1
เมื่อคุณสร้างมาตรฐานตัวแปรของคุณเพื่อปรับความแปรปรวนให้เท่ากันมันจะเท่ากับการเทียบผลรวมในคอลัมน์ของตารางข้อมูลของคุณ เมื่อคุณเปลี่ยนความเบ้มันจะเทียบเท่ากับการเพิ่มขนาดที่ใหญ่ขึ้น แต่ไม่เล็กลงในตารางของคุณ คุณสามารถทำได้ (และแม้กระทั่งหลังจากนั้นคุณอาจคำนวณไคหรือพีตามที่ฉันแนะนำ) แต่โปรดระวังว่าคุณบิดข้อมูลต้นฉบับ มันรับประกันหรือไม่คุณเปิดเผยและไม่ปกปิดข้อมูลที่มีค่าหรือไม่ มันเป็นการทรมานที่ไม่จำเป็นของข้อมูลหรือไม่? ในท้ายที่สุดคุณเป็นเพียงคนเดียวที่ตัดสินใจเกี่ยวกับการสะท้อนกลับเหล่านี้
ttnphns

2
มันง่ายที่จะทำลายคุณสมบัติพื้นฐานโดยการปรับสภาพที่ไม่เหมาะสม เช่นถ้าข้อมูลของคุณรวมกันได้มากถึง 1 ในแต่ละแถวการทำให้บรรทัดฐานแต่ละคอลัมน์เป็นปกติจะทำลายคุณสมบัตินี้ จากข้อมูลดังกล่าวคุณควรพิจารณาเช่นการวัดแบบ divergence (ระยะทางสำหรับการแจกแจง) แทน ในการนับข้อมูลให้ตั้งมาตรการการแยกเช่น Jaccard อาจให้ข้อมูลมากกว่า แต่พวกเขาต้องการเวกเตอร์ไบนารี ฯลฯ
จบการทำงาน - Anony-Mousse
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.