[PYTHON] Ich möchte den Erfolg von NBA-Spielern mit dem Qore SDK vorhersagen

Dies ist der Artikel zum 15. Tag von Maschinelles Lernen und angewandte Technologie außer Deep Learning von QuantumCore Adventskalender 2019.

Was du machen willst

Dieses Mal werden wir die "Punkte pro Eintrag" von Donovan Mitchell vorhersagen, der zu Utah Jazz gehört.

Donovan Mitchell (Basketball Reference)

Ich bin übrigens ein Anfänger im Basketball.

Annahme

** "Sind die Höhen und Tiefen der Aktivitäten in der Saison nicht in jeder Saison gleich?" **


Zum Beispiel: "Ich war zu Beginn der Saison nicht gut unterwegs, aber ich bin mitten in der Saison wieder auf die Strecke gekommen und habe am Ende der Saison den Höhepunkt meiner Aktivität erreicht."

Es ist eine ziemlich grobe Annahme, aber ich habe versucht zu sehen, wie viel ich mit diesem und dem Qore SDK anfangen kann.

Daten und Prognosen

Daten

Verschrotten Sie die Basketball-Referenz, um die Box-Punktzahl des Spielers in jedem Spiel zu erhalten.

Die Bakertball-Referenz enthält Spieldaten aus der Zeit um 1954, und ich habe vorerst alle Daten abgekratzt. Wenn Sie an den Inhalten interessiert sind, kontaktieren Sie uns bitte.

Was ist vorherzusagen?

Die Punkte, die pro Teilnahme von Donovan Mitchell bis Mitte November erzielt wurden, sind wie folgt.

スクリーンショット 2019-12-16 0.03.53.png

Dieses Mal werden wir die Daten aus der Saison 18/19 verwenden, um sie bis Mitte der Saison 19/20 zu trainieren und zu validieren (obwohl wir das Modell nicht ändern werden). Danach werden wir Donovans Erfolg im eigentlichen Spiel vorhersagen.

Code

Verbinden

from  qore_sdk.client import WebQoreClient
client = WebQoreClient(username="", password="p@$$w0rd", endpoint="")

Datenaufbereitung

Angenommen, Donovan.csv hat die Ergebnisse eines kratzenden Spielers.

import pandas as pd
donovan = pd.read_csv('Donovan.csv', parse_dates=['date'], index_col='date')

(Wiedererscheinen) </ b>

  • Erklärende Variable: Anzahl der Tage seit der Eröffnung
  • Ziel: Anzahl der Punkte pro Eintrag (PTS / MP)

#Der Standard ist der 1. Oktober vor Saisonbeginn.
#Der Eröffnungstag kann besser sein

X = donovan[(datetime.datetime(year=2019, month=10, day=1)>donovan.index) & (donovan.index>datetime.datetime(year=2018, month=10, day=1))].index
X = X - datetime.datetime(year=2018, month=10, day=1)

y = donovan[donovan.index.year==2018]['PTS per mn']

Datenaufteilung

import sklearn.model_selection as model_selection
X_train, X_valid, y_train, y_valid = model_selection.train_test_split(
    X, y, shuffle=False, random_state=44
)

Lernen und Vorhersagen

# Train
res = client.regression_train(X=X_train.values, Y=y_train.values)

#Prognose
pred = client.regression_predict(X=X_valid.values)

Validierung (Bestätigung des Namens)

import sklearn.metrics as metrics
rmse = metrics.mean_squared_error(y_valid, pred["Y"])**.5
mae = metrics.mean_absolute_error(y_valid, pred["Y"])

print("RMSE=", rmse)
print("MAE=", mae)
print("RMSE/MAE=", rmse/mae)

Ergebnis

Zum Zeitpunkt des Lernens tritt "HTTP-Fehler: HTTP-Fehler 500: INTERNER SERVERFEHLER" auf. Wir werden den Artikel aktualisieren, sobald er behoben ist.

Erwartete Herausforderungen

  • Die Annahme ist zu einfach
  • Möglicherweise sollten andere Faktoren als die Zeit berücksichtigt werden ―― Erstens ist es seltsam, dass die Achse der Leistungsbewertung "die Anzahl der Punkte pro Teilnahme" ist.

Qore SDK-Benutzerfreundlichkeit

Wenn Sie anhand eines anderen Datensatzes lernen und Vorhersagen treffen, wird dies sicherlich immer einfacher. Ich dachte, es sollte mehr über Tools wie Reservoir Computing bekannt sein, die Vorteile haben, aber komplexe Berechnungen leicht reproduzieren können.

