লজিস্টিক রিগ্রেশন হল একটি স tendencia লিনিয়ার মডেল যা বাইনারি ক্লাসিফিকেশন (০/১, হ্যাঁ/না) জন্য ব্যবহৃত হয়। এটি মেডিকেল সায়েন্স, কাস্টমার পারচেজ প্রেডিকশন, ফ্রড ডিটেকশন ইত্যাদিতে প্রয়োগ হয়।
গাণিতিক মডেল
লিনিয়ার কম্বিনেশন:
z = c₁x₁ + c₂x₂ + ... + cₙxₙ + b = cᵀx + b
সিগময়েড ফাংশন দিয়ে প্রোবাবিলিটিতে রূপান্তর:
p = σ(z) = 1 / (1 + e⁻ᶻ)
যেখানে:
c= কোইফিসিয়েন্ট ভেক্টর (ওয়েট)x= ইনপুট ফিচার ভেক্টরb= বায়াস (ইন্টারসেপ্ট)p= ক্লাস ১ হওয়ার প্রোবাবিলিটি
C#-এ ইমপ্লিমেন্টেশন (ML.NET ব্যবহার করে)
// NuGet: Microsoft.ML
using Microsoft.ML;
using Microsoft.ML.Data;
public class InputData
{
[LoadColumn(0)] public float Feature1;
[LoadColumn(1)] public float Feature2;
[LoadColumn(2)] public bool Label; // বাইনারি লেবেল
}
public class Prediction
{
[ColumnName("PredictedLabel")] public bool PredictedLabel;
public float Probability;
public float Score;
}
class LogisticRegressionDemo
{
static void Main()
{
var mlContext = new MLContext();
// ট্রেনিং ডেটা
var data = new[]
{
new InputData { Feature1 = 1, Feature2 = 2, Label = false },
new InputData { Feature1 = 2, Feature2 = 3, Label = true },
new InputData { Feature1 = 3, Feature2 = 4, Label = true },
};
var trainData = mlContext.Data.LoadFromEnumerable(data);
// পাইপলাইন
var pipeline = mlContext.Transforms.Concatenate("Features", "Feature1", "Feature2")
.Append(mlContext.BinaryClassification.Trainers.LogisticRegression());
// ট্রেন
var model = pipeline.Fit(trainData);
// প্রেডিকশন
var predEngine = mlContext.Model.CreatePredictionEngine<InputData, Prediction>(model);
var prediction = predEngine.Predict(new InputData { Feature1 = 2.5f, Feature2 = 3.5f });
Console.WriteLine($"Predicted: {prediction.PredictedLabel}, Probability: {prediction.Probability:F4}");
}
}
মূল মূল্যায়ন মেট্রিক্স
- Accuracy: সঠিক প্রেডিকশনের অনুপাত
- Precision/Recall/F1: ক্লাস ব্যালেন্সের জন্য
- AUC-ROC: থ্রেশহোল্ড-স্বতন্ত্র পারফরম্যান্স
- Log Loss: প্রোবাবিলিটি ক্যালিব্রেশন
সতর্কতা
- ফিচার স্কেলিং (Normalization/Standardization) জরুরি।
- মাল্টিকোলিনিয়ারিটি চেক করুন (VIF)।
- রেগুলারাইজেশন (L1/L2) ওভারফিটিং রোধ করে।