Exemple #1
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Укажите путь к файлу");
            var path = Console.ReadLine();
            Console.WriteLine("Укажите размерность прстранства");
            var dimension =Convert.ToInt32(Console.ReadLine());
            var ff = new FileFramework(@"E:\Users\Nikita\Documents\Visual Studio 2013\Projects\NSUBigData\LinearRegres\iris.csv", Convert.ToInt32(dimension));
           
            Console.WriteLine("\nBegin Logistic Regression (binary) Classification demo");
            Console.WriteLine("Goal is to demonstrate training using gradient descent");

            var numFeatures = dimension-1; 
            var numRows = 100;
            var seed = 1;

            Console.WriteLine("\nGenerating " + numRows +
                              " artificial data items with " + numFeatures + " features");
            var allData = ff.ParseFile();

            Console.WriteLine("Creating train (80%) and test (20%) matrices");
            double[][] trainData;
            double[][] testData;
            MakeTrainTest(allData, 0, out trainData, out testData);
            Console.WriteLine("Done");


            Console.WriteLine("\nTraining data: \n");
            ShowData(trainData, 3, 2, true);

            Console.WriteLine("\nTest data: \n");
            ShowData(testData, 3, 2, true);


            Console.WriteLine("Creating LR binary classifier");
            var lc = new LogisticClassifier(numFeatures); 

            var maxEpochs = 1000;
            Console.WriteLine("Setting maxEpochs = " + maxEpochs);
            var alpha = 0.01;
            Console.WriteLine("Setting learning rate = " + alpha.ToString("F2"));

            Console.WriteLine("\nStarting training using (stochastic) gradient descent");
            double[] weights = lc.Train(trainData, maxEpochs, alpha);
            Console.WriteLine("Training complete");

            Console.WriteLine("\nBest weights found:");
            ShowVector(weights, 4, true);

            double trainAcc = lc.Accuracy(trainData, weights);
            Console.WriteLine("Prediction accuracy on training data = " +
                              trainAcc.ToString("F4"));

            double testAcc = lc.Accuracy(testData, weights);
            Console.WriteLine("Prediction accuracy on test data = " +
                              testAcc.ToString("F4"));

            Console.WriteLine("\nEnd LR binary classification demo\n");
            Console.ReadLine();
        }
Exemple #2
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Укажите путь к файлу");
            var path = Console.ReadLine();

            Console.WriteLine("Укажите размерность прстранства");
            var dimension = Convert.ToInt32(Console.ReadLine());
            var ff        = new FileFramework(@"E:\Users\Nikita\Documents\Visual Studio 2013\Projects\NSUBigData\LinearRegres\iris.csv", Convert.ToInt32(dimension));

            Console.WriteLine("\nBegin Logistic Regression (binary) Classification demo");
            Console.WriteLine("Goal is to demonstrate training using gradient descent");

            var numFeatures = dimension - 1;
            var numRows     = 100;
            var seed        = 1;

            Console.WriteLine("\nGenerating " + numRows +
                              " artificial data items with " + numFeatures + " features");
            var allData = ff.ParseFile();

            Console.WriteLine("Creating train (80%) and test (20%) matrices");
            double[][] trainData;
            double[][] testData;
            MakeTrainTest(allData, 0, out trainData, out testData);
            Console.WriteLine("Done");


            Console.WriteLine("\nTraining data: \n");
            ShowData(trainData, 3, 2, true);

            Console.WriteLine("\nTest data: \n");
            ShowData(testData, 3, 2, true);


            Console.WriteLine("Creating LR binary classifier");
            var lc = new LogisticClassifier(numFeatures);

            var maxEpochs = 1000;

            Console.WriteLine("Setting maxEpochs = " + maxEpochs);
            var alpha = 0.01;

            Console.WriteLine("Setting learning rate = " + alpha.ToString("F2"));

            Console.WriteLine("\nStarting training using (stochastic) gradient descent");
            double[] weights = lc.Train(trainData, maxEpochs, alpha);
            Console.WriteLine("Training complete");

            Console.WriteLine("\nBest weights found:");
            ShowVector(weights, 4, true);

            double trainAcc = lc.Accuracy(trainData, weights);

            Console.WriteLine("Prediction accuracy on training data = " +
                              trainAcc.ToString("F4"));

            double testAcc = lc.Accuracy(testData, weights);

            Console.WriteLine("Prediction accuracy on test data = " +
                              testAcc.ToString("F4"));

            Console.WriteLine("\nEnd LR binary classification demo\n");
            Console.ReadLine();
        }