diff options
author | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-07 00:31:46 +0000 |
---|---|---|
committer | dominich@chromium.org <dominich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-07 00:31:46 +0000 |
commit | e7a2d749e769e50d1b9aa8114620cc839715c7e2 (patch) | |
tree | 95ed1b682f9a32832bb3a8c6334bad2f1039470f | |
parent | 2c471c7b3a9719e27a447e56b095248e0841a9aa (diff) | |
download | chromium_src-e7a2d749e769e50d1b9aa8114620cc839715c7e2.zip chromium_src-e7a2d749e769e50d1b9aa8114620cc839715c7e2.tar.gz chromium_src-e7a2d749e769e50d1b9aa8114620cc839715c7e2.tar.bz2 |
Confidence ranges were coming in too high and had occasional divide-by-zero leading to CHECK failures. Changed the math and the unit tests to satisfy stricter confidence requirements and remove divide by zero.
BUG=95453
TEST=None
Review URL: http://codereview.chromium.org/7833046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99879 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/autocomplete/network_action_predictor.cc | 7 | ||||
-rw-r--r-- | chrome/browser/autocomplete/network_action_predictor_unittest.cc | 12 |
2 files changed, 9 insertions, 10 deletions
diff --git a/chrome/browser/autocomplete/network_action_predictor.cc b/chrome/browser/autocomplete/network_action_predictor.cc index 71a3cd2..653cbc3 100644 --- a/chrome/browser/autocomplete/network_action_predictor.cc +++ b/chrome/browser/autocomplete/network_action_predictor.cc @@ -52,9 +52,9 @@ NetworkActionPredictor::Action const double base_score = 1.0; - // This constant is ln(1/0.8) so we end up decaying to 80% of the base score + // This constant is ln(1/0.65) so we end up decaying to 65% of the base score // for each week that passes. - const double kLnDecayPercent = 0.2231435513142097; + const double kLnDecayPercent = 0.43078291609245; base::TimeDelta time_passed = base::Time::Now() - url_row.last_visit(); // Clamp to 0. @@ -63,13 +63,12 @@ NetworkActionPredictor::Action base::Time::kMicrosecondsPerWeek); const double kMaxDecaySpeedDivisor = 5.0; - const double kNumUsesPerDecaySpeedDivisorIncrement = 1.0; + const double kNumUsesPerDecaySpeedDivisorIncrement = 2.0; const double decay_divisor = std::min(kMaxDecaySpeedDivisor, (url_row.typed_count() + kNumUsesPerDecaySpeedDivisorIncrement - 1) / kNumUsesPerDecaySpeedDivisorIncrement); const double confidence = base_score / exp(decay_exponent / decay_divisor); - CHECK(confidence >= 0.0 && confidence <= 1.0); UMA_HISTOGRAM_COUNTS_100("NetworkActionPredictor.Confidence", diff --git a/chrome/browser/autocomplete/network_action_predictor_unittest.cc b/chrome/browser/autocomplete/network_action_predictor_unittest.cc index db95a65..b49bd92 100644 --- a/chrome/browser/autocomplete/network_action_predictor_unittest.cc +++ b/chrome/browser/autocomplete/network_action_predictor_unittest.cc @@ -47,11 +47,11 @@ TEST_F(NetworkActionPredictorTest, RecommendAction) { { GURL("http://www.testsite.com/b.html"), ASCIIToUTF16("Test - site - just a test"), 0, 1, ASCIIToUTF16("just"), - NetworkActionPredictor::ACTION_NONE }, + NetworkActionPredictor::ACTION_PRERENDER }, { GURL("http://www.testsite.com/c.html"), ASCIIToUTF16("Test - site - just a test"), 1, 5, ASCIIToUTF16("just"), - NetworkActionPredictor::ACTION_PRERENDER }, + NetworkActionPredictor::ACTION_PRECONNECT }, { GURL("http://www.testsite.com/d.html"), ASCIIToUTF16("Test - site - just a test"), 2, 5, ASCIIToUTF16("just"), @@ -67,13 +67,13 @@ TEST_F(NetworkActionPredictorTest, RecommendAction) { { GURL("http://www.testsite.com/g.html"), ASCIIToUTF16("Test - site - just a test"), 1, 12, ASCIIToUTF16("just a"), - NetworkActionPredictor::ACTION_PRECONNECT }, + NetworkActionPredictor::ACTION_NONE }, { GURL("http://www.testsite.com/h.html"), - ASCIIToUTF16("Test - site - just a test"), 1, 21, + ASCIIToUTF16("Test - site - just a test"), 2, 21, ASCIIToUTF16("just a test"), - NetworkActionPredictor::ACTION_PRECONNECT }, + NetworkActionPredictor::ACTION_NONE }, { GURL("http://www.testsite.com/i.html"), - ASCIIToUTF16("Test - site - just a test"), 1, 28, + ASCIIToUTF16("Test - site - just a test"), 3, 28, ASCIIToUTF16("just a test"), NetworkActionPredictor::ACTION_NONE } }; |