public DocumentStatistics[] performInference(UserData user) { ie.NumberOfIterations = user.nIters; ie.ShowProgress = false; DocumentStatistics[] docStats = new DocumentStatistics[nRanks]; for (int i = 0; i < nRanks; i++) { docStats[i] = new DocumentStatistics(); } nUsers.ObservedValue = user.nUsers; probNextIfNotClick.ObservedValue = user.probExamine[0]; probNextIfClickNotRel.ObservedValue = user.probExamine[1]; probNextIfClickRel.ObservedValue = user.probExamine[2]; for (int d = 0; d < nRanks; d++) { click[d].ObservedValue = user.clicks[d]; } try { for (int d = 0; d < nRanks; d++) { docStats[d].inferredRelevance = ie.Infer <Beta>(relevance[d]); docStats[d].inferredAppeal = ie.Infer <Beta>(appeal[d]); } return(docStats); } catch (Exception e) { Console.WriteLine(e); return(null); } }
private void showResults(DocumentStatistics[] docStats) { if (docStats == null) { colorInvalid(pictureBoxSummaryDoc1, labelSummaryDoc1.Size); colorInvalid(pictureBoxSummaryDoc2, labelSummaryDoc2.Size); colorInvalid(pictureBoxRelDoc1,labelRelDoc1.Size); colorInvalid(pictureBoxRelDoc2, labelRelDoc2.Size); return; } double summaryDoc1 = docStats[0].inferredAppeal.GetMean(); double summaryDoc2 = docStats[1].inferredAppeal.GetMean(); double relDoc1 = docStats[0].inferredRelevance.GetMean(); double relDoc2 = docStats[1].inferredRelevance.GetMean(); Console.WriteLine("relDoc1 = {0}", relDoc1); Size curSize = new Size(); curSize.Height = labelSummaryDoc1.Size.Height; curSize.Width= (int)(summaryDoc1 * labelSummaryDoc1.Size.Width); colorResults(pictureBoxSummaryDoc1, curSize, summaryDoc1, true); curSize.Width = (int)(summaryDoc2 *labelSummaryDoc2.Size.Width); colorResults(pictureBoxSummaryDoc2, curSize, summaryDoc2, true); curSize.Width = (int)(relDoc1 * labelRelDoc1.Size.Width); colorResults(pictureBoxRelDoc1, curSize, relDoc1, false); curSize.Width = (int)(relDoc2 * labelRelDoc2.Size.Width); colorResults(pictureBoxRelDoc2, curSize, relDoc2, false); }
public DocumentStatistics[] performInference(UserData user) { ie.NumberOfIterations = user.nIters; Console.WriteLine("No. of Iterations = {0}", user.nIters); DocumentStatistics[] docStats = new DocumentStatistics[nRanks]; for (int i = 0; i < nRanks; i++) { docStats[i] = new DocumentStatistics(); } nUsers.ObservedValue = user.nUsers; probNextIfNotClick.ObservedValue = user.probExamine[0]; probNextIfClickNotRel.ObservedValue = user.probExamine[1]; probNextIfClickRel.ObservedValue = user.probExamine[2]; for (int d = 0; d < nRanks; d++) click[d].ObservedValue = user.clicks[d]; try { for (int d = 0; d < nRanks; d++) { docStats[d].inferredRelevance = ie.Infer<Beta>(relevance[d]); docStats[d].inferredAppeal = ie.Infer<Beta>(appeal[d]); } return docStats; } catch (Exception e) { Console.WriteLine(e); return null; } }