K- یعنی کہنی کے طریقہ کار کے ساتھ کلسٹرنگ پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

K- یعنی کہنی کے طریقہ کار کے ساتھ کلسٹرنگ

K- کا مطلب ہے کلسٹرنگ ایک غیر زیر نگرانی سیکھنے کا الگورتھم ہے جو ہر نقطہ یوکلیڈین فاصلے کی بنیاد پر ڈیٹا کو ایک مرکزی نقطہ پر گروپ کرتا ہے سینٹرائڈ. سینٹروائڈز کی تعریف ان تمام پوائنٹس کے ذریعہ کی جاتی ہے جو ایک ہی کلسٹر میں ہیں۔ الگورتھم سب سے پہلے بے ترتیب پوائنٹس کو سینٹروائڈز کے طور پر منتخب کرتا ہے اور پھر ان کو مکمل کنورجنج تک ایڈجسٹ کرنے کا اعادہ کرتا ہے۔

K-means کا استعمال کرتے وقت یاد رکھنے کی ایک اہم بات یہ ہے کہ کلسٹرز کی تعداد ایک ہائپر پیرامیٹر ہے، اس کی وضاحت ماڈل کو چلانے سے پہلے کی جائے گی۔

K-means کو Scikit-Learn کا استعمال کرتے ہوئے کوڈ کی صرف 3 لائنوں کے ساتھ لاگو کیا جا سکتا ہے۔ Scikit-learn کے پاس پہلے سے ہی سینٹروڈ آپٹیمائزیشن کا طریقہ دستیاب ہے، kmeans++، جو ماڈل کو تیزی سے اکٹھا ہونے میں مدد کرتا ہے۔

K- یعنی کلسٹرنگ الگورتھم کو لاگو کرنے کے لیے، آئیے لوڈ کرتے ہیں۔ پامر پینگوئنز ڈیٹا سیٹ، ان کالموں کا انتخاب کریں جو کلسٹرڈ ہوں گے، اور رنگین کوڈ والے کلسٹرز کے ساتھ سکیٹر پلاٹ بنانے کے لیے Seaborn کا استعمال کریں۔

نوٹ: آپ اس سے ڈیٹاسیٹ ڈاؤن لوڈ کر سکتے ہیں۔ لنک.

آئیے لائبریریاں درآمد کریں اور Penguins ڈیٹاسیٹ لوڈ کریں، اسے منتخب کالموں میں تراشیں اور گمشدہ ڈیٹا کے ساتھ قطاریں چھوڑ دیں (صرف 2 تھے):

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

df = pd.read_csv('penguins.csv')
print(df.shape) 
df = df[['bill_length_mm', 'flipper_length_mm']]
df = df.dropna(axis=0)

ہم اپنے ڈیٹا کے لیے کلسٹرز کا اشارہ حاصل کرنے کے لیے کہنی کا طریقہ استعمال کر سکتے ہیں۔ یہ کہنی کی شکل کے ساتھ لائن پلاٹ کی تشریح پر مشتمل ہے۔ کلسٹرز کی تعداد کہنی کے موڑ تھی۔ پلاٹ کا x محور کلسٹرز کی تعداد ہے اور y محور کلسٹرز کی ہر ایک تعداد کے لیے کلسٹرز سم آف اسکوائرز (WCSS) کے اندر ہے:

wcss = []

for i in range(1, 11):
    clustering = KMeans(n_clusters=i, init='k-means++', random_state=42)
    clustering.fit(df)
    wcss.append(clustering.inertia_)
    
ks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sns.lineplot(x = ks, y = wcss);

کہنی کا طریقہ بتاتا ہے کہ ہمارے ڈیٹا میں 2 کلسٹر ہیں۔ آئیے کلسٹرنگ سے پہلے اور بعد میں ڈیٹا پلاٹ کرتے ہیں:

fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(15,5))
sns.scatterplot(ax=axes[0], data=df, x='bill_length_mm', y='flipper_length_mm').set_title('Without clustering')
sns.scatterplot(ax=axes[1], data=df, x='bill_length_mm', y='flipper_length_mm', hue=clustering.labels_).set_title('Using the elbow method');

K- یعنی کہنی کے طریقہ کار کے ساتھ کلسٹرنگ پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

یہ مثال ظاہر کرتی ہے کہ کہنی کا طریقہ صرف ایک حوالہ ہے جب کلسٹرز کی تعداد کو منتخب کرنے کے لیے استعمال کیا جاتا ہے۔ ہم پہلے ہی جانتے ہیں کہ ہمارے پاس ڈیٹاسیٹ میں 3 قسم کے پینگوئن ہیں، لیکن اگر ہم کہنی کا طریقہ استعمال کرتے ہوئے ان کی تعداد کا تعین کریں، تو 2 کلسٹرز ہمارا نتیجہ ہوں گے۔

