Dies ist der Artikel zum 15. Tag von Maschinelles Lernen und angewandte Technologie außer Deep Learning von QuantumCore Adventskalender 2019.
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.
** "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.
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.
PTS / MP
)Die Punkte, die pro Teilnahme von Donovan Mitchell bis Mitte November erzielt wurden, sind wie folgt.
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.
from qore_sdk.client import WebQoreClient
client = WebQoreClient(username="", password="p@$$w0rd", endpoint="")
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>
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)
Zum Zeitpunkt des Lernens tritt "HTTP-Fehler: HTTP-Fehler 500: INTERNER SERVERFEHLER" auf. Wir werden den Artikel aktualisieren, sobald er behoben ist.
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.