K- साधन उदाहरण के साथ R में क्लस्टरिंग

विषय - सूची:

Anonim

इस ट्यूटोरियल में, आप सीखेंगे

  • क्लस्टर विश्लेषण क्या है?
  • K- साधन एल्गोरिथ्म
  • इष्टतम कश्मीर

क्लस्टर विश्लेषण क्या है?

क्लस्टर विश्लेषण बिना पढ़े सीखने का हिस्सा है । क्लस्टर डेटा का एक समूह है जो समान विशेषताओं को साझा करता है। हम कह सकते हैं, क्लस्टरिंग विश्लेषण एक भविष्यवाणी से अधिक खोज के बारे में है। मशीन डेटा में समानता खोजती है। उदाहरण के लिए, आप निम्न अनुप्रयोग के लिए क्लस्टर विश्लेषण का उपयोग कर सकते हैं:

  • ग्राहक विभाजन: ग्राहकों के समूहों के बीच समानता की तलाश करता है
  • स्टॉक मार्केट क्लस्टरिंग: प्रदर्शन के आधार पर समूह स्टॉक
  • समान मानों के साथ टिप्पणियों को समूहीकृत करके किसी डाटासेट की गतिशीलता को कम करें

क्लस्टरिंग विश्लेषण को लागू करना बहुत मुश्किल नहीं है और यह सार्थक होने के साथ-साथ व्यापार के लिए भी उचित है।

परिणामों में पर्यवेक्षित और अनुपयोगी शिक्षण के बीच सबसे महत्वपूर्ण अंतर है। अनउपलब्ध शिक्षण एक नया चर बनाता है, लेबल, जबकि पर्यवेक्षित शिक्षण एक परिणाम की भविष्यवाणी करता है। मशीन संबंधित खोज पर आधारित डेटा को लेबल करने की खोज में व्यवसायी की मदद करती है। यह विश्लेषक पर निर्भर है कि वे समूहों का उपयोग करें और उन्हें एक नाम दें।

आइए क्लस्टरिंग की अवधारणा को समझने के लिए एक उदाहरण बनाते हैं। सादगी के लिए, हम दो आयामों में काम करते हैं। आपके पास ग्राहकों और उनकी उम्र के कुल खर्च का डेटा है। विज्ञापन में सुधार के लिए, विपणन टीम अपने ग्राहकों को अधिक लक्षित ईमेल भेजना चाहती है।

निम्नलिखित ग्राफ में, आप ग्राहकों के कुल खर्च और उम्र की साजिश करते हैं।

library(ggplot2)df <- data.frame(age = c(18, 21, 22, 24, 26, 26, 27, 30, 31, 35, 39, 40, 41, 42, 44, 46, 47, 48, 49, 54),spend = c(10, 11, 22, 15, 12, 13, 14, 33, 39, 37, 44, 27, 29, 20, 28, 21, 30, 31, 23, 24))ggplot(df, aes(x = age, y = spend)) +geom_point()

इस बिंदु पर एक पैटर्न दिखाई देता है

  1. निचले-बाएँ, आप कम क्रय शक्ति वाले युवाओं को देख सकते हैं
  2. ऊपरी-मध्य लोगों को एक नौकरी के साथ दर्शाता है जिसे वे अधिक खर्च कर सकते हैं
  3. अंत में, कम बजट वाले पुराने लोग।

ऊपर दिए गए आंकड़े में, आप टिप्पणियों को हाथ से देखते हैं और तीन समूहों में से प्रत्येक को परिभाषित करते हैं। यह उदाहरण कुछ सीधा और अत्यधिक दृश्य है। यदि नई टिप्पणियों को डेटा सेट में जोड़ा जाता है, तो आप उन्हें मंडलियों के भीतर लेबल कर सकते हैं। आप हमारे निर्णय के आधार पर वृत्त को परिभाषित करते हैं। इसके बजाय, आप मशीन लर्निंग को डेटा के उद्देश्य से समूह में उपयोग कर सकते हैं।

इस ट्यूटोरियल में, आप सीखेंगे कि k- साधन एल्गोरिथ्म का उपयोग कैसे करें ।

K- साधन एल्गोरिथ्म

के-मीन बिना संदेह के, सबसे लोकप्रिय क्लस्टरिंग विधि है। शोधकर्ताओं ने दशकों पहले एल्गोरिथ्म जारी किया, और के-साधनों में बहुत सुधार किए गए हैं।

