کی میز کے مندرجات[چھپائیں][دکھائیں]
اگر آپ Python پروگرامر ہیں یا اگر آپ مشین لرننگ کو پروڈکشن سسٹم میں متعارف کرانے کے لیے استعمال کرنے کے لیے ایک طاقتور ٹول کٹ تلاش کر رہے ہیں، تو Scikit-learn ایک لائبریری ہے جسے آپ کو چیک کرنے کی ضرورت ہے۔
Scikit-learn اچھی طرح سے دستاویزی اور استعمال میں آسان ہے، چاہے آپ مشین لرننگ میں نئے ہوں، جلدی سے اٹھنا اور چلنا چاہتے ہو، یا جدید ترین ML ریسرچ ٹول کو استعمال کرنا چاہتے ہو۔
یہ آپ کو کوڈ کی صرف چند سطروں میں پیش گوئی کرنے والا ڈیٹا ماڈل بنانے کی اجازت دیتا ہے اور پھر اس ماڈل کا استعمال آپ کے ڈیٹا کو ایک اعلیٰ سطحی لائبریری کے طور پر کرنے کے لیے کرتا ہے۔ یہ لچکدار ہے اور دوسرے کے ساتھ اچھی طرح کام کرتا ہے۔ ازگر کی لائبریریاں جیسے چارٹنگ کے لیے Matplotlib، ارے ویکٹرائزیشن کے لیے NumPy، اور ڈیٹا ویژولائزیشن کے لیے پانڈا۔
اس گائیڈ میں، آپ کو یہ سب کچھ معلوم ہو جائے گا کہ یہ کیا ہے، آپ اسے کیسے استعمال کر سکتے ہیں، اس کے فوائد اور نقصانات کے ساتھ۔
کیا ہے سکیٹ سیکھنا?
Scikit-learn (جسے sklearn بھی کہا جاتا ہے) شماریاتی ماڈلز اور مشین لرننگ کا متنوع سیٹ پیش کرتا ہے۔ زیادہ تر ماڈیولز کے برعکس، sklearn کو C کے بجائے Python میں تیار کیا گیا ہے۔ Python میں تیار ہونے کے باوجود، sklearn کی کارکردگی اعلی کارکردگی والے لکیری الجبرا اور ارے آپریشنز کے لیے NumPy کے استعمال سے منسوب ہے۔
Scikit-Learn کو گوگل کے سمر آف کوڈ پروجیکٹ کے ایک حصے کے طور پر بنایا گیا تھا اور اس کے بعد سے دنیا بھر کے لاکھوں پائتھون سینٹرک ڈیٹا سائنسدانوں کی زندگیوں کو آسان بنا دیا ہے۔ سیریز کا یہ حصہ لائبریری کو پیش کرنے اور ایک عنصر پر توجہ مرکوز کرتا ہے - ڈیٹاسیٹ کی تبدیلیاں، جو پیشین گوئی کے ماڈل کو تیار کرنے سے پہلے اٹھانا ایک اہم اور اہم قدم ہے۔
لائبریری SciPy (Scientific Python) پر مبنی ہے، جسے آپ scikit-learn استعمال کرنے سے پہلے انسٹال کرنا ضروری ہے۔ اس اسٹیک میں درج ذیل اشیاء شامل ہیں:
- NumPy: Python کا معیاری n-dimensional array پیکیج
- SciPy: یہ سائنسی کمپیوٹنگ کے لیے ایک بنیادی پیکج ہے۔
- پانڈا: ڈیٹا ڈھانچہ اور تجزیہ
- Matplotlib: یہ ایک طاقتور 2D/3D پلاٹنگ لائبریری ہے۔
- Sympy: علامتی ریاضی
- IPython: بہتر انٹرایکٹو کنسول
اسکیٹ لرن لائبریری کی ایپلی کیشنز
Scikit-learn جدید ترین ڈیٹا تجزیہ اور کان کنی کی خصوصیات کے ساتھ ایک اوپن سورس Python پیکیج ہے۔ یہ آپ کے ڈیٹا سائنس پروجیکٹس سے زیادہ سے زیادہ فائدہ اٹھانے میں آپ کی مدد کرنے کے لیے بلٹ ان الگورتھم کے ساتھ آتا ہے۔ Scikit-leabrary کو درج ذیل طریقوں سے استعمال کیا جاتا ہے۔
1. رجعت۔
رجعت تجزیہ دو یا دو سے زیادہ متغیرات کے درمیان تعلق کا تجزیہ کرنے اور اسے سمجھنے کے لیے ایک شماریاتی تکنیک ہے۔ رجعت کا تجزیہ کرنے کے لیے استعمال ہونے والا طریقہ اس بات کا تعین کرنے میں مدد کرتا ہے کہ کون سے عناصر متعلقہ ہیں، جنہیں نظر انداز کیا جا سکتا ہے، اور وہ کیسے تعامل کرتے ہیں۔ رجعت کی تکنیک، مثال کے طور پر، اسٹاک کی قیمتوں کے رویے کو بہتر طور پر سمجھنے کے لیے استعمال کی جا سکتی ہے۔
رجعت الگورتھم میں شامل ہیں:
- لکیری رجوع
- رج ریگریشن
- لاسو رجریشن
- فیصلہ ٹری ریگریشن
- بے ترتیب جنگل
- سپورٹ ویکٹر مشینیں (SVM)
2. درجہ بندی
درجہ بندی کا طریقہ ایک زیر نگرانی سیکھنے کا طریقہ ہے جو تازہ مشاہدات کے زمرے کی شناخت کے لیے تربیتی ڈیٹا کا استعمال کرتا ہے۔ درجہ بندی میں ایک الگورتھم دیے گئے سے سیکھتا ہے۔ ڈیٹاسیٹ یا مشاہدات اور پھر اضافی مشاہدات کو کئی کلاسوں یا گروپوں میں سے ایک میں درجہ بندی کرتا ہے۔ وہ، مثال کے طور پر، ای میل مواصلات کو سپیم کے طور پر درجہ بندی کرنے کے لیے استعمال کیا جا سکتا ہے یا نہیں۔
درجہ بندی الگورتھم میں درج ذیل شامل ہیں:
- لاجسٹک ریگریشن۔
- K-قریب ترین پڑوسی
- سپورٹ ویکٹر مشین
- فیصلہ درخت
- بے ترتیب جنگل
3. جھرمٹ
Scikit-learn میں کلسٹرنگ الگورتھم اسی طرح کی خصوصیات والے ڈیٹا کو سیٹوں میں ترتیب دینے کے لیے استعمال ہوتے ہیں۔ کلسٹرنگ آئٹمز کے ایک سیٹ کو گروپ کرنے کا عمل ہے تاکہ ایک ہی گروپ میں شامل افراد دوسرے گروپوں سے ملتے جلتے ہوں۔ مثال کے طور پر، کسٹمر ڈیٹا کو ان کے مقام کی بنیاد پر الگ کیا جا سکتا ہے۔
کلسٹرنگ الگورتھم میں درج ذیل شامل ہیں:
- DB-SCAN
- K- کا مطلب ہے۔
- منی بیچ K- مطلب
- سپیکٹرل کلسٹرنگ
4. ماڈل کا انتخاب
ماڈل سلیکشن الگورتھم ڈیٹا سائنس کے اقدامات میں استعمال کے لیے بہترین پیرامیٹرز اور ماڈلز کا موازنہ، توثیق اور انتخاب کے طریقے فراہم کرتے ہیں۔ اعداد و شمار کو دیکھتے ہوئے، ماڈل کا انتخاب امیدواروں کے ماڈلز کے گروپ سے شماریاتی ماڈل منتخب کرنے کا مسئلہ ہے۔ سب سے بنیادی حالات میں، ڈیٹا کے پہلے سے موجود مجموعہ کو مدنظر رکھا جاتا ہے۔ تاہم، اس کام میں تجربات کا ڈیزائن بھی شامل ہو سکتا ہے تاکہ حاصل کردہ ڈیٹا ماڈل کے انتخاب کے مسئلے کے لیے موزوں ہو۔
ماڈل سلیکشن ماڈیولز جو پیرامیٹرز کو ایڈجسٹ کرکے درستگی کو بہتر بنا سکتے ہیں ان میں شامل ہیں:
- کراس توثیق
- گرڈ تلاش
- پیمائش کا معیار
5. جہتی کمی
اعلی جہتی جگہ سے کم جہتی جگہ میں ڈیٹا کی منتقلی تاکہ کم جہتی نمائندگی اصل ڈیٹا کے کچھ اہم پہلوؤں کو محفوظ رکھے، مثالی طور پر اس کی موروثی جہت کے قریب، اسے جہتی کمی کے نام سے جانا جاتا ہے۔ تجزیہ کے لیے بے ترتیب متغیرات کی تعداد کم ہو جاتی ہے جب جہت کم ہو جاتی ہے۔ بیرونی اعداد و شمار، مثال کے طور پر، تصورات کی کارکردگی کو بہتر بنانے کے لیے نہیں سمجھا جا سکتا ہے۔
جہتی کمی الگورتھم میں درج ذیل شامل ہیں:
- خصوصیت کا انتخاب
- پرنسپل اجزاء کا تجزیہ (پی سی اے)
سکیٹ لرن انسٹال کرنا
NumPy، SciPy، Matplotlib، IPython، Sympy، اور Pandas کو Scikit-learn استعمال کرنے سے پہلے انسٹال کرنا ضروری ہے۔ آئیے کنسول سے پائپ کا استعمال کرتے ہوئے انہیں انسٹال کریں (صرف ونڈوز کے لیے کام کرتا ہے)۔
آئیے اب Scikit-learn انسٹال کرتے ہیں کہ ہم نے مطلوبہ لائبریریاں انسٹال کر لی ہیں۔
خصوصیات
Scikit-learn، جسے کبھی کبھی sklearn کہا جاتا ہے، مشین لرننگ ماڈلز اور شماریاتی ماڈلنگ کو نافذ کرنے کے لیے ایک Python ٹول کٹ ہے۔ ہم اسے ریگریشن، درجہ بندی، اور کلسٹرنگ کے لیے متعدد مشین لرننگ ماڈلز کے ساتھ ساتھ ان ماڈلز کا اندازہ لگانے کے لیے شماریاتی ٹولز بنانے کے لیے استعمال کر سکتے ہیں۔ اس میں طول و عرض میں کمی، فیچر کا انتخاب، فیچر نکالنا، جوڑا اپروچ، اور بلٹ ان ڈیٹا سیٹس بھی شامل ہیں۔ ہم ان خصوصیات میں سے ہر ایک کو ایک وقت میں چھان بین کریں گے۔
1. ڈیٹاسیٹس درآمد کرنا
Scikit-learn میں پہلے سے بنائے گئے ڈیٹاسیٹ کی ایک بڑی تعداد شامل ہے، جیسے iris ڈیٹاسیٹ، گھر کی قیمت کا ڈیٹاسیٹ، ٹائٹینک ڈیٹاسیٹ، وغیرہ۔ ان ڈیٹاسیٹس کے اہم فوائد یہ ہیں کہ وہ سمجھنے میں آسان ہیں اور انہیں فوری طور پر ایم ایل ماڈل تیار کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ ڈیٹا سیٹ نوزائیدہوں کے لیے موزوں ہیں۔ اسی طرح، آپ اضافی ڈیٹاسیٹس درآمد کرنے کے لیے sklearn استعمال کر سکتے ہیں۔ اسی طرح، آپ اسے اضافی ڈیٹاسیٹس درآمد کرنے کے لیے استعمال کر سکتے ہیں۔
2. تربیت اور جانچ کے لیے ڈیٹا سیٹ کو تقسیم کرنا
Sklearn میں ڈیٹاسیٹ کو تربیت اور جانچ کے حصوں میں تقسیم کرنے کی صلاحیت شامل تھی۔ پیشن گوئی کی کارکردگی کے غیر جانبدارانہ تشخیص کے لیے ڈیٹاسیٹ کو تقسیم کرنا ضروری ہے۔ ہم یہ بتا سکتے ہیں کہ ہمارا کتنا ڈیٹا ٹرین اور ٹیسٹ ڈیٹا سیٹس میں شامل ہونا چاہیے۔ ہم نے ڈیٹا سیٹ کو ٹرین ٹیسٹ اسپلٹ کا استعمال کرتے ہوئے اس طرح تقسیم کیا کہ ٹرین سیٹ 80% ڈیٹا پر مشتمل ہے اور ٹیسٹ سیٹ میں 20% ہے۔ ڈیٹاسیٹ کو اس طرح تقسیم کیا جا سکتا ہے:
3. لکیری رجعت
لکیری ریگریشن ایک زیر نگرانی لرننگ پر مبنی مشین لرننگ تکنیک ہے۔ یہ رجعت کا کام کرتا ہے۔ آزاد متغیرات کی بنیاد پر، رجعت ایک ہدف کی پیشن گوئی کی قدر کو ماڈل کرتی ہے۔ یہ زیادہ تر متغیر اور پیشین گوئی کے درمیان تعلق کا تعین کرنے کے لیے استعمال ہوتا ہے۔ مختلف ریگریشن ماڈل کنکشن کی قسم کے لحاظ سے مختلف ہوتے ہیں جس کا وہ انحصار اور آزاد متغیر کے درمیان جائزہ لیتے ہیں، نیز استعمال شدہ آزاد متغیرات کی تعداد۔ ہم آسانی سے sklearn کا استعمال کرتے ہوئے درج ذیل لائنر ریگریشن ماڈل بنا سکتے ہیں:
4. لاجسٹک ریگریشن
درجہ بندی کا ایک عام طریقہ لاجسٹک ریگریشن ہے۔ یہ ایک ہی خاندان میں ہے جس میں کثیر الثانی اور لکیری رجعت ہے اور اس کا تعلق لکیری درجہ بندی کرنے والے خاندان سے ہے۔ لاجسٹک ریگریشن کے نتائج سمجھنے کے لیے آسان ہیں اور حساب میں جلدی ہیں۔ لکیری ریگریشن کی طرح، لاجسٹک ریگریشن ایک زیر نگرانی رجعت کی تکنیک ہے۔ آؤٹ پٹ متغیر واضح ہے، لہذا صرف یہ فرق ہے. یہ اس بات کا تعین کر سکتا ہے کہ مریض کو دل کی بیماری ہے یا نہیں۔
مختلف درجہ بندی کے مسائل، جیسے کہ اسپام کا پتہ لگانا، لاجسٹک ریگریشن کا استعمال کرتے ہوئے حل کیا جا سکتا ہے۔ ذیابیطس کی پیشن گوئی، اس بات کا تعین کرنا کہ آیا صارف کوئی مخصوص پروڈکٹ خریدے گا یا کسی حریف کی طرف جائے گا، اس بات کا تعین کرنا کہ آیا صارف کسی مخصوص مارکیٹنگ لنک پر کلک کرے گا، اور بہت سے مزید منظرنامے صرف چند مثالیں ہیں۔
5. فیصلہ کن درخت
سب سے طاقتور اور وسیع پیمانے پر استعمال ہونے والی درجہ بندی اور پیشین گوئی کی تکنیک فیصلے کا درخت ہے۔ فیصلہ ٹری ایک درخت کا ڈھانچہ ہے جو ایک فلو چارٹ کی طرح نظر آتا ہے، جس میں ہر اندرونی نوڈ کسی وصف پر ٹیسٹ کی نمائندگی کرتا ہے، ہر شاخ ٹیسٹ کے اختتام کی نمائندگی کرتی ہے، اور ہر لیف نوڈ (ٹرمینل نوڈ) کلاس لیبل رکھتا ہے۔
جب منحصر متغیرات کا آزاد متغیر کے ساتھ خطی تعلق نہیں ہوتا ہے، یعنی جب لکیری رجعت درست نتائج پیدا نہیں کرتی ہے، تو فیصلہ کے درخت فائدہ مند ہوتے ہیں۔ DecisionTreeRegression() آبجیکٹ کو اسی طرح استعمال کیا جا سکتا ہے تاکہ کسی فیصلے کے درخت کو رجعت کے لیے استعمال کیا جا سکے۔
6. بے ترتیب جنگل
ایک بے ترتیب جنگل ہے a مشین لرننگ رجعت اور درجہ بندی کے مسائل کو حل کرنے کا طریقہ۔ یہ جوڑا سیکھنے کا استعمال کرتا ہے، جو ایک ایسی تکنیک ہے جو پیچیدہ مسائل کو حل کرنے کے لیے متعدد درجہ بندیوں کو یکجا کرتی ہے۔ ایک بے ترتیب جنگل کا طریقہ فیصلہ درختوں کی ایک بڑی تعداد سے بنا ہے۔ اس کا استعمال قرض کی درخواستوں کی درجہ بندی کرنے، دھوکہ دہی کے رویے کا پتہ لگانے، اور بیماری کے پھیلنے کا اندازہ لگانے کے لیے کیا جا سکتا ہے۔
7. کنفیوژن میٹرکس
کنفیوژن میٹرکس ایک ٹیبل ہے جو درجہ بندی ماڈل کی کارکردگی کو بیان کرنے کے لیے استعمال ہوتی ہے۔ کنفیوژن میٹرکس کو جانچنے کے لیے درج ذیل چار الفاظ استعمال کیے جاتے ہیں۔
- صحیح مثبت: یہ اس بات کی نشاندہی کرتا ہے کہ ماڈل نے ایک سازگار نتیجہ پیش کیا اور یہ درست تھا۔
- حقیقی منفی: یہ اس بات کی نشاندہی کرتا ہے کہ ماڈل نے برا نتیجہ پیش کیا اور یہ درست تھا۔
- غلط مثبت: یہ اس بات کی نشاندہی کرتا ہے کہ ماڈل کو ایک سازگار نتیجہ کی توقع تھی لیکن یہ واقعی منفی تھا۔
- غلط منفی: یہ اس بات کی نشاندہی کرتا ہے کہ ماڈل کو منفی نتیجہ کی توقع تھی، جبکہ نتیجہ واقعی مثبت تھا۔
کنفیوژن میٹرکس کا نفاذ:
پیشہ
- یہ استعمال کرنا آسان ہے۔
- Scikit-learn پیکیج انتہائی قابل موافق اور مفید ہے، جو حقیقی دنیا کے اہداف کو پورا کرتا ہے جیسے کہ صارفین کے رویے کی پیشن گوئی، نیورو امیج کی ترقی، وغیرہ۔
- وہ صارفین جو الگورتھم کو اپنے پلیٹ فارمز سے جوڑنا چاہتے ہیں انہیں Scikit-learn ویب سائٹ پر تفصیلی API دستاویزات ملیں گی۔
- متعدد مصنفین، معاونین، اور دنیا بھر میں ایک بڑی آن لائن کمیونٹی سپورٹ کرتے ہیں اور Scikit-Learn کو اپ ٹو ڈیٹ رکھتے ہیں۔
خامیاں
- یہ گہرائی سے مطالعہ کے لیے مثالی آپشن نہیں ہے۔
نتیجہ
Scikit-learn ہر ڈیٹا سائنسدان کے لیے ایک اہم پیکج ہے جس کی مضبوط گرفت اور کچھ تجربہ ہے۔ یہ گائیڈ آپ کو sklearn کا استعمال کرتے ہوئے ڈیٹا کی ہیرا پھیری میں مدد کرے گا۔ Scikit-learn کی اور بھی بہت سی صلاحیتیں ہیں جو آپ اپنے ڈیٹا سائنس ایڈونچر کے ذریعے ترقی کرتے وقت دریافت کریں گے۔ تبصرے میں اپنے خیالات کا اشتراک کریں.
جواب دیجئے