trying another way of estimating happiness
authorDaniel Gruno <humbedooh@apache.org>
Wed, 25 Oct 2017 11:44:17 +0000 (13:44 +0200)
committerDaniel Gruno <humbedooh@apache.org>
Wed, 25 Oct 2017 11:44:17 +0000 (13:44 +0200)
- average the goods, G
- average the bads, B
- let happiness be K*(G/B) where K is the AbV in a really cheap vodka.
- Normalize by max value, M

Sounds legit, right?!

api/pages/mail/mood.py

index bfdf8fe..a2f418d 100644 (file)
@@ -220,10 +220,13 @@ def run(API, environ, indata, session):
     else:
         mood_compiled = global_mood_compiled
     MAX = max(mood_compiled.values())
-    bads = (mood_compiled.get('anger', 0)*1.25 + mood_compiled.get('fear', 0)*1.25 + mood_compiled.get('sadness', 0) + mood_compiled.get('disgust', 0)*1.5) / 4
+    bads = (mood_compiled.get('anger', 0) + mood_compiled.get('fear', 0) + mood_compiled.get('sadness', 0) + mood_compiled.get('disgust', 0)) / 4
     neutrals = (mood_compiled.get('tentative', 0) + mood_compiled.get('analytical', 0) /2)
-    goods = (mood_compiled.get('joy', 0)*1.5 + mood_compiled.get('confident', 0)) / 2
-    swingometer = max(0, min(100, (50 + goods - bads) / max(1, (MAX/100))))
+    goods = (mood_compiled.get('joy', 0) + mood_compiled.get('confident', 0)) / 2
+    happ = 25
+    happ /= bads
+    happ *= goods
+    swingometer = max(0, min(100, happ/(max(100, MAX)/100)))
     
     JSON_OUT = {
         'relativeMode': True,