پہلو اور تعامل کی اصطلاح کے ساتھ ٹینسر فلو لکیری رجعت۔

اس ٹیوٹوریل میں ، آپ سیکھیں گے کہ ڈیٹا کو کیسے چیک کیا جائے اور اسے ایک سادہ لکیری ریگریشن ٹاسک بنانے کے لیے تیار کیا جائے۔

یہ سبق دو حصوں میں تقسیم کیا گیا ہے:

  • تعامل کی تلاش کریں۔
  • ماڈل کی جانچ کریں۔

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

ڈیٹاسیٹ پر مشتمل ہے:

متغیرتفصیل
ذ نرہائشی اراضی کا تناسب 25،000 مربع فٹ سے زیادہ رقبے کے لیے زون کیا گیا ہے۔
انڈسفی شہر غیر خوردہ کاروباری ایکڑ کا تناسب۔
noxنائٹرک آکسائڈ حراستی
rmکمروں کی اوسط تعداد فی رہائش
عمر1940 سے پہلے تعمیر شدہ مالک کے زیر قبضہ یونٹوں کا تناسب۔
کہوبوسٹن کے پانچ روزگار مراکز تک وزنی فاصلے۔
ٹیکسمکمل قیمت پراپرٹی ٹیکس کی شرح فی ڈالر 10،000۔
ٹریٹیوقصبے کے لحاظ سے شاگرد اور استاد کا تناسب
V کے ساتھمالک کے زیر قبضہ گھروں کی درمیانی قیمت ہزار ڈالر میں ہے۔
جرمشہر کے حساب سے فی کس جرائم کی شرح
چاسچارلس ریور ڈمی متغیر (1 اگر دریا کی حد ہوتی ہے 0 دوسری صورت میں)
ب۔شہر کے لحاظ سے کالوں کا تناسب

اس ٹیوٹوریل میں ، ہم لکیری ریگریسر کا استعمال کرتے ہوئے درمیانی قیمت کا تخمینہ لگائیں گے ، لیکن توجہ مشین سیکھنے کے ایک خاص عمل پر ہے: 'ڈیٹا کی تیاری۔'

ایک ماڈل ڈیٹا میں پیٹرن کو عام کرتا ہے۔ اس طرح کے پیٹرن پر قبضہ کرنے کے لیے ، آپ کو پہلے اسے ڈھونڈنے کی ضرورت ہے۔ ایک اچھی مشق یہ ہے کہ کسی بھی مشین لرننگ الگورتھم کو چلانے سے پہلے ڈیٹا کا تجزیہ کیا جائے۔

صحیح خصوصیات کا انتخاب آپ کے ماڈل کی کامیابی میں تمام فرق پیدا کرتا ہے۔ ذرا تصور کریں کہ آپ لوگوں کی اجرت کا تخمینہ لگانے کی کوشش کرتے ہیں ، اگر آپ صنف کو بطور بطور معاون شامل نہیں کرتے ہیں تو ، آپ کا تخمینہ ناقص اندازے کے ساتھ ختم ہوتا ہے۔

ماڈل کو بہتر بنانے کا ایک اور طریقہ یہ ہے کہ آزاد متغیر کے درمیان ارتباط کو دیکھیں۔ مثال کے طور پر ، آپ تعلیم کے بارے میں سوچ سکتے ہیں کہ اجرت بلکہ پیشے کی پیش گوئی کرنے کے لیے ایک بہترین امیدوار ہے۔ یہ کہنا مناسب ہے کہ ، پیشہ تعلیم کی سطح پر منحصر ہے ، یعنی اعلیٰ تعلیم اکثر بہتر پیشے کی طرف لے جاتی ہے۔ اگر ہم اس خیال کو عام کریں تو ہم کہہ سکتے ہیں کہ منحصر متغیر اور ایک وضاحتی متغیر کے درمیان ارتباط کو ایک اور وضاحتی متغیر سے بڑھایا جا سکتا ہے۔

قبضے پر تعلیم کے محدود اثر کو حاصل کرنے کے لیے ، ہم تعامل کی اصطلاح استعمال کر سکتے ہیں۔

اگر آپ اجرت کے مساوات کو دیکھیں تو یہ بن جاتا ہے:

اگر مثبت ہے ، پھر اس کا مطلب یہ ہے کہ تعلیم کی ایک اضافی سطح ایک اعلی قبضے کی سطح کے لیے مکان کی درمیانی قیمت میں زیادہ اضافہ کرتی ہے۔ دوسرے لفظوں میں ، تعلیم اور پیشہ کے درمیان باہمی تعامل ہوتا ہے۔

