Example #1
0
        private void insertRow(int index, Customer cus)
        {
            index = index + 1;

            string[] row = new string[7];
            row[0] = index + "";
            row[1] = cus.getName();
            row[2] = cus.getAge() + "";
            row[3] = cus.getGender() + "";
            row[4] = cus.getIncoming() + "";
            row[5] = cus.getNumcard() + "";
            row[6] = cus.getResponse() + "";

            dataGrid.Rows.Add(row);
        }
Example #2
0
        private void insertRow(int index, Customer cus)
        {
            index = index + 1;

            string[] row = new string[7];
            row[0] = index + "";
            row[1] = cus.getName();
            row[2] = cus.getAge() + "";
            row[3] = cus.getGender() + "";
            row[4] = cus.getIncoming() + "";
            row[5] = cus.getNumcard() + "";
            row[6] = cus.getResponse() + "";

            dataGrid.Rows.Add(row);
        }
Example #3
0
        public void setResponse(Customer cus)
        {
            //normalize cus
            Normalize ncus = new Normalize(cus, maxAge, maxIncome, maxNumCard);


            //calculate all distances
            for (int i = 0; i < this.totalTrainset; i++)
            {
                distances[i]          = new Distance();
                distances[i].distance = 0;
                distances[i].index    = i;

                //normalize element
                Normalize tmp = new Normalize(this.trainset[i], maxAge, maxIncome, maxNumCard);


                //distance between two age normalized
                distances[i].distance = distances[i].distance + getDistance(ncus.age, tmp.age);

                //distance between two gender
                distances[i].distance = distances[i].distance + getDistance(cus.getGender(), this.trainset[i].getGender());

                //distance between two incoming normalized
                distances[i].distance = distances[i].distance + getDistance(ncus.incoming, tmp.incoming);

                //distance between two number of card normalized
                distances[i].distance = distances[i].distance + getDistance(ncus.numCard, tmp.numCard);
            }// end loop


            //sort
            for (int i = 0; i < totalTrainset - 1; i++)
            {
                for (int j = i + 1; j < totalTrainset; j++)
                {
                    if (distances[i].distance > distances[j].distance)
                    {
                        Distance tmp = distances[i];
                        distances[i] = distances[j];
                        distances[j] = tmp;
                    } //swap
                }     //end j loop
            }         //end i loop



            //select k nearest neighbor
            int yesCount = 0;
            int noCount  = 0;

            for (int i = 0; i < kNN; i++)
            {
                Customer tmp = trainset[distances[i].index];
                if (tmp.getResponse() == 0)
                {
                    noCount = noCount + 1;
                }
                else if (tmp.getResponse() == 1)
                {
                    yesCount = yesCount + 1;
                }
            }



            //set response value for unknown customer
            if (yesCount > noCount)
            {
                cus.setResponse(1);
            }
            else if (yesCount < noCount)
            {
                cus.setResponse(0);
            }
        }