एल्गोरिथ्म टिप्पणियों के बीच की दूरी को कम करके समूहों को खोजने की कोशिश करता है, जिसे स्थानीय इष्टतम समाधान कहा जाता है । प्रेक्षणों के समन्वय के आधार पर दूरियों को मापा जाता है। उदाहरण के लिए, द्वि-आयामी अंतरिक्ष में, निर्देशांक सरल और हैं।

एल्गोरिथ्म निम्नानुसार काम करता है:

  • चरण 1: सुविधा योजना में समूहों को यादृच्छिक रूप से चुनें
  • चरण 2: क्लस्टर केंद्र और विभिन्न अवलोकनों ( केन्द्रक ) के बीच की दूरी कम से कम करें । यह टिप्पणियों के साथ समूहों में परिणत होता है
  • चरण 3: एक समूह के भीतर निर्देशांक के माध्यम से प्रारंभिक सेंट्रोइड को स्थानांतरित करें।
  • चरण 4: नए केंद्रों के अनुसार दूरी को कम करें। नई सीमाएँ बनती हैं। इस प्रकार, अवलोकन एक समूह से दूसरे समूह में चले जाएंगे
  • तब तक दोहराएं जब तक कोई अवलोकन समूह नहीं बदलता

K- साधन आमतौर पर सुविधा और सुविधा के बीच यूक्लिडियन दूरी लेता है:

विभिन्न उपाय उपलब्ध हैं जैसे मैनहट्टन दूरी या मिनलॉस्की दूरी। ध्यान दें कि, जब आप एल्गोरिथ्म चलाते हैं, तो K-mean विभिन्न समूहों को लौटाता है याद रखें कि पहले प्रारंभिक अनुमान यादृच्छिक हैं और एल्गोरिथ्म समूहों के भीतर एक समरूपता तक पहुंचने तक दूरी की गणना करते हैं। यही है, पहली पसंद के लिए के-मीन बहुत संवेदनशील है, और जब तक टिप्पणियों और समूहों की संख्या छोटी नहीं होती, तब तक एक ही क्लस्टरिंग प्राप्त करना लगभग असंभव है।

समूहों की संख्या का चयन करें

के-मीन के साथ एक और कठिनाई क्लस्टर की संख्या का विकल्प है। आप स्थिरता को बेहतर बनाने के लिए, अर्थात, बड़ी संख्या में समूहों को सेट कर सकते हैं, लेकिन आप डेटा के ओवरफिट के साथ समाप्त हो सकते हैं । ओवरफिटिंग का मतलब है कि नए आने वाले डेटा के लिए मॉडल का प्रदर्शन काफी हद तक कम हो जाता है। मशीन ने डेटा सेट के छोटे विवरणों को सीखा और समग्र पैटर्न को सामान्य करने के लिए संघर्ष किया।

समूहों की संख्या डेटा सेट की प्रकृति, उद्योग, व्यवसाय आदि पर निर्भर करती है। हालांकि, उचित संख्या में समूहों का चयन करने के लिए अंगूठे का एक नियम है:

डेटासेट में अवलोकन की संख्या के बराबर है।

आम तौर पर बोलते हुए, व्यापार की जरूरत के साथ फिट होने के सर्वोत्तम मूल्य की खोज के लिए समय बिताना दिलचस्प है।

हम अपने क्लस्टरिंग विश्लेषण करने के लिए पर्सनल कंप्यूटर के डेटासेट की कीमतों का उपयोग करेंगे। इस डेटासेट में 6259 अवलोकन और 10 विशेषताएं हैं। डेटासेट यूएस में 486 पर्सनल कंप्यूटरों की 1993 से 1995 तक कीमत देखता है। चर, मूल्य, गति, रैम, स्क्रीन, सीडी अन्य हैं।

आप निम्नानुसार आगे बढ़ेंगे:

  • आयात आंकड़ा
  • मॉडल को प्रशिक्षित करें
  • मॉडल का मूल्यांकन करें

आयात आंकड़ा

K साधन कारक चर के लिए उपयुक्त नहीं है क्योंकि यह दूरी पर आधारित है और असतत मान सार्थक मान नहीं लौटाते हैं। आप हमारे डेटासेट में तीन श्रेणीबद्ध चर हटा सकते हैं। इसके अलावा, इस डेटासेट में कोई लापता मान नहीं हैं।

