Ejemplo n.º 1
0
        public void LoadCellPhonesJson()
        {
            using (StreamReader r = new StreamReader(@"F:\Data Mining\Project\Cell Phones and Accessories\reviews_Cell_Phones_and_Accessories.json"))
                using (JsonTextReader reader = new JsonTextReader(r))
                {
                    reader.SupportMultipleContent = true;

                    var serializer = new JsonSerializer();
                    while (reader.Read())
                    {
                        try
                        {
                            if (reader.TokenType == JsonToken.StartObject)
                            {
                                ReviewDataItem c = serializer.Deserialize <ReviewDataItem>(reader);
                                if (cellPhoneItems.Count < 100000)
                                {
                                    cellPhoneItems.Add(c);
                                }
                                else
                                {
                                    break;
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            //dispLst.ItemsSource = cellPhoneItems;
                            return;
                        }
                    }
                }
            //dispLst.ItemsSource = cellPhoneItems;
        }
Ejemplo n.º 2
0
        public void DataAnalysis()
        {
            int worst     = 0;
            int bad       = 0;
            int average   = 0;
            int good      = 0;
            int excellent = 0;
            List <ReviewDataItem> cellPhoneItemsAnalyzed = new List <ReviewDataItem>();
            List <ReviewDataItem> cellPhoneSameItems     = new List <ReviewDataItem>();
            List <string>         analysisReport         = new List <string>();

            foreach (ReviewDataItem obj in cellPhoneItems)
            {
                ReviewDataItem reviewObj = cellPhoneItemsAnalyzed.FirstOrDefault <ReviewDataItem>(cell => cell.asin == obj.asin);
                if (reviewObj != null)
                {
                    continue;
                }
                else
                {
                    cellPhoneItemsAnalyzed.Add(obj);
                    cellPhoneSameItems = cellPhoneItems.Where(cell => cell.asin == obj.asin).ToList <ReviewDataItem>();
                    if (cellPhoneSameItems != null)
                    {
                        foreach (ReviewDataItem item in cellPhoneSameItems)
                        {
                            float rating = item.overall;
                            if (rating == 0.0 || rating <= 1.0)
                            {
                                worst++;
                            }
                            else if (rating > 1.0 && rating <= 2.0)
                            {
                                bad++;
                            }
                            else if (rating > 2.0 && rating <= 3.0)
                            {
                                average++;
                            }
                            else if (rating > 3.0 && rating <= 4.0)
                            {
                                good++;
                            }
                            else if (rating > 4.0)
                            {
                                excellent++;
                            }
                        }
                    }
                    List <int> overallCount = new List <int>();
                    overallCount.Add(worst);
                    overallCount.Add(bad);
                    overallCount.Add(average);
                    overallCount.Add(good);
                    overallCount.Add(excellent);
                    int overall = overallCount.Max();

                    string overallRating = string.Empty;
                    if (excellent > worst && excellent > bad && excellent > average && excellent > good)
                    {
                        overallRating = "excellent";
                    }
                    else if (good > worst && good > bad && good > average && good >= excellent)
                    {
                        overallRating = "good";
                    }
                    else if (average > worst && average > bad && average >= good && average > excellent)
                    {
                        overallRating = "average";
                    }
                    else if (bad > worst && bad >= good && bad >= average && bad >= excellent)
                    {
                        overallRating = "bad";
                    }
                    else if (worst >= good && worst >= bad && worst >= average && worst >= excellent)
                    {
                        overallRating = "worst";
                    }

                    worst     = 0;
                    bad       = 0;
                    average   = 0;
                    good      = 0;
                    excellent = 0;
                    analysisReport.Add(obj.asin + "           " + overallRating);
                    //dispLst.ItemsSource = analysisReport;
                }
            }
            dispLst.ItemsSource = analysisReport;
            AnalysisReport      = new List <string>(analysisReport);
        }