Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Someone help me correct the errors in the by script #4513

Closed
TomPLi opened this issue Mar 10, 2024 · 0 comments
Closed

Someone help me correct the errors in the by script #4513

TomPLi opened this issue Mar 10, 2024 · 0 comments

Comments

@TomPLi
Copy link

TomPLi commented Mar 10, 2024

import numpy as np
from scipy.stats import poisson

Modele probabilistyczne

def srednia_goli(druzyna, faza):
if druzyna == "Freiburg":
if faza == "grupa":
return 1.44
elif faza == "1/8":
return 1.50
elif druzyna == "West Ham":
if faza == "grupa":
return 1.22
elif faza == "1/8":
return 1.30
else:
return 0

def prawdopodobienstwo_wyniku(druzyna1, druzyna2):
lambda1 = srednia_goli(druzyna1, "1/8")
lambda2 = srednia_goli(druzyna2, "1/8")
p_wygrana1 = poisson(lambda1).pmf(k=lambda2)
p_remis = poisson(lambda1).pmf(k=lambda2) * poisson(lambda2).pmf(k=lambda1)
p_wygrana2 = poisson(lambda2).pmf(k=lambda1)
return p_wygrana1, p_remis, p_wygrana2

Symulacje

def symulacja_meczu(druzyna1, druzyna2, n_symulacji):
wyniki = []
for _ in range(n_symulacji):
gole_druzyna1 = np.random.poisson(srednia_goli(druzyna1, "1/8"))
gole_druzyna2 = np.random.poisson(srednia_goli(druzyna2, "1/8"))
wyniki.append((gole_druzyna1, gole_druzyna2))
return wyniki

Łączenie informacji

def kursy_bukmacherskie(druzyna1, druzyna2):

Pobierz kursy bukmacherskie z API

kurs_wygrana1 = ...
kurs_remis = ...
kurs_wygrana2 = ...
return kurs_wygrana1, kurs_remis, kurs_wygrana2

Model uczenia maszynowego

def model_uczenia_maszynowego(df_mecze):

Wczytaj dane historyczne

Wytrenuj model

Przewidz wynik meczu

...

Główny program

druzyna1 = "Freiburg"
druzyna2 = "West Ham"

Modele probabilistyczne

p_wygrana1, p_remis, p_wygrana2 = prawdopodobienstwo_wyniku(druzyna1, druzyna2)

Symulacje

wyniki_symulacji = symulacja_meczu(druzyna1, druzyna2, 10000)

Łączenie informacji

kursy_bukmacherskie1, kursy_remis, kursy_bukmacherskie2 = kursy_bukmacherskie(druzyna1, druzyna2)

Model uczenia maszynowego

przewidywanie_ml = model_uczenia_maszynowego(df_mecze)

Wyświetlenie wyników

print("Przewidywanie meczu:")
print(f"{druzyna1} vs {druzyna2}")
print(f"Prawdopodobieństwo wygranej {druzyna1}: {p_wygrana1:.2%}")
print(f"Prawdopodobieństwo remisu: {p_remis:.2%}")
print(f"Prawdopodobieństwo wygranej {druzyna2}: {p_wygrana2:.2%}")

print(f"\n**Symulacje meczu ({n_symulacji} symulacji):")
print(f"Zwycięstwa {druzyna1}: {sum(r[0] > r[1] for r in wyniki_symulacji)}")
print(f"Remisy: {sum(r[0] == r[1] for r in wyniki_symulacji)}")
print(f"Zwycięstwa {druzyna2}: {sum(r[0] < r[1] for r in wyniki_symulacji)}")

print(f"\n**
Who will help eliminate errors

@ligi ligi closed this as completed Mar 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants