- Timestamp:
- 09/21/09 20:23:47 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.CEDMA.Server/3.3/ProblemView.cs
r2290 r2375 35 35 namespace HeuristicLab.CEDMA.Server { 36 36 public partial class ProblemView : ViewBase { 37 private Problem problem;37 private Dataset dataset; 38 38 39 public ProblemView(Problem problem) { 40 this.problem = problem; 41 problem.Changed += (sender, args) => UpdateControls(); 39 public ProblemView(Dataset dataset) { 40 this.dataset = dataset; 42 41 InitializeComponent(); 42 datasetView.Dataset = dataset; 43 dataset.Changed += (sender, args) => UpdateControls(); 43 44 UpdateControls(); 44 }45 46 protected override void UpdateControls() {47 base.UpdateControls();48 trainingSamplesStartTextBox.Text = problem.TrainingSamplesStart.ToString();49 trainingSamplesEndTextBox.Text = problem.TrainingSamplesEnd.ToString();50 validationSamplesStartTextBox.Text = problem.ValidationSamplesStart.ToString();51 validationSamplesEndTextBox.Text = problem.ValidationSamplesEnd.ToString();52 testSamplesStartTextBox.Text = problem.TestSamplesStart.ToString();53 testSamplesEndTextBox.Text = problem.TestSamplesEnd.ToString();54 minTimeOffsetTextBox.Text = problem.MinTimeOffset.ToString();55 maxTimeOffsetTextBox.Text = problem.MaxTimeOffset.ToString();56 autoregressiveCheckBox.Checked = problem.AutoRegressive;57 switch (problem.LearningTask) {58 case LearningTask.Classification: classificationRadioButton.Checked = true; break;59 case LearningTask.Regression: regressionRadioButton.Checked = true; break;60 case LearningTask.TimeSeries: timeSeriesRadioButton.Checked = true; break;61 }62 45 } 63 46 … … 84 67 } 85 68 if (success) { 86 Dataset dataset = (Dataset)problem.Dataset;87 69 dataset.Rows = parser.Rows; 88 70 dataset.Columns = parser.Columns; … … 90 72 dataset.Samples = new double[dataset.Rows * dataset.Columns]; 91 73 Array.Copy(parser.Samples, dataset.Samples, dataset.Columns * dataset.Rows); 92 datasetView 1.Dataset = problem.Dataset;74 datasetView.Dataset = dataset; 93 75 94 problem.TrainingSamplesStart = parser.TrainingSamplesStart;95 problem.ValidationSamplesEnd = parser.TrainingSamplesStart;96 problem.TrainingSamplesEnd = parser.TrainingSamplesEnd;97 problem.ValidationSamplesStart = parser.ValidationSamplesStart;98 problem.ValidationSamplesEnd = parser.ValidationSamplesEnd;99 problem.TestSamplesStart = parser.TestSamplesStart;100 problem.TestSamplesEnd = parser.TestSamplesEnd;101 76 for (int i = 0; i < parser.VariableNames.Length; i++) { 102 77 dataset.SetVariableName(i, parser.VariableNames[i]); 103 78 } 104 79 105 problem.FireChanged(); 80 106 81 Refresh(); 107 82 } … … 109 84 } 110 85 111 private void autoregressiveCheckBox_CheckedChanged(object sender, EventArgs e) {112 problem.AutoRegressive = autoregressiveCheckBox.Checked;113 problem.FireChanged();114 }115 116 private void samplesTextBox_Validating(object sender, CancelEventArgs e) {117 try {118 int trainingStart = int.Parse(trainingSamplesStartTextBox.Text);119 int trainingEnd = int.Parse(trainingSamplesEndTextBox.Text);120 int validationStart = int.Parse(validationSamplesStartTextBox.Text);121 int validationEnd = int.Parse(validationSamplesEndTextBox.Text);122 int testStart = int.Parse(testSamplesStartTextBox.Text);123 int testEnd = int.Parse(testSamplesEndTextBox.Text);124 if (trainingStart < 0 || validationStart < 0 || testStart < 0 ||125 trainingEnd >= problem.Dataset.Rows || validationEnd >= problem.Dataset.Rows || testEnd >= problem.Dataset.Rows ||126 trainingStart >= trainingEnd ||127 validationStart >= validationEnd ||128 testStart >= testEnd ||129 IsOverlapping(trainingStart, trainingEnd, validationStart, validationEnd) ||130 IsOverlapping(trainingStart, trainingEnd, testStart, testEnd) ||131 IsOverlapping(validationStart, validationEnd, testStart, testEnd))132 ColorSamplesTextBoxes(Color.Red);133 else134 ColorSamplesTextBoxes(Color.White);135 }136 catch (FormatException ex) {137 ColorSamplesTextBoxes(Color.Red);138 }139 }140 141 private void samplesTextBox_Validated(object sender, EventArgs e) {142 problem.TrainingSamplesStart = int.Parse(trainingSamplesStartTextBox.Text);143 problem.TrainingSamplesEnd = int.Parse(trainingSamplesEndTextBox.Text);144 problem.ValidationSamplesStart = int.Parse(validationSamplesStartTextBox.Text);145 problem.ValidationSamplesEnd = int.Parse(validationSamplesEndTextBox.Text);146 problem.TestSamplesStart = int.Parse(testSamplesStartTextBox.Text);147 problem.TestSamplesEnd = int.Parse(testSamplesEndTextBox.Text);148 problem.FireChanged();149 }150 151 private void ColorSamplesTextBoxes(Color color) {152 trainingSamplesStartTextBox.BackColor = color;153 trainingSamplesEndTextBox.BackColor = color;154 validationSamplesStartTextBox.BackColor = color;155 validationSamplesEndTextBox.BackColor = color;156 testSamplesStartTextBox.BackColor = color;157 testSamplesEndTextBox.BackColor = color;158 }159 160 private bool IsOverlapping(int x0, int y0, int x1, int y1) {161 Trace.Assert(x0 <= y0 && x1 <= y1);162 int tmp;163 // make sure that x0,y0 is the left interval164 if (x1 < x0) {165 tmp = x1;166 x1 = x0;167 x0 = tmp;168 tmp = y1;169 y1 = y0;170 y0 = tmp;171 }172 return y0 > x1;173 }174 86 private void ShowWarningMessageBox(Exception ex) { 175 87 MessageBox.Show(ex.Message, … … 195 107 } 196 108 197 private void radioButton_CheckedChanged(object sender, EventArgs e) {198 minTimeOffsetLabel.Enabled = timeSeriesRadioButton.Checked;199 minTimeOffsetTextBox.Enabled = timeSeriesRadioButton.Checked;200 maxTimeOffsetLabel.Enabled = timeSeriesRadioButton.Checked;201 maxTimeOffsetTextBox.Enabled = timeSeriesRadioButton.Checked;202 autoregressiveCheckBox.Enabled = timeSeriesRadioButton.Checked;203 autoregressiveLabel.Enabled = timeSeriesRadioButton.Checked;204 if (timeSeriesRadioButton.Checked) problem.LearningTask = LearningTask.TimeSeries;205 else if (classificationRadioButton.Checked) problem.LearningTask = LearningTask.Classification;206 else if (regressionRadioButton.Checked) problem.LearningTask = LearningTask.Regression;207 problem.FireChanged();208 }209 210 private void timeOffsetTextBox_Validating(object sender, CancelEventArgs e) {211 int min, max;212 e.Cancel = !int.TryParse(minTimeOffsetTextBox.Text, out min);213 e.Cancel = !int.TryParse(maxTimeOffsetTextBox.Text, out max);214 e.Cancel = min > max;215 }216 private void timeOffsetTextBox_Validated(object sender, EventArgs e) {217 problem.MinTimeOffset = int.Parse(minTimeOffsetTextBox.Text);218 problem.MaxTimeOffset = int.Parse(maxTimeOffsetTextBox.Text);219 problem.FireChanged();220 }221 109 } 222 110 }
Note: See TracChangeset
for help on using the changeset viewer.