机器学习 -- 二元逻辑回归实例
生活随笔
收集整理的這篇文章主要介紹了
机器学习 -- 二元逻辑回归实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二元邏輯回歸可用于向量的概率預測,是一種分類算法。迭代方式可選擇最小二乘法或梯度下降。
迭代之后會得到每個特征的系數。
公式(對于有N個特征的向量,其中w[i]為權):
f(x) = 1/(1+ e^[-(w0+w1*x1+w2*x2+...+wn*xn)])
例如有兩個特征w1和w2(最小二乘后可得到,以及w0),即可使用公式來計算,在x1和x2的條件下,概率為多少。
實現代碼 (C# with accord.net):
? public class LogisticRegressionDemo{public static void Execute(){double[][] input ={new double[] { 55, 0 },new double[] { 28, 0 },new double[] { 65, 1 },new double[] { 46, 0 },new double[] { 86, 1 },new double[] { 56, 1 },new double[] { 85, 0 },new double[] { 33, 0 },new double[] { 21, 1 },new double[] { 42, 1 },};double[] output ={0, 0, 0, 1, 1, 1, 0, 0, 0, 1};LogisticRegression regression = new LogisticRegression(2);var trainer = new IterativeReweightedLeastSquares(regression);double delta = 0;do{// Perform an iterationdelta = trainer.Run(input, output);} while (delta > 0.001);var b1 = regression.Coefficients[1];var b2 = regression.Coefficients[2];var b0 = regression.Intercept;var func = new Func<double, double, double>((x1, x2) =>{var result = 1 / (1 + Math.Exp(-b0 - b1 * x1 - b2 * x2));return result;});var age = 79;var smoking = 0;var r = func(age, smoking);Console.WriteLine("input x [age:{0}, smoking:{1}] is {2}", age, smoking, r);}}static void Main(string[] args){LogisticRegressionDemo.Execute();Console.ReadLine();}
本例使用了accord.net framework ,是不錯的.NET機器學習算法學習庫。
總結
以上是生活随笔為你收集整理的机器学习 -- 二元逻辑回归实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Word公式编辑器
- 下一篇: SMT集成电路板MES系统解决方案