اس ٹیوٹوریل میں ، ہم یہ دیکھنے کی کوشش کریں گے کہ کون سے متغیر بات چیت کی شرائط کے لیے اچھے امیدوار ہوسکتے ہیں۔ ہم جانچیں گے کہ کیا اس قسم کی معلومات کو شامل کرنے سے قیمتوں کی بہتر پیشن گوئی ہوتی ہے۔

اس سبق میں ، آپ سیکھیں گے۔

خلاصہ شماریات۔

ماڈل پر آگے بڑھنے سے پہلے آپ کچھ اقدامات کر سکتے ہیں۔ جیسا کہ پہلے ذکر کیا گیا ہے ، ماڈل ڈیٹا کی عمومی کاری ہے۔ بہترین فٹ پریکٹس ڈیٹا کو سمجھنا اور پیشن گوئی کرنا ہے۔ اگر آپ اپنے ڈیٹا کو نہیں جانتے ہیں تو ، آپ کے ماڈل کو بہتر بنانے کے بہت کم امکانات ہیں۔

پہلے مرحلے کے طور پر ، ڈیٹا کو پانڈا ڈیٹا فریم کے طور پر لوڈ کریں اور ٹریننگ سیٹ اور ٹیسٹنگ سیٹ بنائیں۔

تجاویز: اس سبق کے لیے ، آپ کو ازگر میں matplotlit اور seaborn انسٹال کرنے کی ضرورت ہے۔ آپ Jupyter کے ساتھ فلائی پر ازگر پیکیج انسٹال کر سکتے ہیں۔ تم نہیں ہونا چاہیے ایسا کرو | _+_ |

لیکن | _+_ |

نوٹ کریں کہ اگر آپ کے پاس میٹپلوٹلیب اور سیبورن انسٹال ہے تو یہ قدم ضروری نہیں ہے۔

Matplotlib ازگر میں ایک گراف بنانے کے لیے لائبریری ہے۔ سیبورن ایک شماریاتی تصویری لائبریری ہے جو میٹپلوٹلیب کے اوپر بنائی گئی ہے۔ یہ پرکشش اور خوبصورت پلاٹ مہیا کرتا ہے۔

مندرجہ ذیل کوڈ ضروری کتب خانے درآمد کرتا ہے۔ | _+_ |

لائبریری sklearn میں بوسٹن ڈیٹاسیٹ شامل ہے۔ آپ ڈیٹا درآمد کرنے کے لیے اس کے API کو کال کر سکتے ہیں۔ | _+_ |

فیچر کا نام آبجیکٹ فیچر_نامز میں ایک صف میں محفوظ ہے۔ | _+_ |

آؤٹ پٹ۔

!conda install -- yes matplotlib

آپ کالموں کا نام بدل سکتے ہیں۔ | _+_ |

آپ متغیر CHAS کو سٹرنگ متغیر کے طور پر تبدیل کرتے ہیں اور اسے ہاں کے ساتھ لیبل کریں اگر CHAS = 1 اور نہیں اگر CHAS = 0 | _+_ |

پانڈا کے ساتھ ، ڈیٹاسیٹ کو تقسیم کرنا سیدھا ہے۔ آپ ڈیٹا سیٹ کو تصادفی طور پر 80 فیصد ٹریننگ سیٹ اور 20 فیصد ٹیسٹنگ سیٹ کے ساتھ تقسیم کرتے ہیں۔ پانڈا کے پاس ڈیٹا فریم کے نمونے کو تقسیم کرنے کے لیے بلٹ ان لاگت کا فنکشن ہوتا ہے۔

پہلا پیرامیٹر فریک 0 سے 1 کی قدر ہے۔ آپ ڈیٹا فریم کے تصادفی 80 فیصد کو منتخب کرنے کے لیے اسے 0.8 پر سیٹ کرتے ہیں۔

Random_state ہر ایک کے لیے یکساں ڈیٹا فریم واپس کرنے کی اجازت دیتا ہے۔ | _+_ |

آپ ڈیٹا کی شکل حاصل کرسکتے ہیں۔ یہ ہونا چاہئے:

  • ٹرین سیٹ: 506*0.8 = 405۔
  • ٹیسٹ سیٹ: 506*0.2 = 101۔
 import sys !{sys.executable} -m pip install matplotlib # Already installed !{sys.executable} -m pip install seaborn 

آؤٹ پٹ۔

 import pandas as pd from sklearn import datasets import tensorflow as tf from sklearn.datasets import load_boston import numpy as np 
 boston = load_boston() df = pd.DataFrame(boston.data) 

آؤٹ پٹ۔

