// Creates the Train and Test collections using the provided text document. public void CreateTrainAndTestSets() { // Temporary variables. var aRand = new Random(); var aCompleteRandomTable = new DataTable(); for (int col = 0; col < CompleteTable.Columns.Count; col++) { aCompleteRandomTable.Columns.Add(new DataColumn("Column" + (col + 1).ToString())); } // Add designated size of train set data points from complete set to train table. Completely randomized. aCompleteRandomTable = CompleteTable.AsEnumerable().OrderBy(r => aRand.Next()).Take(CompleteTable.Rows.Count).CopyToDataTable(); int rowNumber = 0; foreach (DataRow row in aCompleteRandomTable.Rows) { if (rowNumber < 4000) { TrainTable.ImportRow(row); } else { TestTable.ImportRow(row); } rowNumber++; } }
/// <summary> /// Метод для парсинга xml-документа /// </summary> /// <param name="doc"></param> /// <returns></returns> public static List <TrainTable> ParseToList(XmlDocument doc) { List <TrainTable> Trains = new List <TrainTable>(); var tt = new TrainTable(); foreach (XmlNode root in doc.DocumentElement) { foreach (XmlNode row in root.ChildNodes) { if (row.Name == "TrainNumber") { tt.TrainNumber = Convert.ToInt32(row.InnerText); } if (row.Name == "TrainIndexCombined") { tt.TrainIndex = Convert.ToInt32(row.InnerText.Split('-')[1]); tt.TrainIndexCombined = row.InnerText; } if (row.Name == "FromStationName") { tt.FromStationName = row.InnerText; } if (row.Name == "ToStationName") { tt.ToStationName = row.InnerText; } if (row.Name == "LastStationName") { tt.LastStationName = (row.InnerText); } if (row.Name == "WhenLastOperation") { tt.WhenLastOperation = Convert.ToDateTime(row.InnerText); } if (row.Name == "LastOperationName") { tt.LastOperationName = row.InnerText; } if (row.Name == "InvoiceNum") { tt.InvoiceNum = row.InnerText; } if (row.Name == "PositionInTrain") { tt.PositionInTrain = Convert.ToInt32(row.InnerText); } if (row.Name == "CarNumber") { tt.CarNumber = Convert.ToInt32(row.InnerText); } if (row.Name == "FreightEtsngName") { tt.FreightEtsngName = row.InnerText; } if (row.Name == "FreightTotalWeightKg") { tt.FreightTotalWeightKg = Convert.ToInt32(row.InnerText); Trains.Add(new TrainTable { TrainNumber = tt.TrainNumber, TrainIndex = tt.TrainIndex, TrainIndexCombined = tt.TrainIndexCombined, FromStationName = tt.FromStationName, ToStationName = tt.ToStationName, LastStationName = tt.LastStationName, LastOperationName = tt.LastOperationName, WhenLastOperation = tt.WhenLastOperation, CarNumber = tt.CarNumber, PositionInTrain = tt.PositionInTrain, InvoiceNum = tt.InvoiceNum, FreightEtsngName = tt.FreightEtsngName, FreightTotalWeightKg = tt.FreightTotalWeightKg }); } } } return(Trains); }