library(dplyr)PATH <-"https://raw.githubusercontent.com/guru99-edu/R-Programming/master/computers.csv"df <- read.csv(PATH) %>%select(-c(X, cd, multi, premium))glimpse(df)
उत्पादन
## Observations: 6, 259## Variables: 7## $ price < int > 1499, 1795, 1595, 1849, 3295, 3695, 1720, 1995, 2225, 2… ##$ speed < int > 25, 33, 25, 25, 33, 66, 25, 50, 50, 50, 33, 66, 50, 25,… ##$ hd < int > 80, 85, 170, 170, 340, 340, 170, 85, 210, 210, 170, 210… ##$ ram < int > 4, 2, 4, 8, 16, 16, 4, 2, 8, 4, 8, 8, 4, 8, 8, 4, 2, 4,… ##$ screen < int > 14, 14, 15, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14,… ##$ ads < int > 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,… ## $ trend  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1… 

सारांश आंकड़ों से, आप देख सकते हैं कि डेटा में बड़े मूल्य हैं। K माध्य और दूरी गणना के साथ एक अच्छा अभ्यास डेटा को फिर से बेचना है ताकि माध्य एक के बराबर हो और मानक विचलन शून्य के बराबर हो।

summary(df)

आउटपुट:

## price speed hd ram## Min. : 949 Min. : 25.00 Min. : 80.0 Min. : 2.000## 1st Qu.:1794 1st Qu.: 33.00 1st Qu.: 214.0 1st Qu.: 4.000 `## Median :2144 Median : 50.00 Median : 340.0 Median : 8.000## Mean :2220 Mean : 52.01 Mean : 416.6 Mean : 8.287## 3rd Qu.:2595 3rd Qu.: 66.00 3rd Qu.: 528.0 3rd Qu.: 8.000## Max. :5399 Max. :100.00 Max. :2100.0 Max. :32.000## screen ads trend## Min. :14.00 Min. : 39.0 Min. : 1.00## 1st Qu.:14.00 1st Qu.:162.5 1st Qu.:10.00## Median :14.00 Median :246.0 Median :16.00## Mean :14.61 Mean :221.3 Mean :15.93## 3rd Qu.:15.00 3rd Qu.:275.0 3rd Qu.:21.50## Max. :17.00 Max. :339.0 Max. :35.00

