Data Science – 7 – Φιλτράρισμα δεδομένων και έλεγχος βελτιστοποίησης

Μετά από κάποιες μετατροπές στο αρχικό dataset έχουμε προσθέσει κάποιες νέες στήλες. Εισάγουμε πάλι τις βιβλιοθήκες μας και το dataframe.

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

data_filename = ‘gamesff.csv’

games = pd.read_csv(data_filename,encoding=’utf-8′)

Αν πάρουμε ένα δείγμα των δεδομένων μας με την εντολή games.sample(5) θα δούμε:

ds7a

Φαίνεται λοιπόν πως έχουμε προσθέσει 6 νέες στήλες. Βλέπουμε τις στήλες με την εντολή games.columns.

Αποτέλεσμα: ‘ΑΓΩΝΙΣΤΙΚΗ’, ‘ΓΗΠΕΔΟΥΧΟΣ’, ‘ΘΕΣΗ_ΓΗΠ’, ‘ΒΑΘ_ΓΗΠ’, ‘ΓΗΠ_Φ3’,

       'ΓΗΠ_Φ5', 'ΦΙΛΟΞΕΝΟΥΜΕΝΟΣ', 'ΘΕΣΗ_ΦΙΛ', 'ΒΑΘ_ΦΙΛ', 'ΦΙΛ_Φ3', 'ΦΙΛ_Φ5','ΣΚΟΡ_ΓΗΠ', 'ΣΚΟΡ_ΦΙΛ', 'ΣΚΟΡ_ΣΥΝ', 'ΑΠΟΤ', 'ΑΠΟΤ_ΑΡ'

Οι νέες στήλες που θα μας βοηθήσουν ιδιαίτερα στη συνέχεια είναι οι στήλες:

ΘΕΣΗ_ΓΗΠ: Είναι η βαθμολογική θέση στην οποία βρίσκεται η γηπεδούχος ομάδα πριν την έναρξη του αγώνα.

ΘΕΣΗ_ΦΙΛ: Είναι η βαθμολογική θέση στην οποία βρίσκεται η Φιλοξενούμενη ομάδα πριν την έναρξη του αγώνα.

ΒΑΘ_ΓΗΠ: Είναι οι βαθμοί που έχει μαζέψει στο πρωτάθλημα η γηπεδούχος ομάδα μέχρι το τρέχον παιχνίδι.

ΒΑΘ_ΦΙΛ: Είναι οι βαθμοί που έχει μαζέψει στο πρωτάθλημα η Φιλοξενούμενη ομάδα μέχρι το τρέχον παιχνίδι.

ΓΗΠ_Φ3: Είναι η φόρμα που βρίσκεται η γηπεδούχος ομάδα παρατηρώντας τα τρία τελευταία παιχνίδια της. Ένας αριθμός από το 0 ως το 9 ανάλογα πόσους βαθμούς μάζεψε.

ΓΗΠ_Φ5: Είναι η φόρμα που βρίσκεται η γηπεδούχος ομάδα παρατηρώντας τα πέντε τελευταία παιχνίδια της. Ένας αριθμός από το 0 ως το 15.

ΓΗΠ_Φ3: Είναι η φόρμα που βρίσκεται η Φιλοξενούμενη ομάδα παρατηρώντας τα τρία τελευταία παιχνίδια της. Ένας αριθμός από το 0 ως το 9.

ΓΗΠ_Φ5: Είναι η φόρμα που βρίσκεται η Φιλοξενούμενη ομάδα παρατηρώντας τα πέντε τελευταία παιχνίδια της. Ένας αριθμός από το 0 ως το 15.

Θα επιχειρήσουμε να δούμε παρακάτω ποια είναι τα γενικά ποσοστά που οι αγώνες έρχονται 1, Χ, 2 και αν μπορούμε να περιορίσουμε τους αγώνες υπό συνθήκες και κατά πόσο αυξάνονται τα αντίστοιχα ποσοστά. Δεν θα εφαρμοστεί κάποια μέθοδος τεχνητής νοημοσύνης προς το παρόν. Απλά θα φτιάξουμε απλά φίλτρα με συνθήκες.

Οι εντολές που θα χρησιμοποιήσουμε:

games.ΑΠΟΤ.value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ3’] > games[‘ΦΙΛ_Φ3’])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ3’] >= games[‘ΦΙΛ_Φ3’])].value_counts(normalize = True)

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ3’] > games[‘ΦΙΛ_Φ3’])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ5‘] >= games[‘ΦΙΛ_Φ5‘])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ5‘] > games[‘ΦΙΛ_Φ5‘])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ5’] >= games[‘ΦΙΛ_Φ5’]) & (games[‘ΓΗΠ_Φ3’] >= games[‘ΦΙΛ_Φ3’])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ5’] > games[‘ΦΙΛ_Φ5’]) & (games[‘ΓΗΠ_Φ3’] > games[‘ΦΙΛ_Φ3’])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ3’] <= games[‘ΦΙΛ_Φ3’])].value_counts()

games.ΑΠΟΤ[(games[‘ΓΗΠ_Φ3’] < games[‘ΦΙΛ_Φ3’]) & (games[‘ΒΑΘ_ΓΗΠ’] > games[‘ΒΑΘ_ΦΙΛ’])].value_counts()

Τρέχοντας τις παραπάνω εντολές παίρνουμε τα παρακάτω αποτελέσματα που συνοψίζονται σε έναν πίνακα

ds7b

Οι παραπάνω αναζητήσεις είναι ενδεικτικές και πρόχειρες. Κάθε ένας μπορεί να επικεντρωθεί σε οποιαδήποτε πτυχή των δεδομένων τον ενδιαφέρει. Στο παραπάνω πινακάκι βλέπουμε ήδη σημαντικά στοιχεία. Βλέπουμε πως υπό προυποθέσεις μπορούμε να περιορίσουμε τον τρόπο που διαλέγουμε τα παιχνίδια που ποντάρουμε και να αυξήσουμε τις πιθανότητες επιτυχίας. Για παράδειγμα για τον Άσσο, βλέπουμε πως ενώ γενικά έχει 45,6% πιθανότητες, στην γραμμή 6 οι πιθανότητες του Άσσο είναι 61,66%. Το Χ έχει γενικές πιθανότητες 31,86%, αλλά στις γραμμές 7 και 8 έχουμε αντίστοιχα ανεβάσει τα ποσοστά σε 36,44% και 40%. Στην 8 γραμμή είναι ακόμα παραπάνω το ποσοστό, ωστόσο, επειδή αφορά μόνο 15 παιχνίδια που πληρούν τις προϋποθέσεις πονταρίσματος, η γραμμή 7 με 107 παιχνίδια φαίνεται πιο ελκυστική. Το διπλό έχει γενική πιθανότητα 22,52% αλλά στην γραμμή 7 έχει 27,10%. Το αποτέλεσμα Χ2 έχει γενική πιθανότητα 54,38% αλλά στη γραμμή 7 έχει 63,54%

Όλα τα παραπάνω αποτελούν βελτιστοποιήσεις “με το χέρι” αφενός και όχι με μεθόδους επιστημονικής μηχανικής μάθησης, όχι όμως και αμελητέες. Ήδη μπορούν να εξαχθούν patterns που να βελτιώνουν την στρατηγική μας. Θα επιχειρήσουμε στη συνέχεια να δούμε και άλλες μεθόδους και κατά πόσο μπορούν να βελτιώσουν την αποτελεσματικότητα των παρατηρήσεων μας.

Κατηγορίες: data science, Πληροφορική. Προσθήκη στους σελιδοδείκτες.