چونکہ K- کا مطلب ڈیٹا کے تغیر کے لیے حساس ہے، آئیے ان کالموں کے وضاحتی اعدادوشمار کو دیکھیں جن کو ہم کلسٹر کر رہے ہیں:

df.describe().T 

اس کے نتائج:

 					count 	mean 		std 		min 	25% 	50% 	75% 	max
bill_length_mm 		342.0 	43.921930 	5.459584 	32.1 	39.225 	44.45 	48.5 	59.6
flipper_length_mm 	342.0 	200.915205 	14.061714 	172.0 	190.000 197.00 	213.0 	231.0

نوٹ کریں کہ اوسط معیاری انحراف (std) سے بہت دور ہے، یہ اعلی تغیر کی نشاندہی کرتا ہے۔ آئیے اسٹینڈرڈ اسکیلر کے ساتھ ڈیٹا کو اسکیل کرکے اسے کم کرنے کی کوشش کریں:

from sklearn.preprocessing import StandardScaler

ss = StandardScaler()
scaled = ss.fit_transform(df)

اب، اسکیلڈ ڈیٹا کے لیے کہنی کے طریقہ کار کو دہرائیں:

wcss_sc = []

for i in range(1, 11):
    clustering_sc = KMeans(n_clusters=i, init='k-means++', random_state=42)
    clustering_sc.fit(scaled)
    wcss_sc.append(clustering_sc.inertia_)
    
ks = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sns.lineplot(x = ks, y = wcss_sc);

K- یعنی کہنی کے طریقہ کار کے ساتھ کلسٹرنگ پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

بہترین طرز عمل، صنعت کے لیے منظور شدہ معیارات، اور چیٹ شیٹ کے ساتھ Git سیکھنے کے لیے ہمارے ہینڈ آن، عملی گائیڈ کو دیکھیں۔ گوگلنگ گٹ کمانڈز کو روکیں اور اصل میں سیکھ یہ!

اس بار، کلسٹرز کی تجویز کردہ تعداد 3 ہے۔ ہم موازنہ کے لیے دو سابقہ ​​پلاٹوں کے ساتھ دوبارہ کلسٹر لیبل کے ساتھ ڈیٹا پلاٹ کر سکتے ہیں:

fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(15,5))
sns.scatterplot(ax=axes[0], data=df, x='bill_length_mm', y='flipper_length_mm').set_title('Without cliustering')
sns.scatterplot(ax=axes[1], data=df, x='bill_length_mm', y='flipper_length_mm', hue=clustering.labels_).set_title('With the Elbow method')
sns.scatterplot(ax=axes[2], data=df, x='bill_length_mm', y='flipper_length_mm', hue=clustering_sc.labels_).set_title('With the Elbow method and scaled data');

K- یعنی کہنی کے طریقہ کار کے ساتھ کلسٹرنگ پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

K- کا مطلب کلسٹرنگ استعمال کرتے وقت، آپ کو کلسٹرز کی تعداد کا پہلے سے تعین کرنے کی ضرورت ہے۔ جیسا کہ ہم نے دیکھا ہے کہ ہمارے انتخاب کے لیے ایک طریقہ استعمال کرتے وقت k کلسٹرز کی تعداد، نتیجہ صرف ایک تجویز ہے اور ڈیٹا میں تغیر کی مقدار سے متاثر ہو سکتا ہے۔ گہرائی سے تجزیہ کرنا اور کلسٹرنگ کرتے وقت مختلف _k_s کے ساتھ ایک سے زیادہ ماڈل بنانا ضروری ہے۔

اگر اعداد و شمار میں کلسٹرز کی تعداد کے بارے میں کوئی پیشگی اشارہ نہیں ہے، تو اسے تصور کریں، اس کی جانچ کریں اور اس کی تشریح کریں کہ آیا کلسٹرنگ کے نتائج معنی خیز ہیں۔ اگر نہیں، تو دوبارہ کلسٹر کریں۔ اس کے علاوہ، مزید ایک میٹرک کو دیکھیں اور مختلف کلسٹرنگ ماڈلز کو فوری بنائیں – K-مینز کے لیے، سلہیٹ سکور کو دیکھیں اور ہو سکتا ہے کہ ہائرارکیکل کلسٹرنگ کو دیکھیں کہ آیا نتائج ایک جیسے ہی رہتے ہیں۔

ٹائم اسٹیمپ:

سے زیادہ Stackabuse