کیا آپ شروع کرنا چاہیں گے؟ مشین لرننگ?
میں نے مکمل beginners کے لیے ایک سادہ اور آسان ٹیوٹوریل بنایا ہے۔ ایک ساتھ، ہم مشین لرننگ ماڈل کی تربیت کے بنیادی مراحل پر جائیں گے۔
ایک ایک کرکے ماڈل کی تربیت کے مراحل کی وضاحت کرتے ہوئے، میں مشین لرننگ کے مسئلے کی بھی ایک بہت ہی بنیادی مثال پیش کروں گا۔ لہذا، اگر آپ اس کی پیروی کرنا چاہتے ہیں، تو آپ اس نمونہ ڈیٹا سیٹ کو اس سے ڈاؤن لوڈ کرسکتے ہیں۔ لنک.
مشین لرننگ شروع کرنے میں آپ کی مدد کرنے کے لیے یہ صرف ایک نمونہ ڈیٹا سیٹ ہے۔
ہمارے پاس مختلف عمروں اور جنسوں کے لوگوں کی 18 اقدار ہیں جن میں ان کی پسندیدہ موسیقی کی تعریف کی گئی ہے۔ "عمر" اور "جنس" کی خصوصیات کو استعمال کرکے ہم یہ اندازہ لگانے کی کوشش کریں گے کہ موسیقی کی کون سی صنف ان کی پسندیدہ ہے۔
نوٹ: اس ڈیٹاسیٹ میں 1 اور 0 جنسوں کو بطور خاتون اور مرد تفویض کیے گئے ہیں۔
تاہم، اگر آپ مثال کی پیروی نہیں کرنا چاہتے ہیں، تو یہ بھی بالکل ٹھیک ہے۔ میں ان تمام اقدامات کو تفصیل سے بیان کروں گا۔ تو، آئیے اندر غوطہ لگائیں!
جاننے کے لیے پہلی چیزیں
ماڈل کی تربیت کے مراحل میں جانے سے پہلے، آئیے کچھ نکات واضح کرتے ہیں۔ مشین لرننگ ایک ہے۔ مصنوعی ذہانت نظم و ضبط جو الگورتھم تیار کرنے پر مرکوز ہے جو ڈیٹا سے سیکھ سکتے ہیں۔
ایسا کرنے کے لیے، مشین لرننگ ماڈلز کو ڈیٹاسیٹ پر تربیت دی جاتی ہے جو ماڈل کو یہ سکھاتا ہے کہ صحیح پیشین گوئی کیسے کی جاتی ہے یا درجہ بندی تازہ، پہلے نامعلوم ڈیٹا پر۔
تو، یہ ماڈل کیا ہیں؟ اے مشین لرننگ ماڈل ایک نسخہ کی طرح ہے جسے کمپیوٹر ڈیٹا کی پیشین گوئیاں یا انتخاب پیدا کرنے کے لیے استعمال کرتا ہے۔
ایک ماڈل، ایک نسخہ کی طرح، ڈیٹا کا جائزہ لینے اور ڈیٹا میں پائے جانے والے نمونوں کی بنیاد پر پیشین گوئیاں یا فیصلے پیدا کرنے کے لیے ہدایات کے ایک سیٹ پر عمل کرتا ہے۔ ماڈل کو جتنا زیادہ ڈیٹا پر تربیت دی جاتی ہے، اس کی پیشین گوئیاں اتنی ہی درست ہوتی جاتی ہیں۔
ہم کس قسم کے ماڈلز کی تربیت کر سکتے ہیں؟
آئیے دیکھتے ہیں کہ مشین لرننگ کے بنیادی ماڈل کیا ہیں۔
- لکیری رجعت: ایک ماڈل جو ایک یا زیادہ ان پٹ متغیرات سے مسلسل ہدف کے متغیر کی پیش گوئی کرتا ہے۔
- اعصابی نیٹ ورکس: منسلک نوڈس کا ایک نیٹ ورک جو ڈیٹا میں پیچیدہ پیٹرن کا پتہ لگانا سیکھ سکتا ہے۔
- فیصلہ سازی کے درخت: فیصلہ سازی کا ایک طریقہ جو برانچنگ if-else بیانات کی زنجیر پر بنایا گیا ہے۔
- کلسٹرنگ: ماڈلز کا ایک سیٹ جو مماثلت کی بنیاد پر موازنہ ڈیٹا پوائنٹس کو گروپ کرتا ہے۔
- لاجسٹک ریگریشن: بائنری درجہ بندی کے مسائل کے لیے ایک ماڈل جس میں ہدف متغیر کی دو ممکنہ قدریں ہیں۔
- فیصلہ سازی کے درخت: فیصلہ سازی کا ایک طریقہ جو برانچنگ if-else بیانات کی زنجیر پر بنایا گیا ہے۔
- بے ترتیب جنگل: متعدد فیصلہ کن درختوں پر مشتمل ایک جوڑا ماڈل۔ وہ اکثر درجہ بندی اور ریگریشن ایپلی کیشنز کے لیے استعمال ہوتے ہیں۔
- K-قریب ترین پڑوسی: ایک ماڈل جو تربیتی سیٹ میں k-قریب ترین ڈیٹا پوائنٹس کا استعمال کرتے ہوئے ہدف کے متغیر کی پیش گوئی کرتا ہے۔
ہمارے مسئلے اور ڈیٹاسیٹ کی بنیاد پر، ہم فیصلہ کرتے ہیں کہ کون سا مشین لرننگ ماڈل ہماری صورتحال پر سب سے زیادہ فٹ بیٹھتا ہے۔ پھر بھی، ہم بعد میں اس پر واپس آئیں گے۔ اب، آئیے اپنے ماڈل کی تربیت شروع کریں۔ مجھے امید ہے کہ آپ نے پہلے ہی ڈاؤن لوڈ کر لیا ہے۔ ڈیٹاسیٹ اگر آپ ہماری مثال پر عمل کرنا چاہتے ہیں۔
اس کے علاوہ، میں رکھنے کی سفارش کرتا ہوں Jupyter نوٹ بک اپنی مقامی مشین پر انسٹال کریں اور اسے اپنے مشین لرننگ پروجیکٹس کے لیے استعمال کریں۔
1: مسئلہ کی وضاحت کریں۔
میں پہلا مرحلہ مشین لرننگ کی تربیت ماڈل اس مسئلے کو حل کرنے کی وضاحت کر رہا ہے۔ اس میں ان متغیرات کا انتخاب کرنا شامل ہے جن کی آپ پیشن گوئی کرنا چاہتے ہیں (جسے ہدف متغیر کہا جاتا ہے) اور وہ متغیرات جو ان پیشین گوئیوں کو (خصوصیات یا پیشن گوئی کے نام سے جانا جاتا ہے) پیدا کرنے کے لیے استعمال ہوں گے۔
آپ کو یہ بھی طے کرنا چاہیے کہ آپ کس قسم کی مشین لرننگ کے مسئلے کو حل کرنے کی کوشش کر رہے ہیں (درجہ بندی، رجعت، کلسٹرنگ، وغیرہ) اور آپ کو اپنے ماڈل کو تربیت دینے کے لیے کس قسم کا ڈیٹا اکٹھا کرنے یا حاصل کرنے کی ضرورت ہوگی۔
آپ جس قسم کے ماڈل کو استعمال کرتے ہیں اس کا تعین مشین لرننگ کے مسئلے کی قسم سے کیا جائے گا جسے آپ حل کرنا چاہتے ہیں۔ درجہ بندی، رجعت، اور کلسٹرنگ کی تین بنیادی اقسام ہیں۔ مشین سیکھنے کے چیلنجز. جب آپ کسی متغیر کی پیشین گوئی کرنا چاہتے ہیں، جیسے کہ آیا ای میل سپیم ہے یا نہیں، آپ درجہ بندی کا استعمال کرتے ہیں۔
جب آپ گھر کی قیمت کی طرح مسلسل متغیر کی پیشن گوئی کرنا چاہتے ہیں، تو آپ رجعت کا استعمال کرتے ہیں۔ کلسٹرنگ کا استعمال موازنہ ڈیٹا آئٹمز کو ان کی مشترکات کی بنیاد پر جمع کرنے کے لیے کیا جاتا ہے۔
اگر ہم اپنی مثال پر نظر ڈالیں؛ ہمارا چیلنج کسی شخص کی جنس اور عمر سے اس کے پسندیدہ موسیقی کے انداز کا تعین کرنا ہے۔ ہم اس مثال اور ان کی عمر، جنس اور پسندیدہ موسیقی کے انداز کے بارے میں معلومات کے لیے 18 لوگوں کا ڈیٹا سیٹ استعمال کریں گے۔
2. ڈیٹا تیار کریں۔
مسئلہ بتانے کے بعد، آپ کو ماڈل کی تربیت کے لیے ڈیٹا تیار کرنے کی ضرورت ہوگی۔ اس میں ڈیٹا کی صفائی اور پروسیسنگ شامل ہے۔ لہذا، ہم اس بات کا یقین کر سکتے ہیں کہ یہ ایک شکل میں ہے کہ مشین لرننگ الگورتھم استعمال کر سکتے ہیں.
اس میں گمشدہ اقدار کو حذف کرنا، زمرہ کے اعداد و شمار کو عددی ڈیٹا میں تبدیل کرنا، اور ڈیٹا کو اسکیلنگ یا نارملائز کرنے جیسی سرگرمیاں شامل ہو سکتی ہیں تاکہ یہ یقینی بنایا جا سکے کہ تمام خصوصیات ایک ہی پیمانے پر ہیں۔
مثال کے طور پر، آپ گمشدہ اقدار کو اس طرح حذف کرتے ہیں:
import pandas as pd
# Load the data into a pandas DataFrame
data = pd.read_csv('data.csv')
# Check for missing values
print(data.isnull().sum())
# Drop rows with missing values
data.dropna(inplace=True)
# Check that all missing values have been removed
print(data.isnull().sum())
چھوٹا نوٹ: لائن o میںimport pandas as pd",
ہم پانڈاس لائبریری کو درآمد کرتے ہیں اور اسے عرف "pd" تفویض کرتے ہیں تاکہ بعد میں کوڈ میں اس کے افعال اور اشیاء کا حوالہ دینا آسان ہو۔
پانڈا ڈیٹا ہیرا پھیری اور تجزیہ کے لیے Python کے لیے ایک معروف ماڈیول ہے، خاص طور پر جب سٹرکچرڈ یا ٹیبلر ڈیٹا کے ساتھ کام کر رہے ہوں۔
موسیقی کی انواع کا تعین کرنے کی ہماری مثال میں۔ ہم پہلے ڈیٹاسیٹ درآمد کریں گے۔ میں نے اس کا نام music.csv رکھا ہے، تاہم، آپ جو چاہیں اس کا نام رکھ سکتے ہیں۔
مشین لرننگ ماڈل کی تربیت کے لیے ڈیٹا تیار کرنے کے لیے، ہم اسے صفات (عمر اور جنس) اور مقاصد (موسیقی کی صنف) میں تقسیم کرتے ہیں۔
ہم اضافی طور پر ڈیٹا کو 80:20 ٹریننگ اور ٹیسٹنگ سیٹس میں تقسیم کریں گے تاکہ اپنے ماڈل کی کارکردگی کا اندازہ لگایا جا سکے اور زیادہ فٹنگ سے بچ سکیں۔
# Import necessary libraries
import pandas as pd
from sklearn.model_selection import train_test_split
# Load data from CSV file/code>
music_data = pd.read_csv('music.csv')
# Split data into features and target
X = music_data.drop(columns=['genre'])
y = music_data['genre']
# Split data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
3. مشین لرننگ ماڈل کا انتخاب کریں۔
ڈیٹا تیار کرنے کے بعد، آپ کو ایک مشین لرننگ ماڈل کا انتخاب کرنا چاہیے جو آپ کے کام کے لیے موزوں ہو۔
منتخب کرنے کے لیے بہت سے الگورتھم ہیں، جیسے کہ فیصلے کے درخت، لاجسٹک ریگریشن، سپورٹ ویکٹر مشینیں، نیورل نیٹ ورکس، اور دیگر۔ آپ جو الگورتھم منتخب کرتے ہیں اس کا تعین اس مسئلے کی قسم سے کیا جائے گا جس کا آپ جواب دینے کی کوشش کر رہے ہیں، آپ کے پاس موجود ڈیٹا کی قسم اور آپ کی کارکردگی کی ضروریات۔
ہم اس مثال کے لیے فیصلہ سازی کے درخت کا درجہ بندی کرنے والا استعمال کریں گے کیونکہ ہم درجہ بندی کے مسئلے کے ساتھ کام کر رہے ہیں (قطعی ڈیٹا کی پیش گوئی کرنا)۔
# Import necessary libraries
from sklearn.tree import DecisionTreeClassifier
فیصلہ ٹری کلاسیفائر کیسے کام کرتا ہے اس کا ایک تصور یہاں ہے:
4. ماڈل کو تربیت دیں۔
جب آپ نے قابل قبول مشین لرننگ الگورتھم کا انتخاب کیا ہے تو آپ ماڈل کی تربیت شروع کر سکتے ہیں۔ اس میں الگورتھم کو تعلیم دینے کے لیے پہلے سے تیار کردہ ڈیٹا کو استعمال کرنا شامل ہے کہ تازہ، پہلے نہ دیکھے گئے ڈیٹا پر پیشین گوئیاں کیسے کی جائیں۔
الگورتھم تربیت کے دوران اپنے داخلی پیرامیٹرز میں ترمیم کرے گا تاکہ اس کی پیش گوئی شدہ اقدار اور تربیتی ڈیٹا میں حقیقی اقدار کے درمیان فرق کو کم کیا جا سکے۔ تربیت کے لیے استعمال کیے جانے والے ڈیٹا کی مقدار، نیز الگورتھم کے مخصوص پیرامیٹرز، سبھی نتیجہ ماڈل کی درستگی پر اثر انداز ہو سکتے ہیں۔
ہماری مخصوص مثال میں، اب جب کہ ہم نے ایک طریقہ کا فیصلہ کر لیا ہے، ہم اپنے ماڈل کو تربیتی ڈیٹا کے ساتھ تربیت دے سکتے ہیں۔
# Train the decision tree classifier
model = DecisionTreeClassifier()
model.fit(X_train, y_train)
5. ماڈل کا اندازہ لگائیں۔
ماڈل کے تربیت یافتہ ہونے کے بعد، نئے ڈیٹا پر اس کا جائزہ لیا جانا چاہیے تاکہ یہ یقینی بنایا جا سکے کہ یہ درست اور قابل اعتماد ہے۔ اس میں ماڈل کو ڈیٹا کے ساتھ جانچنا شامل ہے جو ٹریننگ کے دوران استعمال نہیں کیا گیا تھا اور اس کی متوقع قدروں کا ٹیسٹ ڈیٹا میں اصل قدروں سے موازنہ کرنا ہے۔
یہ جائزہ کسی بھی ماڈل کی خامیوں کی نشاندہی کرنے میں مدد کر سکتا ہے، جیسے اوور فٹنگ یا انڈر فٹنگ، اور کسی بھی فائن ٹیوننگ کا باعث بن سکتا ہے جس کی ضرورت ہو سکتی ہے۔
ٹیسٹنگ ڈیٹا کا استعمال کرتے ہوئے، ہم اپنے ماڈل کی درستگی کا اندازہ لگائیں گے۔
# Import necessary libraries
from sklearn.metrics import accuracy_score
# Predict the music genre for the test data
predictions = model.predict(X_test)
# Evaluate the model's accuracy
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: ", accuracy)
درستگی کا اسکور ابھی اتنا برا نہیں ہے۔ 🙂 اپنے درستگی کے اسکور کو بہتر بنانے کے لیے، آپ ہمیشہ ڈیٹا کو زیادہ صاف کر سکتے ہیں یا مختلف مشین لرننگ ماڈلز آزما سکتے ہیں تاکہ یہ دیکھیں کہ کون سا سب سے زیادہ سکور دیتا ہے۔
6. ماڈل کو ٹھیک بنائیں
اگر ماڈل کی کارکردگی کافی نہیں ہے، تو آپ مختلف الگورتھم کے پیرامیٹرز کو تبدیل کر کے یا مکمل طور پر نئے الگورتھم کے ساتھ تجربہ کر کے اسے ٹھیک کر سکتے ہیں۔
اس طریقہ کار میں سیکھنے کی متبادل شرحوں کے ساتھ تجربہ کرنا، ریگولرائزیشن سیٹنگز میں ترمیم کرنا، یا نیورل نیٹ ورک میں چھپی ہوئی پرتوں کی تعداد یا سائز کو تبدیل کرنا شامل ہو سکتا ہے۔
7. ماڈل استعمال کریں۔
ماڈل کی کارکردگی سے خوش ہونے کے بعد، آپ نئے ڈیٹا پر پیشین گوئیاں پیدا کرنے کے لیے اسے استعمال کرنا شروع کر سکتے ہیں۔
اس میں ماڈل میں تازہ ڈیٹا شامل کرنا اور اس ڈیٹا پر پیشین گوئیاں پیدا کرنے کے لیے ماڈل کے سیکھے ہوئے پیرامیٹرز کو استعمال کرنا، یا ماڈل کو ایک وسیع تر ایپلیکیشن یا سسٹم میں ضم کرنا شامل ہو سکتا ہے۔
ہم اپنے ماڈل کو نئے ڈیٹا پر پیشین گوئیاں پیدا کرنے کے لیے استعمال کر سکتے ہیں جب ہم اس کی درستگی سے خوش ہوں۔ آپ جنس اور عمر کی مختلف اقدار کو آزما سکتے ہیں۔
# Test the model with new data
new_data = [[25, 1], [30, 0]]
predictions = model.predict(new_data)
print("Predictions: ", predictions)
لپیٹ
ہم نے اپنے پہلے مشین لرننگ ماڈل کی تربیت مکمل کر لی ہے۔
مجھے امید ہے کہ آپ نے اسے مفید پایا ہے۔ اب آپ مختلف مشین لرننگ ماڈلز جیسے لائنر ریگریشن یا رینڈم فارسٹ استعمال کرنے کی کوشش کر سکتے ہیں۔
میں بہت سے ڈیٹاسیٹس اور چیلنجز ہیں۔ کاگل اگر آپ اپنی کوڈنگ اور مشین لرننگ کی سمجھ کو بہتر بنانا چاہتے ہیں۔
جواب دیجئے