आप dplyr लाइब्रेरी के स्केल () फंक्शन के साथ वैरिएबल को रिस्केल करते हैं। यह परिवर्तन आउटलेर्स के प्रभाव को कम करता है और माध्य के विरूद्ध एकमात्र अवलोकन की तुलना करने की अनुमति देता है। यदि एक मानकीकृत मूल्य (या z- स्कोर ) अधिक है, तो आप आश्वस्त हो सकते हैं कि यह अवलोकन वास्तव में माध्य से ऊपर है (एक बड़ा z- स्कोर का अर्थ है कि यह बिंदु मानक विचलन की अवधि में माध्य से बहुत दूर है। z- दो का स्कोर इंगित करता है कि मान माध्य से 2 मानक विचलन है। ध्यान दें, जेड-स्कोर एक गौसियन वितरण का अनुसरण करता है और माध्य के चारों ओर सममित है।

rescale_df <- df % > %mutate(price_scal = scale(price),hd_scal = scale(hd),ram_scal = scale(ram),screen_scal = scale(screen),ads_scal = scale(ads),trend_scal = scale(trend)) % > %select(-c(price, speed, hd, ram, screen, ads, trend))

आर बेस का मतलब एल्गोरिथ्म को चलाने के लिए एक फ़ंक्शन है। K माध्य का मूल कार्य है:

kmeans(df, k)arguments:-df: dataset used to run the algorithm-k: Number of clusters

मॉडल को प्रशिक्षित करें

फिगर तीन में, आपने बताया कि एल्गोरिदम कैसे काम करता है। आप प्रत्येक चरण को यी हुई द्वारा निर्मित शानदार पैकेज के साथ ग्राफिक रूप से देख सकते हैं (साथ ही रॉटडाउन के लिए निट के निर्माता)। पैकेज एनीमेशन कोंडा लाइब्रेरी में उपलब्ध नहीं है। आप install.packages ("एनीमेशन") के साथ पैकेज को स्थापित करने के लिए दूसरे तरीके का उपयोग कर सकते हैं। आप जांच सकते हैं कि पैकेज हमारे एनाकोंडा फ़ोल्डर में स्थापित है या नहीं।

install.packages("animation") 

लाइब्रेरी लोड करने के बाद, आप किमी और आर के बाद सभी चरणों को प्लॉट करेंगे। उदाहरण के उद्देश्य से, आप केवल एल्गोरिथ्म को फिर से शुरू किए गए चर एचडी और रैम के साथ तीन क्लस्टर के साथ चलाते हैं।

set.seed(2345)library(animation)kmeans.ani(rescale_df[2:3], 3)

कोड स्पष्टीकरण

  • kmeans.ani।

आप एनीमेशन की व्याख्या इस प्रकार कर सकते हैं:

  • चरण 1: आर तीन बिंदुओं को यादृच्छिक रूप से चुनता है
  • चरण 2: यूक्लिडियन दूरी की गणना करें और समूहों को आकर्षित करें। आपके पास नीचे बाईं ओर हरे रंग में एक क्लस्टर, दाईं ओर काले रंग में एक बड़ा क्लस्टर और उनके बीच एक लाल है।
  • चरण 3: केंद्रक की गणना करें, अर्थात गुच्छों का मतलब
  • तब तक दोहराएं जब तक कोई डेटा क्लस्टर न बदल जाए

एल्गोरिथ्म सात पुनरावृत्तियों के बाद परिवर्तित हुआ। आप पाँच क्लस्टर के साथ हमारे डेटासेट में k-माध्य एल्गोरिथ्म चला सकते हैं और इसे pc_cluster कह सकते हैं।

pc_cluster <-kmeans(rescale_df, 5)
  • सूची PC_cluster में सात दिलचस्प तत्व शामिल हैं:
  • pc_cluster $ क्लस्टर: प्रत्येक अवलोकन के क्लस्टर को इंगित करता है
  • pc_cluster $ केंद्र: क्लस्टर केंद्र
  • pc_cluster $ tots: वर्गों का कुल योग
  • pc_cluster $ withinss: वर्ग के योग के भीतर। घटकों की वापसी की संख्या `k` के बराबर है
  • pc_cluster $ tot.withinss: राशि के योग
  • pc_clusterbetweenss: वर्गाकार ऋण का कुल योग वर्ग के योग के भीतर
  • pc_cluster $ size: प्रत्येक क्लस्टर के भीतर अवलोकन की संख्या

आप समूहों की अधिकतम संख्या की गणना करने के लिए वर्ग (यानी tot.withinss) के भीतर योग का उपयोग करेंगे। K खोजना वास्तव में एक महत्वपूर्ण कार्य है।

इष्टतम कश्मीर

सर्वश्रेष्ठ k चुनने के लिए एक तकनीक को कोहनी विधि कहा जाता है । यह विधि परिवर्तनशीलता का मूल्यांकन करने के लिए समूह-समरूपता या भीतर-समूह विषमता का उपयोग करती है। दूसरे शब्दों में, आप प्रत्येक क्लस्टर द्वारा बताए गए विचरण के प्रतिशत में रुचि रखते हैं। आप क्लस्टर की संख्या के साथ परिवर्तनशीलता की उम्मीद कर सकते हैं, वैकल्पिक रूप से, विषमता कम हो जाती है। हमारी चुनौती कश्मीर को कम करने वाले रिटर्न से परे है। एक नया क्लस्टर जोड़ने से डेटा में परिवर्तनशीलता में सुधार नहीं होता है क्योंकि बहुत कम जानकारी समझाना बाकी है।

इस ट्यूटोरियल में, हम विषमता माप का उपयोग करके इस बिंदु को पाते हैं। वर्गों के योग के भीतर कुल योग है। kmean () द्वारा वापसी सूची में कुल योग।

आप कोहनी ग्राफ का निर्माण कर सकते हैं और निम्नलिखित के रूप में इष्टतम कश्मीर पा सकते हैं:

  • चरण 1: वर्गों के योग के भीतर कुल गणना करने के लिए एक समारोह का निर्माण
  • चरण 2: एल्गोरिथ्म समय चलाएँ
  • चरण 3: एल्गोरिथ्म के परिणामों के साथ एक डेटा फ़्रेम बनाएं
  • चरण 4: परिणाम प्लॉट करें

चरण 1) वर्गों की कुल राशि के भीतर कुल की गणना करने के लिए एक समारोह का निर्माण

आप k-mean एल्गोरिथ्म चलाने वाले फ़ंक्शन को बनाते हैं और कुल को क्लस्टर वर्गों के योग में संग्रहीत करते हैं

