Esempio n. 1
0
        private void buttonXDataDiscretization_Click(object sender, EventArgs e)
        {
            int illegalInputCount = 0;
            BayesObjectTableAdapter bayesObjectTableAdapter = new BayesObjectTableAdapter();
            DataSetTempTableAdapter dataSetTempTableAdapter = new DataSetTempTableAdapter();
            DataSetTableAdapter     dataSetTableAdapter     = new DataSetTableAdapter();


            for (int i = listIntervalValue.Count - 1; i > 0; i--)
            {
                double currentValue  = listIntervalValue[i];
                double previousValue = listIntervalValue[i - 1];
                if (currentValue <= previousValue)
                {
                    illegalInputCount++;
                    break;
                }
            }
            if (illegalInputCount > 0)
            {
                MessageBox.Show("Giá trị của từng khoảng nhập vào không hợp lệ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                bayesObjectTableAdapter.DeleteByOne(this.ColName);
                DataTable dtDataSetForPreProcessing = dataSetTableAdapter.GetData();
                DiabetesDataSet.DataSetTempDataTable dtDataSetTemp = dataSetTempTableAdapter.GetData();

                int rowIndex = 0;
                foreach (DataRow dtRow in dtDataSetForPreProcessing.Rows)
                {
                    decimal colValue            = Convert.ToDecimal(dtRow[this.ColName]);
                    decimal maBn                = Convert.ToDecimal(dtRow["MaBn"]);
                    String  discretizationValue = DataDiscretization(colValue, this.listIntervalValue);

                    dtDataSetTemp.Rows[rowIndex][this.ColName] = discretizationValue;
                    rowIndex++;
                }
                dataSetTempTableAdapter.Update(dtDataSetTemp);
                CreateBayesObject(this.ColName, this.listIntervalValue);
            }
            this.Close();
        }
Esempio n. 2
0
        private void buttonXDataDiscretizationDataView_Click(object sender, EventArgs e)
        {
            if ((datasetTempTA.CountRows() as int?) == 0)
            {
                DataTable newDataSet = datasetTA.GetData();
                DiabetesDataSet.DataSetTempDataTable dataSetTempDataTable = new DiabetesDataSet.DataSetTempDataTable();
                foreach (DataRow dtRow in newDataSet.Rows)
                {
                    var row = dataSetTempDataTable.NewDataSetTempRow();

                    row["MaBn"] = Convert.ToDecimal(dtRow["MaBn"]);
                    decimal TuoiHienTai = DateTime.Now.Year - Convert.ToDecimal(dtRow["NamSinh"]);
                    row["Tuoi"]            = DiscretizationData.RoiRacHoaTuoi(TuoiHienTai);
                    row["GioiTinh"]        = dtRow["GioiTinh"].ToString();
                    row["Cholesterol"]     = dtRow["Cholesterol"].ToString();
                    row["HDL_Cholesterol"] = dtRow["HDL_Cholesterol"].ToString();
                    row["Triglyceride"]    = dtRow["Triglyceride"].ToString();
                    row["LDL_Cholesterol"] = dtRow["LDL_Cholesterol"].ToString();
                    row["Glucose"]         = dtRow["Glucose"].ToString();
                    row["SGOT"]            = dtRow["SGOT"].ToString();
                    row["SGPT"]            = dtRow["SGPT"].ToString();
                    row["Urea"]            = dtRow["Urea"].ToString();
                    row["WBC"]             = dtRow["WBC"].ToString();
                    row["LYM"]             = dtRow["LYM"].ToString();
                    row["MONO"]            = dtRow["MONO"].ToString();
                    row["GRAN"]            = dtRow["GRAN"].ToString();
                    row["TyLeLYM"]         = dtRow["TyLeLYM"].ToString();
                    row["TyLeMONO"]        = dtRow["TyLeMONO"].ToString();
                    row["TyLeGRAN"]        = dtRow["TyLeGRAN"].ToString();
                    row["HGB"]             = dtRow["HGB"].ToString();
                    row["RBC"]             = dtRow["RBC"].ToString();
                    row["HTC"]             = dtRow["HTC"].ToString();
                    row["MCV"]             = dtRow["MCV"].ToString();
                    row["MCH"]             = dtRow["MCH"].ToString();
                    row["MCHC"]            = dtRow["MCHC"].ToString();
                    row["RDW_CV"]          = dtRow["RDW_CV"].ToString();
                    row["PLT"]             = dtRow["PLT"].ToString();
                    row["MPV"]             = dtRow["MPV"].ToString();
                    row["PDW"]             = dtRow["PDW"].ToString();
                    row["PCT"]             = dtRow["PCT"].ToString();
                    row["Na"]        = dtRow["Na"].ToString();
                    row["K"]         = dtRow["K"].ToString();
                    row["Cl"]        = dtRow["Cl"].ToString();
                    row["Ca"]        = dtRow["Ca"].ToString();
                    row["TieuDuong"] = dtRow["TieuDuong"].ToString();

                    dataSetTempDataTable.AddDataSetTempRow(row);
                    //InsertDataSetTempRow(dtRow);
                }
                datasetTempTA.Update(dataSetTempDataTable);
            }
            dtDataSetTempForPreProcessing = newDataSetTempTA.GetData();
            this.bindingSourcePreprocessingData.DataSource = null;
            this.bindingSourcePreprocessingData.DataSource = dtDataSetTempForPreProcessing;

            this.dataGridViewXDescriptiveData.DataSource = null;

            if (checkedListBoxColumnName.Items.Count > 0)
            {
                checkedListBoxColumnName.Items.Clear();
            }

            for (int i = 3; i < dtDataSetTempForPreProcessing.Columns.Count - 1; i++)
            {
                String colName = dtDataSetTempForPreProcessing.Columns[i].ColumnName;
                checkedListBoxColumnName.Items.Add(colName, false);
            }

            buttonXImportDataSet.Enabled    = false;
            buttonXDataCleanning.Enabled    = false;
            comboBoxExDataCleanning.Enabled = false;;

            buttonXDiscretizationDataStatistics.Enabled = true;
            buttonXDataDiscretizationRun.Enabled        = true;
            integerInputIntervalDiscretization.Enabled  = true;
            checkBoxXDiscreteAllColumn.Enabled          = true;
            checkedListBoxColumnName.Enabled            = true;
            buttonXCustomDataDiscretization.Enabled     = true;
        }
Esempio n. 3
0
        private void buttonXDiscretizationData_Click(object sender, EventArgs e)
        {
            ListBox listBoxSelectedField = new ListBox();

            dtDataSetForPreProcessing = datasetTA.GetData();
            int InputInterval   = 0; //Biến dùng để chứa khoảng rời rạc mà người dùng nhập vào
            int Count           = 0; //Biến dùng để kiếm tra xem người dùng có phải chỉ chọn 2 Field Tuoi & GioiTinh hay không
            int dataSetColIndex = 0; //Biến dùng để lưu lại index của Field cần rời rạc

            if (checkedListBoxColumnName.CheckedItems.Count == 0)
            {
                MessageBox.Show("Chưa chọn thuộc tính để thực hiện rời rạc", "Thông báo"
                                , MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                for (int i = 0; i < checkedListBoxColumnName.CheckedItems.Count; i++)
                {
                    String checkedValue = checkedListBoxColumnName.CheckedItems[i].ToString();
                    if (checkedValue != "Tuoi" && checkedValue != "GioiTinh")
                    {
                        listBoxSelectedField.Items.Add(checkedValue);
                    }
                    else
                    {
                        Count++;
                    }
                }

                if (Count == checkedListBoxColumnName.CheckedItems.Count)
                {
                    MessageBox.Show("Thuộc tính Tuoi và GioiTinh không cần thực hiện rời rạc", "Thông báo"
                                    , MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    DiabetesDataSet.DataSetTempDataTable dataSetTempDataTable = datasetTempTA.GetData();
                    InputInterval = integerInputIntervalDiscretization.Value;

                    for (int i = 0; i < listBoxSelectedField.Items.Count; i++)
                    {
                        String colName = listBoxSelectedField.Items[i].ToString();
                        dataSetColIndex = dtDataSetForPreProcessing.Columns.IndexOf(colName);
                        bayesObjectTA.DeleteByOne(colName);

                        int rowIndex = 0;
                        foreach (DataRow dtRow in dtDataSetForPreProcessing.Rows)
                        {
                            decimal currentValue  = Convert.ToDecimal(dtRow[dataSetColIndex]);
                            String  discreteValue = DiscretizationData.DataDiscretization(currentValue, colName, InputInterval, dtDataSetForPreProcessing);
                            //String discreteValue = DiscretizationData.DataDiscretization(currentValue, colName, InputInterval);
                            //decimal id = Convert.ToDecimal(dtRow[0]);
                            //decimal maBN = Convert.ToDecimal(dtRow[1]);
                            //String tieuDuong = dtRow[36].ToString();
                            //DiscretizationData.CapNhapDataSetTemp(datasetTempTA, maBN, colName, discreteValue);

                            dataSetTempDataTable[rowIndex][colName] = discreteValue;
                            rowIndex++;
                        }
                        DiscretizationData.TaoBayesObject(colName, InputInterval, dtDataSetForPreProcessing);
                    }

                    datasetTempTA.Update(dataSetTempDataTable);
                }
                dtDataSetTempForPreProcessing.Clear();
                dtDataSetTempForPreProcessing = newDataSetTempTA.GetData();
                this.bindingSourcePreprocessingData.DataSource = this.dtDataSetTempForPreProcessing;

                this.codification = null;
            }
        }
        private void buttonXDataDiscretizationDataView_Click(object sender, EventArgs e)
        {
            if ((datasetTempTA.CountRows() as int?) == 0)
            {
                DataTable newDataSet = datasetTA.GetData();
                DiabetesDataSet.DataSetTempDataTable dataSetTempDataTable = new DiabetesDataSet.DataSetTempDataTable();
                foreach (DataRow dtRow in newDataSet.Rows)
                {
                    var row = dataSetTempDataTable.NewDataSetTempRow();

                    row["MaBn"] = Convert.ToDecimal(dtRow["MaBn"]);
                    decimal TuoiHienTai = DateTime.Now.Year - Convert.ToDecimal(dtRow["NamSinh"]);
                    row["Tuoi"] = DiscretizationData.RoiRacHoaTuoi(TuoiHienTai);
                    row["GioiTinh"] = dtRow["GioiTinh"].ToString();
                    row["Cholesterol"] = dtRow["Cholesterol"].ToString();
                    row["HDL_Cholesterol"] = dtRow["HDL_Cholesterol"].ToString();
                    row["Triglyceride"] = dtRow["Triglyceride"].ToString();
                    row["LDL_Cholesterol"] = dtRow["LDL_Cholesterol"].ToString();
                    row["Glucose"] = dtRow["Glucose"].ToString();
                    row["SGOT"] = dtRow["SGOT"].ToString();
                    row["SGPT"] = dtRow["SGPT"].ToString();
                    row["Urea"] = dtRow["Urea"].ToString();
                    row["WBC"] = dtRow["WBC"].ToString();
                    row["LYM"] = dtRow["LYM"].ToString();
                    row["MONO"] = dtRow["MONO"].ToString();
                    row["GRAN"] = dtRow["GRAN"].ToString();
                    row["TyLeLYM"] = dtRow["TyLeLYM"].ToString();
                    row["TyLeMONO"] = dtRow["TyLeMONO"].ToString();
                    row["TyLeGRAN"] = dtRow["TyLeGRAN"].ToString();
                    row["HGB"] = dtRow["HGB"].ToString();
                    row["RBC"] = dtRow["RBC"].ToString();
                    row["HTC"] = dtRow["HTC"].ToString();
                    row["MCV"] = dtRow["MCV"].ToString();
                    row["MCH"] = dtRow["MCH"].ToString();
                    row["MCHC"] = dtRow["MCHC"].ToString();
                    row["RDW_CV"] = dtRow["RDW_CV"].ToString();
                    row["PLT"] = dtRow["PLT"].ToString();
                    row["MPV"] = dtRow["MPV"].ToString();
                    row["PDW"] = dtRow["PDW"].ToString();
                    row["PCT"] = dtRow["PCT"].ToString();
                    row["Na"] = dtRow["Na"].ToString();
                    row["K"] = dtRow["K"].ToString();
                    row["Cl"] = dtRow["Cl"].ToString();
                    row["Ca"] = dtRow["Ca"].ToString();
                    row["TieuDuong"] = dtRow["TieuDuong"].ToString();

                    dataSetTempDataTable.AddDataSetTempRow(row);
                    //InsertDataSetTempRow(dtRow);
                }
                datasetTempTA.Update(dataSetTempDataTable);
            }
            dtDataSetTempForPreProcessing = newDataSetTempTA.GetData();
            this.bindingSourcePreprocessingData.DataSource = null;
            this.bindingSourcePreprocessingData.DataSource = dtDataSetTempForPreProcessing;

            this.dataGridViewXDescriptiveData.DataSource = null;

            if (checkedListBoxColumnName.Items.Count > 0)
                checkedListBoxColumnName.Items.Clear();

            for (int i = 3; i < dtDataSetTempForPreProcessing.Columns.Count - 1; i++)
            {

                String colName = dtDataSetTempForPreProcessing.Columns[i].ColumnName;
                checkedListBoxColumnName.Items.Add(colName, false);
            }

            buttonXImportDataSet.Enabled = false;
            buttonXDataCleanning.Enabled = false;
            comboBoxExDataCleanning.Enabled = false; ;

            buttonXDiscretizationDataStatistics.Enabled = true;
            buttonXDataDiscretizationRun.Enabled = true;
            integerInputIntervalDiscretization.Enabled = true;
            checkBoxXDiscreteAllColumn.Enabled = true;
            checkedListBoxColumnName.Enabled = true;
            buttonXCustomDataDiscretization.Enabled = true;
        }