private void AutoEvent(object sender, EventArgs e) { if (Perceptron.Finish()) { timer.Stop(); Foreground = System.Windows.Media.Brushes.Green; Learn = "Learned"; return; } OneStep(); }
private void OneStep() { TreningData = new ObservableCollection <Item>(Perceptron.OneStep()); Weight = new ObservableCollection <Weight>(Perceptron.GetWeight()); Iteration++; UpdateLine(); SelectedItem = Perceptron.actual; Actualize(); }
private bool CanStep() { if (!Perceptron.Finish()) { return(true); } else { Learn = "Learned"; Foreground = System.Windows.Media.Brushes.Green; return(false); } }
private void Fast() { while (!Perceptron.Finish()) { OneStep(); if (Iteration > 500) { MessageBox.Show("Stagnation", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } Foreground = System.Windows.Media.Brushes.Green; Learn = "Learned"; }
private void UpdateLine() { Controled.Clear(); Controled.AddRange(Perceptron.GetControledItem()); Lines = Perceptron.GetLine(); LineSeries line = new LineSeries() { Color = OxyColors.Green, StrokeThickness = 2 }; foreach (var l in Lines) { line.Points.Add(new DataPoint(l.X, l.Y)); } Model.Series[model.Series.Count() - 1] = line; Model.InvalidatePlot(true); }
private void Load() { #region TreningData Model.Series.Add(new LineSeries() { Title = "Trening", MarkerSize = 11, MarkerType = MarkerType.Circle, LineStyle = LineStyle.None, MarkerFill = OxyColors.Red, ItemsSource = Controled }); #endregion var axisx = new LinearAxis() { Minimum = ax.X, Maximum = ax.Y, PositionAtZeroCrossing = true, AxislineStyle = LineStyle.Solid, }; var axisy = new LinearAxis() { Minimum = ay.X, Maximum = ay.Y, PositionAtZeroCrossing = true, AxislineStyle = LineStyle.Solid, Position = AxisPosition.Top }; Model.Axes.Add(axisx); Model.Axes.Add(axisy); #region TestingData List <DataPoint> Tested = new List <DataPoint>(); foreach (var item in TestingData) { Tested.Add(new DataPoint(item.X, item.Y)); } Model.Series.Add(new LineSeries() { Title = "Tested", MarkerSize = 11, MarkerType = MarkerType.Square, LineStyle = LineStyle.None, MarkerFill = OxyColors.Blue, ItemsSource = Tested }); #endregion LineSeries Pos = new LineSeries() { Title = "1", MarkerSize = 8, MarkerType = MarkerType.Triangle, LineStyle = LineStyle.None, MarkerFill = OxyColors.GreenYellow, ItemsSource = Positive }; LineSeries Neg = new LineSeries() { Title = "0", MarkerSize = 8, MarkerType = MarkerType.Diamond, LineStyle = LineStyle.None, MarkerFill = OxyColors.BlueViolet, ItemsSource = Negative }; Model.Series.Add(Pos); Model.Series.Add(Neg); Model.Series.Add(new LineSeries()); model.InvalidatePlot(true); Perceptron.Generate(TreningData, w); UpdateLine(); Weight.Clear(); Weight.AddRange(Perceptron.GetWeight()); UpdateLine(); }