CRIM ذ ن انڈس۔ CHAS NOX RM عمر کہو ریڈ ٹیکس۔ پریکٹس ب۔ LSTAT قیمت
0.00632۔18.0۔2.31۔نہیں0.538۔6،575۔65.2۔4.0900۔1.0296.0۔15.3۔396.90۔4.98۔24.0۔
0.02731۔0.07.07۔نہیں0.469۔6،421۔78.9۔4،9671۔2.0242.0۔17.8۔396.90۔9.14۔21.6۔
0.03237۔0.02.18۔نہیں0.458۔6،998۔45.8۔6.0622۔3.0222.0۔18.7۔394.63۔2.94۔33.4۔
0.08829۔12.5۔7.87۔نہیں0.524۔6،012۔66.6۔5.5605۔5.0۔311.0۔15.2۔395.60۔12.43۔22.9۔
0.14455۔12.5۔7.87۔نہیں0.524۔6،172۔96.1۔5،9505۔5.0۔311.0۔15.2۔396.90۔19.15۔27.1۔

ڈیٹا گندا ہے یہ اکثر غیر متوازن اور بیرونی اقدار کے ساتھ چھڑکا جاتا ہے جو تجزیہ اور مشین لرننگ کی تربیت کو ختم کردیتا ہے۔

ڈیٹاسیٹ کو صاف کرنے کا پہلا قدم یہ سمجھنا ہے کہ اسے کہاں صفائی کی ضرورت ہے۔ ڈیٹاسیٹ کی صفائی کرنا مشکل ہوسکتا ہے ، خاص طور پر کسی بھی عام انداز میں۔

گوگل ریسرچ ٹیم نے اس کام کے لیے ایک ٹول تیار کیا ہے جسے کہا جاتا ہے۔ پہلوؤں جو اعداد و شمار کو دیکھنے اور اسے ہر طرح کے آداب میں کاٹنے میں مدد کرتا ہے۔ ڈیٹاسیٹ کو کس طرح رکھا گیا ہے اس کو سمجھنے کے لیے یہ ایک اچھا نقطہ آغاز ہے۔

پہلو آپ کو یہ جاننے کی اجازت دیتے ہیں کہ جہاں ڈیٹا آپ کی سوچ کے مطابق نظر نہیں آتا۔

ان کی ویب ایپ کو چھوڑ کر ، گوگل ٹول کٹ کو Jupyter نوٹ بک میں شامل کرنا آسان بناتا ہے۔

پہلوؤں کے دو حصے ہیں:

  • پہلوؤں کا جائزہ
  • پہلو گہری غوطہ۔

پہلوؤں کا جائزہ

پہلوؤں کا جائزہ ڈیٹاسیٹ کا ایک جائزہ دیتا ہے۔ پہلوؤں کا جائزہ ڈیٹا کے کالم کو نمایاں معلومات کی قطاروں میں تقسیم کرتا ہے۔

  1. لاپتہ مشاہدے کا فیصد
  2. کم سے کم اور زیادہ سے زیادہ اقدار
  3. اعداد ، وسط ، اور معیاری انحراف جیسے اعدادوشمار۔
  4. اس میں ایک کالم بھی شامل کیا گیا ہے جو کہ صفر کی اقدار کو ظاہر کرتا ہے ، جو مددگار ہے جب زیادہ تر اقدار صفر ہوں۔
  5. ان تقسیمات کو ٹیسٹ ڈیٹاسیٹ کے ساتھ ساتھ ہر فیچر کے لیے ٹریننگ سیٹ پر دیکھنا ممکن ہے۔ اس کا مطلب ہے کہ آپ ڈبل چیک کر سکتے ہیں کہ ٹیسٹ میں تربیتی اعداد و شمار کی یکساں تقسیم ہے۔

مشین سیکھنے کے کسی بھی کام سے پہلے یہ کم از کم کرنا ہے۔ اس ٹول کی مدد سے ، آپ اس اہم مرحلے کو مت چھوڑیں ، اور یہ کچھ اسامانیتاوں پر روشنی ڈالتا ہے۔

پہلو گہری غوطہ۔

پہلو گہری غوطہ ایک ٹھنڈا ٹول ہے۔ یہ آپ کو اپنے ڈیٹاسیٹ پر کچھ وضاحت دینے اور ڈیٹا کے انفرادی ٹکڑے کو دیکھنے کے لیے ہر طرح سے زوم کرنے کی اجازت دیتا ہے۔ اس کا مطلب ہے کہ آپ ڈیٹاسیٹ کی کسی بھی خصوصیت میں ڈیٹا کو قطار اور کالم کے لحاظ سے دیکھ سکتے ہیں۔

ہم ان دو ٹولز کو بوسٹن ڈیٹاسیٹ کے ساتھ استعمال کریں گے۔

