Пример #1
0
        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]++;
            }
        }
Пример #2
0
        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";
                }
            }
        }
Пример #3
0
        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";
                }
            }
        }