static void DisplayFullNetworkResponse() { DataTable dt = new DataTable(); dt.Columns.Add("y1"); dt.Columns.Add("y2"); dt.Columns.Add("y3"); for (int l = 0; l < X_train.Length; l++) { double[][] x = Matrix.Create(1, N); x[0] = X_train[l]; var y = CalculateReponse(x); DataRow row = dt.NewRow(); row[0] = "PD"; row[1] = "PI"; row[2] = "PID"; row[3] = y[0]; row[4] = y[1]; row[5] = y[2]; dt.Rows.Add(row); } ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt); builder.ExportAndWrite(); }
static void DisplayQuickNetworkResponse() { DataTable dt = new DataTable(); dt.Columns.Add("EXPECTED"); dt.Columns.Add("ACTUAL"); dt.Columns.Add("PROBABILITY [%]"); for (int l = 0; l < Y_validation.Length; l++) { int expectedResponse = Y_validation[l].ToList().IndexOf(Y_validation[l].Max()); var y = Validate(l); double actualMaxValue = y.Max(); int actualResponse = y.ToList().IndexOf(actualMaxValue); DataRow row = dt.NewRow(); row[0] = (PID)expectedResponse; row[1] = (PID)actualResponse; row[2] = actualMaxValue; dt.Rows.Add(row); } ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt); builder.ExportAndWrite(); }
static void DisplayQuickNetworkResponse() { DataTable dt = new DataTable(); dt.Columns.Add("EXPECTED"); dt.Columns.Add("ACTUAL"); dt.Columns.Add("PROBABILITY [%]"); for (int l = 0; l < X.Length; l++) { double[][] x = Matrix.Create(1, N); x[0] = X[l]; int expectedResponse = Y[l].ToList().IndexOf(Y[l].Max()); var y = CalculateReponse(x); double actualMaxValue = y.Max(); int actualResponse = y.ToList().IndexOf(actualMaxValue); DataRow row = dt.NewRow(); row[0] = (Animals)expectedResponse; row[1] = (Animals)actualResponse; row[2] = actualMaxValue; dt.Rows.Add(row); } ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt); builder.ExportAndWrite(); }
static void Check() { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CHECK~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DataTable dt = new DataTable(); dt.Columns.Add("x1"); dt.Columns.Add("x2"); dt.Columns.Add("true"); dt.Columns.Add("false"); for (int l = 0; l < X[0].Length; l++) { double[][] x = Matrix.Create(1, N); x[0] = X.GetColumn(l); double[][] u1 = Matrix.Multiple(W.Transpose(), x.Transpose()); double[][] y1 = Matrix.Create(K, 1); for (int i = 0; i < u1.Length; i++) { y1[i][0] = 1 / (1 + Math.Exp(-Beta * u1[i][0])); } //2nd layer double[][] u2 = Matrix.Multiple(W2.Transpose(), y1); double[] y2 = new double[M]; for (int i = 0; i < u1.Length; i++) { y2[i] = 1 / (1 + Math.Exp(-Beta * u2[i][0])); } DataRow row = dt.NewRow(); row[0] = x[0][0]; row[1] = x[0][1]; row[2] = y2[0]; row[3] = y2[1]; dt.Rows.Add(row); } ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt); builder.ExportAndWrite(); }
public void Print() { DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Neurons"); dt.Columns.Add("Weight"); foreach (var element in Layers) { DataRow row = dt.NewRow(); row[0] = element.Name; row[1] = element.Neurons.Count; row[2] = element.Weight; dt.Rows.Add(row); } ConsoleTableBuilder builder = ConsoleTableBuilder.From(dt); builder.ExportAndWrite(); }