مثال 2 البيانات

يستخدم المثال 2 نفس كود المصدر مثل المثال 1.

ولكن ، نظرًا لاستخدام مجموعة بيانات أخرى ، يجب أن يجمع الرمز بيانات أخرى.

جمع البيانات

البيانات المستخدمة في المثال 2 هي قائمة بأشياء المنزل:

{
"Avg. Area Income": 79545.45857,
"Avg. Area House Age": 5.682861322,
"Avg. AreaNumberofRooms": 7.009188143,
"Avg. Area Number of Bedrooms": 4.09,
"Area Population": 23086.8005,
"Price": 1059033.558,
},
{
"Avg. Area Income": 79248.64245,
"Avg. Area House Age": 6.002899808,
"Avg. AreaNumberofRooms": 6.730821019,
"Avg. Area Number of Bedrooms": 3.09,
"Area Population": 40173.07217,
"Price": 1505890.915,
},

مجموعة البيانات عبارة عن ملف JSON مخزن في:

https://github.com/meetnandu05/ml1/blob/master/house.json

بيانات التنظيف

عند التحضير للتعلم الآلي ، من المهم دائمًا:

  • قم بإزالة البيانات التي لا تحتاج إليها
  • تنظيف البيانات من الأخطاء

إزالة البيانات

طريقة ذكية لإزالة البيانات غير الضرورية ، لاستخراج البيانات التي تحتاجها فقط .

يمكن القيام بذلك عن طريق تكرار (تكرار) بياناتك باستخدام وظيفة الخريطة .

تأخذ الوظيفة أدناه كائنًا وتُرجع x و y فقط من خصائص Horsepower و Miles_per_Gallon للكائن:

function extractData(obj) {
  return {x:obj.Horsepower, y:obj.Miles_per_Gallon};
}

إزالة الأخطاء

تحتوي معظم مجموعات البيانات على نوع من الأخطاء.

طريقة ذكية لإزالة الأخطاء هي استخدام وظيفة التصفية لتصفية الأخطاء.

ترجع الكود أدناه خطأ إذا كانت إحدى الخصائص (x أو y) تحتوي على قيمة فارغة:

function removeErrors(obj) {
  return obj.x != null && obj.y != null;
}

جلب البيانات

عندما تكون لديك وظائف الخريطة والتصفية جاهزة ، يمكنك كتابة وظيفة لجلب البيانات.

async function runTF() {
  const jsonData = await fetch("cardata.json");
  let values = await jsonData.json();
  values = values.map(extractData).filter(removeErrors);
}


رسم البيانات

إليك بعض التعليمات البرمجية التي يمكنك استخدامها لرسم البيانات:

function tfPlot(values, surface) {
  tfvis.render.scatterplot(surface,
    {values:values, series:['Original','Predicted']},
    {xLabel:'Rooms', yLabel:'Price',});
}