/// <summary> /// Загрузить данные из файла для обучения сети. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_ChooseLearningFile_Click(object sender, EventArgs e) { try { using (var openFileDialog = new OpenFileDialog()) { openFileDialog.Filter = "Excel Files|*.xls;*.xlsx;*.xlsm"; openFileDialog.InitialDirectory = CommonUtils.ResourcesDirectory; if (openFileDialog.ShowDialog() == DialogResult.OK) { using (new CursorHandler()) { var excelFilePath = Path.Combine(CommonUtils.ResourcesDirectory, openFileDialog.FileName); tbLearningFile.Text = excelFilePath; var learningDataTable = _reader.ReadFromFile(excelFilePath); _learningDataSet = _converter.Convert(learningDataTable); _neuralNetwork.InputAttributes = _learningDataSet.Attributes .Select(a => new InputAttributeBase { InputAttributeNumber = a.OrderNumber, Name = a.Name }) .ToList(); _interfaceMediator.DrawDataIntoGrid(_learningDataSet.Entities, _neuralNetwork.InputAttributes, dgvInputLearningData); RecalcMinMaxValues(_learningDataSet); RecalcMinMaxValues(_testingDataSet); var normalizedData = _learningDataSet.Entities .Select(l => new NetworkDataEntity() { Name = l.Name, OrderNumber = l.OrderNumber, AttributeValues = l.AttributeValues.Select(a => new NetworkEntityAttributeValue { Attribute = a.Attribute, Value = a.GetNormalizedValue(_neuralNetwork.NormalizationType) }).ToList() }) .ToList(); _interfaceMediator.DrawDataIntoGrid(normalizedData, _neuralNetwork.InputAttributes, dgvNormalizedLearningData); } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void ShouldConvertFromDataTable() { var reader = new ExcelReader(); var excelFileName = "Sample.xlsx"; var excelFilePath = Path.Combine(CommonUtils.ResourcesDirectory, excelFileName); // Получаем DataTable, заодно проверяем работу провайдера данных из Excel var dataTable = reader.ReadFromFile(excelFilePath); Assert.IsNotNull(dataTable); Assert.IsTrue(dataTable.Rows.Count > 0); Assert.IsTrue(dataTable.Columns.Count > 0); Assert.IsNotNull(dataTable.Rows[0][0]); // Проверяем конвертер var networkConverter = new NetworkDataSetConverter(); var networkDataSet = networkConverter.Convert(dataTable); Assert.IsNotNull(networkDataSet); Assert.IsTrue(networkDataSet.Entities != null && networkDataSet.Entities.Any()); Assert.IsTrue(networkDataSet.Attributes != null && networkDataSet.Attributes.Any()); }