public List <TestDataSet> Main()
        {
            IDataProvider                        dataProvider = new MockDataProvider();
            List <GetTestData_Result>            tempData     = new List <GetTestData_Result>();
            List <TestDataSet>                   testData     = new List <TestDataSet>();
            List <IDictionary <string, double> > dictionaries = new List <IDictionary <string, double> >();

            using (FRDBEntities db = new FRDBEntities())
            {
                tempData = db.GetTestData().ToList <GetTestData_Result>();
            }

            Classifier <string> classifier = new Classifier <string>();
            var sampleData = dataProvider.GetTrainingData() as List <InformationModel <string> >;

            classifier.Teach(sampleData);
            int temp = tempData.FirstOrDefault <GetTestData_Result>().UserID;
            List <GetTestData_Result> list = new List <GetTestData_Result>();
            int lenth = tempData.Count;
            int count = 1;

            foreach (var item in tempData)
            {
                if (temp == item.UserID)
                {
                    IDictionary <string, double> dict = classifier.Classify(new List <string>()
                    {
                        item.skill, BinData(item.skill, item.skillrate), item.interest, BinData(item.interest, item.interestrate)
                    });
                    dictionaries.Add(dict);
                    if (count == lenth)
                    {
                        foreach (var d in add(dictionaries))
                        {
                            testData.Add(new TestDataSet {
                                uid = temp, major = d.Key, probabilty = d.Value
                            });
                        }
                    }
                }
                else
                {
                    foreach (var d in add(dictionaries))
                    {
                        testData.Add(new TestDataSet {
                            uid = temp, major = d.Key, probabilty = d.Value
                        });
                    }

                    temp = item.UserID;
                    dictionaries.Clear();
                    IDictionary <string, double> dict = classifier.Classify(new List <string>()
                    {
                        item.skill, BinData(item.skill, item.skillrate), item.interest, BinData(item.interest, item.interestrate)
                    });
                    dictionaries.Add(dict);
                }
                count++;
            }

            return(testData);
        }