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(); }
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(); }