kmean_withinss <- function(k) {cluster <- kmeans(rescale_df, k)return (cluster$tot.withinss)}

कोड स्पष्टीकरण

  • function (k): फ़ंक्शन में तर्कों की संख्या निर्धारित करें
  • kmeans (rescale_df, k): एल्गोरिथ्म k समय चलाएँ
  • वापसी (क्लस्टर $ tot.withinss): क्लस्टर के कुल योग के भीतर कुल स्टोर करें

आप फ़ंक्शन को 2 बराबर कर सकते हैं।

आउटपुट:

## Try with 2 cluster
kmean_withinss(2)

आउटपुट:

## [1] 27087.07 

चरण 2) एल्गोरिथ्म को एन बार चलाएं

आप एल्गोरिथ्म को k की श्रेणी में चलाने के लिए sapply () फ़ंक्शन का उपयोग करेंगे। यह तकनीक लूप बनाने से अधिक तेज़ है और मूल्य को संग्रहीत करती है।

# Set maximum clustermax_k <-20# Run algorithm over a range of kwss <- sapply(2:max_k, kmean_withinss)

कोड स्पष्टीकरण

  • max_k <-20: अधिकतम संख्या 20 पर सेट करें
  • sapply (2: max_k, kmean_withinss): रेंज kmean_withinss () को 2 रेंज में चलाएँ: max_k, अर्थात 2 से 20।

चरण 3) एल्गोरिथ्म के परिणामों के साथ एक डेटा फ्रेम बनाएं

पोस्ट निर्माण और हमारे फ़ंक्शन का परीक्षण, आप k-mean एल्गोरिथ्म को 2 से 20 तक की सीमा पर चला सकते हैं, tot.withinss मानों को संग्रहीत कर सकते हैं।

# Create a data frame to plot the graphelbow <-data.frame(2:max_k, wss)

कोड स्पष्टीकरण

  • data.frame (2: max_k, wss): wss में एल्गोरिथम स्टोर के आउटपुट के साथ एक डेटा फ्रेम बनाएं

चरण 4) परिणाम प्लॉट करें

आप ग्राफ की कल्पना करें कि कोहनी बिंदु कहां है

# Plot the graph with gglopggplot(elbow, aes(x = X2.max_k, y = wss)) +geom_point() +geom_line() +scale_x_continuous(breaks = seq(1, 20, by = 1))

ग्राफ से, आप देख सकते हैं कि इष्टतम k सात है, जहां वक्र में कम वापसी शुरू हो रही है।

एक बार जब हमारे पास आपका इष्टतम k होता है, तो आप एल्गोरिथ्म को k के साथ 7 के बराबर करते हैं और क्लस्टर का मूल्यांकन करते हैं।

क्लस्टर की जांच

pc_cluster_2 <-kmeans(rescale_df, 7)

जैसा कि पहले उल्लेख किया गया है, आप kmean () द्वारा दी गई सूची में शेष दिलचस्प जानकारी तक पहुँच सकते हैं।

pc_cluster_2$clusterpc_cluster_2$centerspc_cluster_2$size 

मूल्यांकन भाग व्यक्तिपरक है और एल्गोरिथ्म के उपयोग पर निर्भर करता है। यहां हमारा लक्ष्य समान विशेषताओं वाले कंप्यूटर को इकट्ठा करना है। एक कंप्यूटर आदमी अपनी विशेषज्ञता के आधार पर हाथ और समूह कंप्यूटर द्वारा काम कर सकता है। हालाँकि, इस प्रक्रिया में बहुत समय लगेगा और त्रुटि प्रवणता होगी। K- मीन एल्गोरिथ्म क्लस्टर का सुझाव देकर उसके लिए क्षेत्र तैयार कर सकता है।

पूर्व मूल्यांकन के रूप में, आप समूहों के आकार की जांच कर सकते हैं।

pc_cluster_2$size

आउटपुट:

## [1] 608 1596 1231 580 1003 699 542

पहला क्लस्टर 608 अवलोकनों से बना है, जबकि सबसे छोटा क्लस्टर, संख्या 4 में केवल 580 कंप्यूटर हैं। क्लस्टर के बीच समरूपता होना अच्छा हो सकता है, यदि नहीं, तो एक पतली डेटा तैयारी की आवश्यकता हो सकती है।

