Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में मीन शिफ्ट एल्गोरिदम को लागू करना

मशीन लर्निंग में कई प्रकार के क्लस्टरिंग एल्गोरिदम होते हैं। इन एल्गोरिदम को पायथन में लागू किया जा सकता है। इस लेख में, आइए 'मीन-शिफ्ट' एल्गोरिदम पर चर्चा करें और इसे पायथन का उपयोग करके लागू करें। यह एक क्लस्टरिंग एल्गोरिदम है जिसका उपयोग अनसुपरवाइज़्ड लर्निंग मेथड के रूप में किया जाता है।

इस एल्गोरिदम में, कोई धारणा नहीं बनाई जाती है। इसका तात्पर्य है कि यह एक नॉन-पैरामीट्रिक एल्गोरिदम है। यह एल्गोरिदम डेटा पॉइंट्स को कुछ क्लस्टर्स को पुनरावृत्त रूप से असाइन करता है, जो इन डेटा पॉइंट्स को डेटा पॉइंट्स के उच्चतम घनत्व की ओर शिफ्ट करके किया जाता है।

डेटा पॉइंट्स का यह उच्च घनत्व क्लस्टर के सेंट्रॉइड के रूप में जाना जाता है। मीन शिफ्ट एल्गोरिदम और K मीन्स क्लस्टरिंग के बीच अंतर यह है कि पूर्व में (K-मीन्स) क्लस्टर्स की संख्या को पहले से निर्दिष्ट करने की आवश्यकता होती है।

ऐसा इसलिए है क्योंकि क्लस्टर्स की संख्या मौजूद डेटा के आधार पर K मीन्स एल्गोरिदम की मदद से पाई जाती है।

आइए मीन-शिफ्ट एल्गोरिदम के चरणों को समझते हैं:

  • डेटा पॉइंट्स को अपने स्वयं के क्लस्टर को असाइन किया जाता है।

  • फिर, इन क्लस्टर्स के सेंट्रॉइड्स निर्धारित किए जाते हैं।

  • इन सेंट्रॉइड्स का स्थान पुनरावृत्त रूप से अपडेट किया जाता है।

  • अगला, प्रक्रिया उच्च घनत्व क्षेत्रों की ओर बढ़ती है।

  • एक बार जब सेंट्रॉइड्स ऐसी स्थिति में पहुंच जाते हैं जहां वे आगे नहीं बढ़ सकते, तो प्रक्रिया रुक जाती है।

आइए समझते हैं कि इसे पायथन में, scikit-learn का उपयोग करके कैसे लागू किया जा सकता है:

उदाहरण

import numpy as np
from sklearn.cluster import MeanShift
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")
from sklearn.datasets.samples_generator import make_blobs

centers = [[3,3,1],[4,5,5],[11,10,10]]
X, _ = make_blobs(n_samples=950, centers=centers, cluster_std=0.89)
plt.title("मीन-शिफ्ट एल्गोरिदम का कार्यान्वयन")
plt.xlabel("X-अक्ष")
plt.ylabel("Y-अक्ष")
plt.scatter(X[:,0], X[:,1])
plt.show()

ms = MeanShift()
ms.fit(X)
labels = ms.labels_
clusterCent = ms.cluster_centers_
print(clusterCent)
numCluster = len(np.unique(labels))
print("अनुमानित क्लस्टर्स:", numCluster)

colors = 10*['r.','g.','b.','c.','k.','y.','m.']
for i in range(len(X)):
    plt.plot(X[i][0], X[i][1], colors[labels[i]], markersize=3)
plt.scatter(clusterCent[:,0], clusterCent[:,1],
    marker=".", color='k', s=20, linewidths=5, zorder=10)
plt.show()

आउटपुट

पायथन में मीन शिफ्ट एल्गोरिदम को लागू करना

[[ 3.05250924  3.03734994  1.06159541]
 [ 3.92913017  4.99956874  4.86668482]
 [10.99127523 10.02361122 10.00084718]]
अनुमानित क्लस्टर्स: 3

पायथन में मीन शिफ्ट एल्गोरिदम को लागू करना

व्याख्या

  • आवश्यक पैकेज इम्पोर्ट किए जाते हैं और उपयोग में आसानी के लिए उनका उपनाम परिभाषित किया जाता है।

  • 'style' क्लास में मौजूद 'use' फ़ंक्शन को 'ggplot' निर्दिष्ट किया जाता है।

  • डेटा के क्लस्टर बनाने के लिए 'make_blobs' फ़ंक्शन का उपयोग किया जाता है।

  • set_xlabel, set_ylabel और set_title फ़ंक्शन का उपयोग 'X' अक्ष, 'Y' अक्ष और शीर्षक के लिए लेबल प्रदान करने के लिए किया जाता है।

  • 'MeanShift' फ़ंक्शन को कॉल किया जाता है, और एक वेरिएबल को असाइन किया जाता है।

  • डेटा को मॉडल में फिट किया जाता है।

  • लेबल और क्लस्टर्स की संख्या परिभाषित की जाती है।

  • इस डेटा को प्लॉट किया जाता है, और मॉडल में फिट डेटा के लिए स्कैटर प्लॉट भी प्रदर्शित किया जाता है।

  • 'show' फ़ंक्शन का उपयोग करके इसे कंसोल पर दिखाया जाता है।

  1. Python में Wikipedia Data Extract कैसे करें? Python में Wikipedia Data Extract कैसे करें?

    इस लेख में, हम देखेंगे कि Python का उपयोग करके Wikipedia data कैसे extract करें। Python websites से meta information capture करने के लिए web scrapers बनाने के लिए व्यापक रूप से उपयोग किया जाता है। इस लेख के लिए, हम दिए गए URL से Wikipedia source से data प्राप्त करने के लिए Wikipedia API और library क

  1. पायथन में सांख्यिकीय सोच पायथन में सांख्यिकीय सोच

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

  1. पायथन में जनगणना डेटा का विश्लेषण पायथन में जनगणना डेटा का विश्लेषण

    जनगणना एक व्यवस्थित तरीके से दी गई जनसंख्या के बारे में जानकारी रिकॉर्ड करने के बारे में है। कैप्चर किए गए डेटा में विभिन्न श्रेणी की जानकारी शामिल होती है जैसे - जनसांख्यिकीय, आर्थिक, आवास विवरण आदि। यह अंततः सरकार को वर्तमान परिदृश्य को समझने और भविष्य के लिए योजना बनाने में मदद करता है। इस लेख मे