Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
def update_probability(prior, prob_true, prob_false=0.): """Update probability using Bayes' rule.""" numerator = prob_true * prior denominator = numerator + prob_false * (1 - prior) probability = numerator / denominator return probability prior = 0.1 list_posteriors = [] threshold = 0.9 #weather_home_cloudy prob_true_1 = 0.6 prob_false_1 = 0.2 sensor_cloudy = 'cloudy' try: if sensor_cloudy == 'cloudy': posterior = update_probability(prior, prob_true_1, prob_false_1) prior = posterior print('post_1: ', round(posterior,2), round(prior,2)) except: prior = prior #weather_home_snowy prob_true_2 = 0.6 prob_false_2 = 0.1 sensor_snowy = 'not_snowy' try: if sensor_snowy == 'snowy': posterior = update_probability(prior, prob_true_2, prob_false_2) prior = posterior print('post_2: ', round(posterior,2), round(prior,2)) except: prior = prior #weather_home_rainy prob_true_3 = 0.9 prob_false_3 = 0.1 sensor_rainy = 'not_rainy' try: if sensor_rainy == 'rainy': posterior = update_probability(prior, prob_true_3, prob_false_3) prior = posterior print('post_3: ', round(posterior,2), round(prior,2)) except: prior = prior #sun.sun_above_horizon prob_true_4 = 0.5 prob_false_4 = 0.5 sensor_sun_state = 'below' try: if sensor_sun_state == 'above': posterior = update_probability(prior, prob_true_4, prob_false_4) prior = posterior print('post_4: ', round(posterior,2), round(prior,2)) except: prior = prior #numeric_state_pressure prob_true_5 = 0.65 prob_false_5 = 0.1 sensor_pressure = 1032 try: if sensor_pressure <= 1000: posterior = update_probability(prior, prob_true_5) prior = posterior print('post_5: ', round(posterior,2), round(prior,2)) except: prior = prior #numeric_state_humidity prob_true_6 = 0.5 prob_false_6 = 0.1 sensor_humid = 75 try: if sensor_humid >= 70: posterior = update_probability(prior, prob_true_6, prob_false_6) prior = posterior print('post_6: ', round(posterior,2), round(prior,2)) except: prior = prior print('posterior: ', round(posterior,2), round(prior,2)) if posterior >= threshold: binary_sensor = True print('Będzie deszcz') else: binary_sensor = False print('Nie będzie deszczu')
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)