आपको केंद्र घटक के साथ डेटा पर एक गहरी नज़र मिलती है। पंक्तियाँ क्लस्टर की संख्या और एल्गोरिथम द्वारा उपयोग किए जाने वाले चर को संदर्भित करती हैं। रुचि स्तंभ के लिए प्रत्येक क्लस्टर द्वारा मान औसत स्कोर हैं। मानकीकरण व्याख्या को आसान बनाता है। सकारात्मक मान इंगित करते हैं कि दिए गए क्लस्टर के लिए z- स्कोर समग्र माध्य से ऊपर है। उदाहरण के लिए, क्लस्टर 2 में सभी क्लस्टर के बीच उच्चतम मूल्य औसत है।

center <-pc_cluster_2$centerscenter

आउटपुट:

## price_scal hd_scal ram_scal screen_scal ads_scal trend_scal## 1 -0.6372457 -0.7097995 -0.691520682 -0.4401632 0.6780366 -0.3379751## 2 -0.1323863 0.6299541 0.004786730 2.6419582 -0.8894946 1.2673184## 3 0.8745816 0.2574164 0.513105797 -0.2003237 0.6734261 -0.3300536## 4 1.0912296 -0.2401936 0.006526723 2.6419582 0.4704301 -0.4132057## 5 -0.8155183 0.2814882 -0.307621003 -0.3205176 -0.9052979 1.2177279## 6 0.8830191 2.1019454 2.168706085 0.4492922 -0.9035248 1.2069855## 7 0.2215678 -0.7132577 -0.318050275 -0.3878782 -1.3206229 -1.5490909

आप श्रेणियों के बीच के अंतर को उजागर करने में हमारी सहायता करने के लिए ggplot के साथ एक हीट मैप बना सकते हैं।

Ggplot के डिफ़ॉल्ट रंगों को RColorBrewer लाइब्रेरी के साथ बदलने की आवश्यकता है। टर्मिनल में लॉन्च करने के लिए आप कोंडा लाइब्रेरी और कोड का उपयोग कर सकते हैं:

conda install -cr r-rcolorbrewer

हीट मैप बनाने के लिए, आप तीन चरणों में आगे बढ़ते हैं:

  • केंद्र के मूल्यों के साथ एक डेटा फ्रेम बनाएं और क्लस्टर की संख्या के साथ एक चर बनाएं
  • डेटा को टियरियर लाइब्रेरी के इकट्ठा () फ़ंक्शन के साथ रीसेट करें। आप डेटा को विस्तृत से लंबे समय तक बदलना चाहते हैं।
  • ColorRampPalette () फ़ंक्शन के साथ रंगों का पैलेट बनाएं

चरण 1) एक डेटा फ़्रेम बनाएँ

आइए रिशेप्स डेटासेट बनाएं

library(tidyr)# create dataset with the cluster numbercluster <- c(1: 7)center_df <- data.frame(cluster, center)# Reshape the datacenter_reshape <- gather(center_df, features, values, price_scal: trend_scal)head(center_reshape)

आउटपुट:

## cluster features values## 1 1 price_scal -0.6372457## 2 2 price_scal -0.1323863## 3 3 price_scal 0.8745816## 4 4 price_scal 1.0912296## 5 5 price_scal -0.8155183## 6 6 price_scal 0.8830191

चरण 2) डेटा रीसेट करें

नीचे दिए गए कोड उन रंगों के पैलेट बनाते हैं जिनका उपयोग आप हीट मैप को प्लॉट करने के लिए करेंगे।

library(RColorBrewer)# Create the palettehm.palette <-colorRampPalette(rev(brewer.pal(10, 'RdYlGn')),space='Lab')

चरण 3) कल्पना करें

आप ग्राफ को प्लॉट कर सकते हैं और देख सकते हैं कि क्लस्टर क्या दिखते हैं।

# Plot the heat mapggplot(data = center_reshape, aes(x = features, y = cluster, fill = values)) +scale_y_continuous(breaks = seq(1, 7, by = 1)) +geom_tile() +coord_equal() +scale_fill_gradientn(colours = hm.palette(90)) +theme_classic()

सारांश

हम नीचे तालिका में k- माध्य एल्गोरिदम को संक्षेप में प्रस्तुत कर सकते हैं

पैकेज

उद्देश्य

समारोह

बहस

आधार

ट्रेन k- माध्य

किमी ()

df, के

पहुंच क्लस्टर

kmeans () $ क्लस्टर

क्लस्टर केंद्र

kmeans () $ केंद्र

आकार क्लस्टर

kmeans () $ आकार