نوٹ : آپ ایک ہی وقت میں Facets Overview اور Facets Deep Dive استعمال نہیں کر سکتے۔ ٹول کو تبدیل کرنے کے لیے آپ کو پہلے نوٹ بک صاف کرنے کی ضرورت ہے۔

پہلو انسٹال کریں۔

آپ زیادہ تر تجزیوں کے لیے فیسٹ ویب ایپ استعمال کر سکتے ہیں۔ اس ٹیوٹوریل میں ، آپ دیکھیں گے کہ اسے Jupyter نوٹ بک میں کیسے استعمال کیا جائے۔

سب سے پہلے ، آپ کو nbextensions انسٹال کرنے کی ضرورت ہے۔ یہ اس کوڈ کے ساتھ کیا گیا ہے۔ آپ اپنی مشین کے ٹرمینل میں درج ذیل کوڈ کو کاپی اور پیسٹ کریں۔ | _+_ |

اس کے فورا بعد ، آپ کو اپنے کمپیوٹر میں موجود ذخیروں کو کلون کرنے کی ضرورت ہے۔ آپ کے پاس دو انتخاب ہیں:

آپشن 1) اس کوڈ کو ٹرمینل میں کاپی اور پیسٹ کریں۔ (تجویز کردہ)

اگر آپ کی مشین پر Git انسٹال نہیں ہے تو براہ کرم اس یو آر ایل پر جائیں۔ https://git-scm.com/download/win۔ اور ہدایات پر عمل کریں. ایک بار جب آپ کام کر لیتے ہیں تو ، آپ میک صارف کے ٹرمینل میں گٹ کمانڈ استعمال کرسکتے ہیں یا ونڈوز صارف کے لیے ایناکونڈا پرامپٹ | _+_ |

آپشن 2) کے پاس جاؤ https://github.com/PAIR-code/facets۔ اور ذخیرے ڈاؤن لوڈ کریں۔

اگر آپ پہلا آپشن منتخب کرتے ہیں تو فائل آپ کی ڈاؤن لوڈ فائل میں ختم ہو جاتی ہے۔ آپ یا تو فائل کو ڈاؤن لوڈ کرنے دے سکتے ہیں یا اسے کسی اور راستے پر کھینچ سکتے ہیں۔

آپ چیک کر سکتے ہیں کہ اس کمانڈ لائن کے ساتھ پہلو کہاں محفوظ ہیں: | _+_ |

اب جب کہ آپ کے پاس پہلو ہیں ، آپ کو اسے Jupyter نوٹ بک میں انسٹال کرنے کی ضرورت ہے۔ آپ کو ورکنگ ڈائرکٹری کو اس راستے پر سیٹ کرنے کی ضرورت ہے جہاں پہلو واقع ہیں۔

آپ کی موجودہ ورکنگ ڈائرکٹری اور فیکٹس زپ کا مقام ایک جیسا ہونا چاہیے۔

آپ کو ورکنگ ڈائرکٹری کو پہلو کی طرف اشارہ کرنے کی ضرورت ہے: | _+_ |

Jupyter میں Facets انسٹال کرنے کے لیے ، آپ کے پاس دو آپشنز ہیں۔ اگر آپ نے تمام صارفین کے لیے کونڈا کے ساتھ Jupyter انسٹال کیا ہے تو اس کوڈ کو کاپی کریں:

jupyter nbextension install facets-dist/ | _+_ | استعمال کر سکتے ہیں۔

بصورت دیگر ، استعمال کریں: | _+_ |

ٹھیک ہے ، آپ بالکل تیار ہیں۔ آئیے پہلو کا جائزہ کھولیں۔

جائزہ

جائزہ اعداد و شمار کی گنتی کے لیے ایک ازگر کا سکرپٹ استعمال کرتا ہے۔ آپ کو Jupyter پر generic_feature_statistics_generator نامی اسکرپٹ درآمد کرنے کی ضرورت ہے۔ فکر مت کرو اسکرپٹ پہلو فائلوں میں واقع ہے۔

آپ کو اس کا راستہ تلاش کرنے کی ضرورت ہے۔ یہ آسانی سے کیا جاتا ہے۔ آپ پہلو کھولتے ہیں ، فائل facets_overview کھولیں اور پھر ازگر۔ راستہ کاپی کریں۔

اس کے بعد ، واپس Jupyter پر جائیں ، اور درج ذیل کوڈ لکھیں۔ اپنے راستے کے لیے '/Users/Thomas/facets/facets_overview/python' کا راستہ تبدیل کریں۔ | _+_ |

آپ نیچے دیئے گئے کوڈ کے ساتھ اسکرپٹ درآمد کر سکتے ہیں۔ | _+_ |

