Machine learning in asp.net
هاد اول مرة اقرأ عن مكتبة ML.NET
وبما انو درست ما يقارب سنة عن machine learning بلغة البايثون
و قد ما درست حسيت حالي نقطة ببحر
اقلكم نبذة عن المكتبة هاد؟
يلاا بينااا
حنحكي عن Regression تحديدا
هيا طريقة بنستخدمها في تعلم الآلة لما نحب نتنبأ بشيء رقمي.
يعني مثلاً، بدك تتنبأ بسعر بيت بناءً على مساحته.
مثال
كيف نعمل نموذج تنبؤ بسعر البيت؟
1. أول شيء نعمل المودل
public class HouseData
{public float Size { get; set; }
public float Price { get; set; }
}
نضيف بيانات التدريب هاي البيانات اللي رح نستخدمها لتدريب النموذج .2 .
var houseData = new List<HouseData>
{new HouseData { Size = 95.0f, Price = 300.2f
},new HouseData { Size = 240.0f, Price = 550.4f
},new HouseData { Size = 100.0f, Price = 440.6f
}};
3. تحضير البيئة لتدريب النموذج بدنا نجهز البيئة باستخدام MLContext لتحميل البيانات.
var context = new MLContext();
var trainData = context.Data.LoadFromEnumerable(houseData);
4. نعمل الـpipeline
هو سلسلة من الخطوات التي بنحتاجها لتحضير البيانات ثم تدريب النموذج.
في هذا المثال، أول شيء ندمج المساحة (Size) في عمود واحد اسمه Features، وبعدين نستخدم خوارزميةSDCA (Stochastic Dual Coordinate Ascent) للتنبؤ بالسعر.
var pipeline = context.Transforms .Concatenate("InputData", "Size"
) .Append(context.Regression.Trainers .Sdca(labelColumnName: "Price"));
5. ندرب النموذج بنستخدم Fit() لتدريب النموذج بناءً على البيانات اللي حطيناها.var model = pipeline.Fit(trainData);
6. نتنبأ بسعر بيت جديد لو بدنا نتنبأ بسعر بيت مساحته 125 متر، رح نستخدم النموذج المدرب.
`
var newHouse = new HouseData { Size = 125f };
var predictionData =context.Data.LoadFromEnumerable(new[] { newHouse });
var prediction = model.Transform(predictionData);
var predictedPrice = prediction.GetColumn<float>("Price").First();
Console.WriteLine($"السعر المتوقع: {predictedPrice}");
(:وبس كدا ي مؤمن