本文整理匯總了Python中whale.Whale.rank_subdimensions_ratio方法的典型用法代碼示例。如果您正苦於以下問題:Python Whale.rank_subdimensions_ratio方法的具體用法?Python Whale.rank_subdimensions_ratio怎麽用?Python Whale.rank_subdimensions_ratio使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類whale.Whale
的用法示例。
在下文中一共展示了Whale.rank_subdimensions_ratio方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: TestHailWhale
# 需要導入模塊: from whale import Whale [as 別名]
# 或者: from whale.Whale import rank_subdimensions_ratio [as 別名]
#.........這裏部分代碼省略.........
self.assertEqual(plotpoints[t]['value/hit'][-1][1], 5)
def testRankSubdimensionsScalar(self):
t = str(time.time())
self.whale.count_now('test_rank', [t, 'a', 'asub1'], {'value': 1})
self.whale.count_now('test_rank', [t, 'a', 'asub2'], {'value': 30})
self.whale.count_now('test_rank', [t, 'b'], {'value': 80})
self.whale.count_now('test_rank', [t, 'c'], {'value': 10})
ranked = self.whale.rank_subdimensions_scalar('test_rank', t, 'value')
self.assertEqual(ranked[maybe_dumps([t, 'a'])]['important'], False)
self.assertEqual(ranked[maybe_dumps([t, 'a', 'asub1'])]['important'], False)
self.assertEqual(ranked[maybe_dumps([t, 'a', 'asub2'])]['important'], True)
self.assertEqual(ranked[maybe_dumps([t, 'b'])]['important'], True)
self.assertEqual(ranked[maybe_dumps([t, 'c'])]['important'], False)
def testRankSubdimensionsRatio(self):
t = str(time.time())
pk = 'test_ratio_rank'
# OVERALL STATS: 529,994 value, 50,000 visitors, 10.6 value per visitor
# Not important, too close to overall
self.whale.count_now(pk, [t, 'a', 'asub1'],
{'value': 54989, 'visitors': 4999}) # 11 value per visitor
# Important, high relative ratio
self.whale.count_now(pk, [t, 'a', 'asub2'],
{'value': 375000, 'visitors': 25000}) # 15 value per visitor
# Important, low relative ratio
self.whale.count_now(pk, [t, 'b'],
{'value': 100000, 'visitors': 20000}) # 5 value per visitor
# Not important, not enough visitors
self.whale.count_now(pk, [t, 'c'],
{'value': 5, 'visitors': 1}) # 5 value per visitor
one_level = self.whale.rank_subdimensions_ratio('test_rank_ratio', 'value', 'visitors',
t, recursive=False)
all_levels = self.whale.rank_subdimensions_ratio(pk, 'value', 'visitors', t)
self.assertEqual(True, maybe_dumps([t, 'a', 'asub1']) not in one_level)
self.assertEqual(all_levels[maybe_dumps([t, 'a', 'asub1'])]['important'], False)
self.assertEqual(all_levels[maybe_dumps([t, 'a', 'asub2'])]['important'], True)
self.assertEqual(all_levels[maybe_dumps([t, 'b'])]['important'], True)
self.assertEqual(all_levels[maybe_dumps([t, 'c'])]['important'], False)
def testBasicDecision(self):
pk = 'test_basic_decision'
decision = str(time.time())
# Make a decision, any decision, from no information whatsoever
good, bad, test = self.whale.weighted_reasons(pk, 'random', [1,2,3])
#_print_reasons(good, bad, test)
any_one = self.whale.decide_from_reasons(good, bad, test)
self.assertEqual(True, any_one in [1, 2, 3])
# OK, now how about something somewhat informed?
# This will be easy. Slogan A makes us huge profit. Products B and C suck.
# D looks promissing but isn't yet significant
opts = ['a', 'b', 'c', 'd']
self.whale.count_now([pk, decision, 'a'], None, dict(dollars=5000, visitors=1000))
self.whale.count_now([pk, decision, 'b'], None, dict(dollars=0, visitors=2000))
self.whale.count_now([pk, decision, 'c'], None, dict(dollars=0, visitors=2000))
self.whale.count_now([pk, decision, 'd'], None, dict(dollars=50, visitors=10))
good, bad, test = self.whale.weighted_reasons(pk, decision, opts, formula='dollars/visitors')
#_print_reasons(good, bad, test)
self.assertEqual(True, 'a' in good.keys())
self.assertEqual(True, 'b' in bad.keys())