ونڈوز میں ، وہی کوڈ | _+_ | بن جاتا ہے۔

خصوصیت کے اعدادوشمار کا حساب لگانے کے لیے ، آپ کو فنکشن GenericFeatureStatisticsGenerator () استعمال کرنے کی ضرورت ہے ، اور آپ ProtoFromDataFrames آبجیکٹ استعمال کرتے ہیں۔ آپ ایک لغت میں ڈیٹا فریم پاس کر سکتے ہیں۔ مثال کے طور پر ، اگر ہم ٹرین سیٹ کے لیے ایک خلاصہ شماریات بنانا چاہتے ہیں تو ہم معلومات کو ایک لغت میں محفوظ کر سکتے ہیں اور اسے 'ProtoFromDataFrames' آبجیکٹ میں استعمال کر سکتے ہیں۔

  • boston.feature_names

نام ٹیبل ڈسپلے کا نام ہے ، اور آپ اس ٹیبل کا نام استعمال کرتے ہیں جس کا آپ خلاصہ شمار کرنا چاہتے ہیں۔ آپ کی مثال میں ، ڈیٹا پر مشتمل ٹیبل df_train | _+_ | ہے۔

آخر میں ، آپ صرف نیچے دیئے گئے کوڈ کو کاپی اور پیسٹ کریں۔ کوڈ براہ راست گٹ ہب سے آتا ہے۔ آپ کو یہ دیکھنے کے قابل ہونا چاہئے:

