void TestPackage(int i, List <List <Instance> > packages, int[,] Confusion) { //create lists for learn and test data List <Instance> ToTest = packages[i]; List <Instance> ToLearn = new List <Instance>(); //merge learning data into one list for (int j = 0; j < packages.Count; j++) { if (j == i) { continue; } ToLearn = ToLearn.Concat <Instance>(packages[j]).ToList <Instance>(); } //bayes algorithm to test with learning data Bayes b = new Bayes(ToLearn); //classify each instance from test package and add to confusion matrix foreach (Instance instance in ToTest) { Result?res = b.Classify(instance); Confusion[(int)instance.Result, (int)res]++; } }
private void btThucHien_Click(object sender, EventArgs e) { // Kiem tra dau vao gom: tep tin du lieu va so nhom if (tbDuongDan.Text.Length == 0) { MessageBox.Show("Bạn phải chọn tệp tin chứa các điểm"); btTim.Focus(); return; } if (nudSoNhom.Value < 2) { MessageBox.Show("Số nhóm phải lớn hơn hoặc bằng 2"); nudSoNhom.Focus(); return; } // Xử lý dữ liệu tbKetQua.Text = ""; Bayes bs = new Bayes(); List <Diem> dsDiem = bs.DocDuLieu(tbDuongDan.Text); if (dsDiem != null && dsDiem.Count > 0) { List <Nhom> dsNhom = bs.KhoiTaoNhom((int)nudSoNhom.Value, dsDiem); dsDiem = bs.ChiaNhom(dsNhom, dsDiem); // Hien thi ket qua len textbox foreach (Nhom n in dsNhom) { tbKetQua.Text += n.Ten + "\r\n"; foreach (Diem d in dsDiem) { if (d.MaNhom == n.Ma) { tbKetQua.Text += "[" + d.X.ToString("0.00") + " , " + d.Y.ToString("0.00") + "]; "; } } tbKetQua.Text += "\r\n\r\n"; } } }
private void btThucHien_Click(object sender, EventArgs e) { // Kiem tra dau vao gom: tep tin du lieu va so nhom if (tbDuongDan.Text.Length == 0) { MessageBox.Show("Bạn phải chọn tệp tin chứa các điểm"); btTim.Focus(); return; } // Xử lý sô liệu tbKetQua.Text = ""; Bayes bs = new Bayes(); List <Diem> dsDiem = bs.DocDuLieu(tbDuongDan.Text); if (dsDiem != null && dsDiem.Count > 0) { List <Nhom> dsNhom = bs.KhoiTaoNhom((int)nudSoNhom.Value, dsDiem); dsDiem = bs.ChiaNhom(dsNhom, dsDiem); //Hiển thị lên textbox foreach (Nhom n in dsNhom) { tbKetQua.Text += n.Ten + "\r\n"; foreach (Diem d in dsDiem) { if (d.MaNhom == n.Ma) { tbKetQua.Text += $"{d.HocSinh} ( Toan: {d.DiemToan}, Van: {d.DiemVan}, Anh: {d.DiemAnh}, Hoa: {d.DiemHoa}, Ly: {d.DiemLy})\r\n"; } } tbKetQua.Text += "\r\n\r\n"; } } }