public void ClassifyTest() { String text = "雁塔王家村民房凌晨突发火灾 4人死亡13人受伤"; int result = BayesClassifier.Classify(text); Console.WriteLine(result); }
static void Main(string[] args) { DataTable table = new DataTable(); table.Columns.Add("Sex"); table.Columns.Add("Height", typeof(double)); table.Columns.Add("Weight", typeof(double)); table.Columns.Add("FootSize", typeof(double)); //training data. table.Rows.Add("male", 6, 180, 12); table.Rows.Add("male", 5.92, 190, 11); table.Rows.Add("male", 5.58, 170, 12); table.Rows.Add("male", 5.92, 165, 10); table.Rows.Add("female", 5, 100, 6); table.Rows.Add("female", 5.5, 150, 8); table.Rows.Add("female", 5.42, 130, 7); table.Rows.Add("female", 5.75, 150, 9); BayesClassifier classifier = new BayesClassifier(); classifier.TrainClassifier(table); Console.WriteLine(classifier.Classify(new double[] { 4, 150, 12 })); Console.Read(); }
protected Int16 Judgement(String Title) { //IsAccident isAccident = new IsAccident(Title); //if (isAccident.isAccResu) // return 0; //每判断一个类别,插入一个类别 // BayesClassifier classifier = new BayesClassifier();// 构造Bayes分类器 Int16 result = BayesClassifier.Classify(Title);// 进行分类 return(result); }
private void button3_Click(object sender, EventArgs e) { Glass newGlass = new Glass(-1, (double)riNum.Value, (double)naNum.Value, (double)mgNum.Value, (double)alNum.Value, (double)siNum.Value, (double)kNum.Value, (double)caNum.Value, (double)baNum.Value, (double)feNum.Value, -1); var neuralOutput = network.GetOutputs(newGlass); output(("[BACK PROPOGATION] Siūloma tipas: "******"[K-Nearest-Neighbors] Siūloma tipas: "******"[Bayes] Siūloma tipas: " + bayes.test(newGlass))); }
public static void Train() { classifier = new BayesClassifier("1", "2", "3", "4", "5"); DataHandler.ImportReviewData(3); for (int i = 1; i <= 5; i++) { var data = DataHandler.Reviews.Where(r => r.overall == i); foreach (ReviewData item in data) { var text = item.reviewText; classifier.Train(i.ToString(), text); } } }
private async Task OnClassifyBayes() { await Task.Run(() => { try { var bayes = new BayesClassifier(FirstClass, SecondClass); var stopwatch = new Stopwatch(); stopwatch.Start(); for (var i = 0; i < 5000; i++) { var randomPointX = random.NextDouble() * (PlotModel.Axes[0].Maximum - PlotModel.Axes[0].Minimum) + PlotModel.Axes[0].Minimum; var randomPointY = random.NextDouble() * (PlotModel.Axes[1].Maximum - PlotModel.Axes[1].Minimum) + PlotModel.Axes[1].Minimum; var result = bayes.ClassifyByCorrelation(randomPointX, randomPointY, new Matrix(CorrelationMatrix)); if (result == FirstClass) { FirstClassScatterSeries.Points.Add(new ScatterPoint(randomPointX, randomPointY, 4, double.NaN, FirstClass.Id)); } else { SecondClassScatterSeries.Points.Add(new ScatterPoint(randomPointX, randomPointY, 4, double.NaN, FirstClass.Id)); } if (stopwatch.Elapsed > TimeSpan.FromMilliseconds(100)) { PlotModel.InvalidatePlot(true); stopwatch.Restart(); } } PlotModel.InvalidatePlot(true); } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }); }
private void bajes_start_Click(object sender, EventArgs e) { double averageAccurasy = 0; List <Glass> glasses = new List <Glass>(); if (radioButton1.Checked) { glasses = dataList; } else { glasses = clearDistantValuesFromList(dataList); } int testingFileCount = glasses.Count / NUMBER_OF_SEGMENTS; for (int segment = 0; segment < NUMBER_OF_SEGMENTS; segment++) { richTextBox1.AppendText(String.Format("Crosscheck segment {0} \n ", segment + 1)); int correctGuesses = 0; int guessCounter = 0; int falseGuesses = 0; int testingDataFromIndex = segment * testingFileCount; int testingDataToIndex = (segment + 1) * testingFileCount; var trainingData = new List <Glass>(); var testingData = new List <Glass>(); for (int i = 0; i < glasses.Count; i++) { if (i >= testingDataFromIndex && i <= testingDataToIndex) { testingData.Add(glasses[i]); } else { trainingData.Add(glasses[i]); } } BayesClassifier bayes = new BayesClassifier(trainingData.Count); bayes.trainClassifier(trainingData); foreach (Glass glass in testingData) { int guess = bayes.test(glass); if (guess == glass.group_type) { correctGuesses++; } else { falseGuesses++; } guessCounter++; } var totalGlasses = glasses.Count; var totalTrain = trainingData.Count; var totalTest = testingData.Count; double trainProc = Math.Round(((double)totalTrain / totalGlasses) * 100, 2); double testProc = Math.Round(((double)totalTest / totalGlasses) * 100, 2); double accuracy = Math.Round(((double)correctGuesses / guessCounter) * 100, 2); averageAccurasy += accuracy; richTextBox1.AppendText(string.Format("Total: {0, 3}; Training: {1, 3}({2, 4}%); Testing: {3, 3}({4, 4}%)\n", totalGlasses, totalTrain, trainProc, totalTest, testProc)); richTextBox1.AppendText(string.Format("Correct guesses: {0, 3} ; Total guesses: {1, 3} ; Accuracy: {2, 4}%\n", correctGuesses, guessCounter, accuracy)); } richTextBox1.AppendText(string.Format("Average accurasy of all segments - {0}%\n", averageAccurasy / NUMBER_OF_SEGMENTS)); }