Auf der anderen Seite kann dies den Eindruck einer Black Box erwecken, z. B. Erster Betriebstag und [Dokumentation](https: //qcore-info.github). Sie müssen die Erklärungen wie io / advent-calendar-2019 / index.html (qore_sdk.client.WebQoreClient.classifier_train) vollständig verstehen. Insbesondere hielt ich es für in Ordnung, wenn die Dokumentation eine Hintergrund- / Theorieerklärungsseite wie im Artikel am ersten Tag hätte.

Auf jeden Fall möchte ich allen bei Quantum Core meinen Dank aussprechen, die ihre Zeit der Entwicklung solcher Tools widmen.

Recommended Posts

Ich möchte den Erfolg von NBA-Spielern mit dem Qore SDK vorhersagen
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Ich habe versucht, den Sieg oder die Niederlage der Premier League mit dem Qore SDK vorherzusagen
Ich möchte das Erscheinungsbild von zabbix anpassen
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Ich möchte das Ausführungsergebnis von strace erfassen
Ich möchte die Grundlagen von Bokeh vollständig verstehen
Ich möchte R-Datensatz mit Python verwenden
Ich möchte die Sicherheit der SSH-Verbindung erhöhen
Ich möchte auch Linux-Befehle an der Eingabeaufforderung verwenden! Verwenden Sie Linux-Befehle an der Eingabeaufforderung anstelle von Git Bash
Ich möchte das neueste gcc verwenden, auch wenn ich keine Sudo-Berechtigungen habe! !!
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte die Authentizität eines Elements eines numpy-Arrays bestimmen
Ich möchte die Natur von Python und Pip kennenlernen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die Legende der IT-Technologiewelt kennenlernen
Ich möchte den Namen der ausgeführten Funktion / Methode erhalten
Ich möchte die HTML-Version der OpenCV 3.1-Version "OpenCV-Python Tutorials" lesen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Verwenden Sie PyCaret, um den Preis von Gebrauchtwohnungen in Tokio vorherzusagen!
Vergleich von GCP-Computerdiensten [Ich möchte es serverlos verwenden]
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
Verwenden Sie das Qore SDK, um BTC-Preiserhöhungen und -senkungen vorherzusagen
Ich möchte die Bevölkerung jedes Landes der Welt kennenlernen.
Ich möchte ein Glas aus Python verwenden
Ich möchte Linux auf dem Mac verwenden
Ich möchte IPython Qt Console verwenden
Ich möchte den Fortschrittsbalken anzeigen
Ich möchte mit dem Reim part2 umgehen
Ich möchte mit dem Reim part5 umgehen
Ich möchte mit dem Reim part4 umgehen
Ich möchte es nicht zugeben ... Die dynamische Systemdarstellung von Neural Network
Ich möchte das Ergebnis von "Zeichenfolge" .split () in Python stapelweise konvertieren
Ich möchte die abstrakte Klasse (ABCmeta) von Python im Detail erklären
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
Ich möchte die Django Debug Toolbar in Ajax-Anwendungen verwenden
Ich möchte meine Gefühle mit den Texten von Mr. Children ausdrücken
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich möchte die Gefühle von Menschen analysieren, die sich treffen und zittern wollen
Ich möchte einen beliebigen Befehl im Befehlsverlauf von Shell belassen
Ich möchte das automatische Löschen des tmp-Bereichs in RHEL7 stoppen
Ich habe die übliche Geschichte ausprobiert, Deep Learning zu verwenden, um den Nikkei-Durchschnitt vorherzusagen
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Ich möchte die legendäre Nintendo-Kombination wiederbeleben, indem ich AI und HR Tech voll ausnütze!
Ich möchte komplizierte vier Regeln in der IF-Anweisung der Django-Vorlage verwenden! → Verwenden Sie eine benutzerdefinierte Vorlage
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?
Holen Sie sich das Ergebnis der umgekehrten GeoCoding auf Japanisch mit dem Java SDK von GoogleMapsAPI.
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ich möchte einen Lebenszyklus in der Aufgabendefinition von ECS festlegen
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Ich möchte dem Anfang einer WAV-Datei 1 Sekunde lang Stille hinzufügen
Ich möchte die Daten von League of Legends ③ erhalten
Ich habe versucht, das Vorhandensein oder Nichtvorhandensein von Schnee durch maschinelles Lernen vorherzusagen.