array(['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD','TAX', 'PTRATIO', 'B', 'LSTAT'], dtype='

گراف

ڈیٹا اور ان کی تقسیم کو چیک کرنے کے بعد ، آپ ایک ارتباطی میٹرکس کو پلاٹ کر سکتے ہیں۔ ارتباط میٹرکس پیئرسن گتانک کا حساب لگاتا ہے۔ یہ گتانک -1 اور 1 کے درمیان بندھا ہوا ہے ، ایک مثبت قدر کے ساتھ ایک مثبت ارتباط اور منفی قدر ایک منفی ارتباط کی نشاندہی کرتی ہے۔

آپ یہ دیکھنے میں دلچسپی رکھتے ہیں کہ کون سے متغیرات تعامل کی شرائط کے لیے اچھے امیدوار ہوسکتے ہیں۔ | _+_ |

png

میٹرکس سے ، آپ دیکھ سکتے ہیں:

  • LSTAT
  • RM

PRICE کے ساتھ مضبوطی سے منسلک ہیں۔ ایک اور دلچسپ خصوصیت NOX اور INDUS کے درمیان مضبوط مثبت ارتباط ہے ، جس کا مطلب ہے کہ وہ دو متغیرات ایک ہی سمت میں آگے بڑھتے ہیں۔ اس کے علاوہ ، PRICE کے ساتھ بھی منسلک ہیں۔ DIS IND اور NOX کے ساتھ بھی بہت زیادہ منسلک ہے۔

آپ کو کچھ پہلا اشارہ ہے کہ IND اور NOX انٹرسیپٹ ٹرم کے لیے اچھے امیدوار ہوسکتے ہیں اور DIS پر توجہ دینا بھی دلچسپ ہوسکتا ہے۔

آپ جوڑی گرڈ کی منصوبہ بندی کرکے تھوڑا سا گہرا جا سکتے ہیں۔ یہ آپ سے پہلے باہمی تعلق کے نقشے کو مزید تفصیل سے بیان کرے گا۔

جوڑا گرڈ جس پر ہم تشکیل دے رہے ہیں وہ مندرجہ ذیل ہیں:

  • اوپری حصہ: فٹ لائن کے ساتھ پلاٹر سکیٹر۔
  • اخترن: دانا کثافت پلاٹ۔
  • نچلا حصہ: ملٹی ویریٹ دانا کثافت پلاٹ۔

آپ چار آزاد متغیر پر توجہ کا انتخاب کرتے ہیں۔ انتخاب PRICE کے ساتھ مضبوط ارتباط کے ساتھ متغیرات سے مطابقت رکھتا ہے۔

  • انڈس۔
  • NOX
  • RM
  • LSTAT

اس کے علاوہ ، قیمت.

نوٹ کہ معیاری خرابی بطور ڈیفالٹ بکھرے ہوئے پلاٹ میں شامل ہو جاتی ہے۔ | _+_ |

آؤٹ پٹ۔

آئیے اوپری حصے سے شروع کریں:

  • قیمت INDUS ، NOX اور LSTAT کے ساتھ منفی طور پر منسلک ہے۔ مثبت طور پر RM کے ساتھ منسلک ہے۔
  • LSTAT اور PRICE کے ساتھ قدرے غیر لکیریٹی ہے۔
  • ایک سیدھی لکیر کی طرح ہے جب قیمت 50 کے برابر ہو۔ ڈیٹاسیٹ کی تفصیل سے ، PRICE کو 50 کی قیمت پر چھوٹا گیا

اخترن

  • لگتا ہے کہ NOX کے دو کلسٹر ہیں ، ایک 0.5 کے ارد گرد اور ایک 0.85 کے آس پاس۔

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

اگر آپ INDUS اور NOX کے لیے ملٹی ویریٹ کثافت چیک کرتے ہیں تو آپ مثبت ارتباط اور دو کلسٹر دیکھ سکتے ہیں۔ جب صنعت کا حصہ 18 سے اوپر ہے ، نائٹرک آکسائڈ حراستی 0.6 سے اوپر ہے۔

آپ لکیری تعلقات میں INDUS اور NOX کے درمیان تعامل کو شامل کرنے کے بارے میں سوچ سکتے ہیں۔

آخر میں ، آپ گوگل کے بنائے ہوئے دوسرے ٹولز استعمال کر سکتے ہیں ، Facets Deep Dive۔ انٹرفیس کو چار اہم حصوں میں تقسیم کیا گیا ہے۔ مرکز کا مرکزی علاقہ ڈیٹا کا زوم ایبل ڈسپلے ہے۔ پینل کے اوپری حصے میں ، ڈراپ ڈاؤن مینو ہے جہاں آپ اعداد و شمار کی ترتیب کو تبدیل کر سکتے ہیں تاکہ چہرے ، پوزیشننگ اور رنگ کو کنٹرول کیا جا سکے۔ دائیں طرف ، ڈیٹا کی ایک مخصوص قطار کا تفصیلی نظارہ ہے۔ اس کا مطلب ہے کہ آپ اس مخصوص ڈیٹا پوائنٹ کے بارے میں تفصیل دیکھنے کے لیے سینٹر ویژولائزیشن میں ڈیٹا کے کسی بھی نقطے پر کلک کر سکتے ہیں۔

ڈیٹا ویزولائزیشن مرحلے کے دوران ، آپ گھر کی قیمت پر آزاد متغیر کے مابین جوڑی باہمی ربط تلاش کرنے میں دلچسپی رکھتے ہیں۔ تاہم ، اس میں کم از کم تین متغیرات شامل ہیں ، اور 3D پلاٹ کام کرنے کے لیے پیچیدہ ہیں۔

اس مسئلے سے نمٹنے کا ایک طریقہ ایک متغیر متغیر بنانا ہے۔ یعنی ہم 2D پلاٹ کو رنگین نقطہ بنا سکتے ہیں۔ آپ متغیر قیمت کو چار اقسام میں تقسیم کر سکتے ہیں ، ہر زمرہ ایک چوتھائی ہے (یعنی 0.25 ، 0.5 ، 0.75)۔ آپ اس نئے متغیر کو Q_PRICE کہتے ہیں۔ | _+_ |

پہلو گہری غوطہ۔

ڈیپ ڈیو کو کھولنے کے لیے ، آپ کو ڈیٹا کو json فارمیٹ میں تبدیل کرنے کی ضرورت ہے۔ پانڈا اس کے لیے ایک شے کے طور پر۔ آپ پانڈاس ڈیٹاسیٹ کے بعد to_json استعمال کر سکتے ہیں۔

کوڈ کی پہلی لائن ڈیٹاسیٹ کے سائز کو سنبھالتی ہے۔ | _+_ |

نیچے دیا گیا کوڈ گوگل گٹ ہب سے آیا ہے۔ کوڈ چلانے کے بعد ، آپ کو یہ دیکھنے کے قابل ہونا چاہئے:

 df.columns = boston.feature_names df['PRICE'] = boston.target df.head(2) 

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

اس کے لیے ، آپ نے سب سے پہلے ڈیٹا کو انڈسٹری کی حد اور رنگ کے حساب سے قیمت کے چوتھائی کے ساتھ تقسیم کیا:

  • فیسٹنگ ایکس کو منتخب کریں اور انڈس کا انتخاب کریں۔
  • ڈسپلے کو منتخب کریں اور DIS منتخب کریں۔ یہ نقطوں کو گھر کی قیمت کے چوتھائی سے رنگ دے گا۔

یہاں ، گہرے رنگوں کا مطلب ہے کہ پہلے جاب سنٹر کا فاصلہ بہت دور ہے۔

اب تک ، یہ دوبارہ دکھاتا ہے کہ آپ کیا جانتے ہیں ، انڈسٹری کی کم شرح ، زیادہ قیمت۔ اب آپ INDUX ، NOX کے ذریعہ خرابی کو دیکھ سکتے ہیں۔

  • فیسٹنگ Y کو منتخب کریں اور NOX کا انتخاب کریں۔

اب آپ دیکھ سکتے ہیں کہ پہلے نوکری کے مرکز سے دور گھر میں انڈسٹری کا سب سے کم حصہ ہے اور اس وجہ سے آکسائڈ کا سب سے کم حراستی ہے۔ اگر آپ Q_PRICE کے ساتھ ٹائپ ڈسپلے کرنے اور نیچے بائیں کونے کو زوم کرنے کا انتخاب کرتے ہیں تو آپ دیکھ سکتے ہیں کہ یہ کس قسم کی قیمت ہے۔

آپ کے پاس ایک اور اشارہ ہے کہ ماڈل کو بہتر بنانے کے لیے IND ، NOX اور DIS کے درمیان تعامل اچھے امیدوار ثابت ہو سکتے ہیں۔

ٹینسر فلو

اس سیکشن میں ، آپ TensorFlow تخمینہ لگانے والے API کے ساتھ لکیری درجہ بندی کا تخمینہ لگائیں گے۔ آپ مندرجہ ذیل کے طور پر آگے بڑھیں گے:

  • ڈیٹا تیار کریں۔
  • ایک بینچ مارک ماڈل کا اندازہ لگائیں: کوئی تعامل نہیں۔
  • تعامل کے ساتھ ایک ماڈل کا اندازہ لگائیں۔

یاد رکھیں ، مشین لرننگ کا مقصد غلطی کو کم کرنا ہے۔ اس صورت میں ، سب سے کم اوسط مربع غلطی والا ماڈل جیت جائے گا۔ TensorFlow تخمینہ کار خود بخود اس میٹرک کا حساب لگاتا ہے۔

تیاری کا ڈیٹا۔

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

اس مسئلے سے نمٹنے کا ایک اچھا حل متغیر کو معیاری بنانا ہے۔ معیاری کاری کا مطلب ہے ایک کا معیاری انحراف اور صفر کا مطلب۔ معیاری کاری کے عمل میں دو مراحل شامل ہیں۔ سب سے پہلے ، یہ متغیر کی اوسط قیمت کو کم کرتا ہے۔ دوم ، یہ تغیر سے تقسیم ہوتا ہے تاکہ تقسیم میں اکائی کا فرق ہو۔

لائبریری sklearn متغیرات کو معیاری بنانے میں مددگار ہے۔ آپ اس مقصد کے لیے آبجیکٹ اسکیل کے ساتھ ماڈیول پری پروسیسنگ استعمال کر سکتے ہیں۔

آپ ڈیٹاسیٹ کو اسکیل کرنے کے لیے نیچے دیے گئے فنکشن کا استعمال کر سکتے ہیں۔ نوٹ کریں کہ آپ لیبل کالم اور مختلف متغیرات کو پیمانے نہیں کرتے ہیں۔ | _+_ |

آپ فنکشن کو اسکیلڈ ٹرین/ٹیسٹ سیٹ بنانے کے لیے استعمال کر سکتے ہیں۔ | _+_ |

بنیادی رجعت: بینچ مارک۔

سب سے پہلے ، آپ بغیر کسی تعامل کے کسی ماڈل کی تربیت اور جانچ کرتے ہیں۔ مقصد ماڈل کی کارکردگی کی پیمائش کو دیکھنا ہے۔

ماڈل کو تربیت دینے کا طریقہ بالکل ٹیوٹوریل کی طرح ہے۔ اعلی سطحی API۔ . آپ TensorFlow تخمینہ لگانے والا LinearRegressor استعمال کریں گے۔

یاد دہانی کے طور پر ، آپ کو منتخب کرنے کی ضرورت ہے:

  • ماڈل میں ڈالنے کی خصوصیات
  • خصوصیات کو تبدیل کریں
  • لکیری ریگریسر بنائیں
  • ان پٹ_ ایف این فنکشن بنائیں۔
  • ماڈل کی تربیت کریں
  • ماڈل کی جانچ کریں

آپ ماڈل کی تربیت کے لیے ڈیٹاسیٹ میں موجود تمام متغیرات استعمال کرتے ہیں۔ مجموعی طور پر ، گیارہ مسلسل متغیرات ہیں اور ایک متغیر متغیر | _+_ |

آپ خصوصیات کو عددی کالم یا زمرہ کالم | _+_ | میں تبدیل کرتے ہیں۔

آپ linearRegressor کے ساتھ ماڈل بناتے ہیں۔ آپ ماڈل کو فولڈر ٹرین_بوسٹن | _+_ | میں محفوظ کرتے ہیں۔

آؤٹ پٹ۔

 df['CHAS'] = df['CHAS'].map({1:'yes', 0:'no'}) df['CHAS'].head(5) 0 no 1 no 2 no 3 no 4 no Name: CHAS, dtype: object 

ٹرین میں ہر کالم یا ٹیسٹ ڈیٹا کو ٹینسر میں تبدیل کر دیا جاتا ہے فنکشن get_input_fn | _+_ |

آپ ٹرین کے ڈیٹا پر ماڈل کا اندازہ لگاتے ہیں۔ | _+_ |

آؤٹ پٹ۔

 ### Create train/test set df_train=df.sample(frac=0.8,random_state=200) df_test=df.drop(df_train.index) 

آخر میں ، آپ ٹیسٹ سیٹ پر ماڈل کی پرفارمنس کا اندازہ لگاتے ہیں _ _ _ _ |

آؤٹ پٹ۔

print(df_train.shape, df_test.shape)

ماڈل کا نقصان 1650 ہے۔ یہ اگلے سیکشن میں شکست دینے والی میٹرک ہے۔

ماڈل کو بہتر بنائیں: تعامل کی اصطلاح۔

سبق کے پہلے حصے کے دوران ، آپ نے متغیرات کے درمیان ایک دلچسپ رشتہ دیکھا۔ مختلف تصوراتی تکنیکوں سے پتہ چلتا ہے کہ INDUS اور NOS ایک دوسرے سے جڑے ہوئے ہیں اور قیمت پر اثر کو بڑھانے کے لیے موڑ دیتے ہیں۔ نہ صرف INDUS اور NOS کے درمیان تعامل قیمت کو متاثر کرتا ہے بلکہ یہ اثر اس وقت بھی مضبوط ہوتا ہے جب یہ DIS کے ساتھ بات چیت کرتا ہے۔

اب وقت آگیا ہے کہ اس خیال کو عام کیا جائے اور دیکھیں کہ کیا آپ ماڈل پیش گوئی کردہ ماڈل کو بہتر بنا سکتے ہیں۔

آپ کو ہر ڈیٹ سیٹ میں دو نئے کالم شامل کرنے کی ضرورت ہے: ٹرین + ٹیسٹ۔ اس کے لیے ، آپ باہمی تعامل کی گنتی کے لیے ایک فنکشن بناتے ہیں اور دوسرا ٹرپل انٹریکشن ٹرم کی گنتی کے لیے۔ ہر فنکشن ایک کالم تیار کرتا ہے۔ نئے متغیرات بننے کے بعد ، آپ انہیں ٹریننگ ڈیٹاسیٹ اور ٹیسٹ ڈیٹاسیٹ سے جوڑ سکتے ہیں۔

سب سے پہلے ، آپ کو INDUS اور NOX کے درمیان تعامل کے لیے ایک نیا متغیر بنانے کی ضرورت ہے۔

مندرجہ ذیل فنکشن آپ کے کیس INDUS اور NOX میں var_1 اور var_2 کے درمیان تعامل کے ساتھ دو ڈیٹا فریم ، ٹرین اور ٹیسٹ لوٹاتا ہے۔ | _+_ |

آپ دو نئے کالم | _+_ | محفوظ کرتے ہیں۔

دوم ، آپ ٹرپل انٹریکشن ٹرم کی گنتی کے لیے دوسرا فنکشن بناتے ہیں۔ | _+_ |

اب جب کہ آپ کو تمام کالم درکار ہیں ، آپ انہیں ڈیٹاسیٹ کی تربیت اور جانچ میں شامل کر سکتے ہیں۔ آپ ان دو نئے ڈیٹا فریم کو نام دیتے ہیں:

  • df_train_new
  • df_test_new
(405, 14) (101, 14) 

آؤٹ پٹ۔

کہ یہ ہے؛ آپ تعامل کی شرائط کے ساتھ نئے ماڈل کا اندازہ لگا سکتے ہیں اور دیکھ سکتے ہیں کہ کارکردگی کی پیمائش کیسی ہے۔ | _+_ |

آؤٹ پٹ۔

df_test.head(5)

کوڈ | _+_ | | _+_ |

آؤٹ پٹ۔

pip install jupyter_contrib_nbextensions 
git clone https://github.com/PAIR-code/facets 

آؤٹ پٹ۔

echo `pwd`/`ls facets` 

نیا نقصان 1515 ہے۔ صرف دو نئے متغیرات کو شامل کرکے ، آپ نقصان کو کم کرنے کے قابل تھے۔ اس کا مطلب ہے کہ آپ بینچ مارک ماڈل کے مقابلے میں بہتر پیش گوئی کر سکتے ہیں۔