[PYTHON] Prognostizieren Sie die zweite Runde des Sommers 2016 mit scikit-learn

Einführung

Dies ist die zweite kostenlose Studie über Sommerferien, die sich mit "Scikit-Learn" befasst. Der erste ist hier. Wie immer ist der Inhalt Anfänger, aber bitte vergib mir.

Dieses Mal dachte ich darüber nach, die Torstärke der zweiten Runde vorherzusagen, indem ich das Spielergebnis der ersten Runde anhand der Ergebnisse des lokalen Turniers lernte. Es ist ein lang ersehntes maschinelles Lernen (Sumimasen ist voller Gefühle, die ich ausprobieren wollte).

Trainingsdaten

Basierend auf den Schlagergebnissen des lokalen Turniers, die beim letzten Mal verwendet wurden, wurde die Kombination des ersten Spiels für jede repräsentative Schule verwendet Lernen Sie die Punktzahl des ersten Spiels, indem Sie Pitcher-Leistung der gegnerischen High School mit Lerndaten kombinieren Ich habe beschlossen, dich zu lassen.

Die erstellten Lerndaten sind hier. Da es 49 Schulen gibt, wird Daisuke Morioka beim ersten Spiel zweimal als Partnerschule auftreten.

Lernen und Vorhersage

Wie oben erwähnt, werden basierend auf den Daten des lokalen Turniers alle Schlagergebnisse und die Pitcher-Ergebnisse des Gegners als erklärende Variablen gelernt. Die Zielvariable ist die Anzahl der Punkte, die im ersten Spiel von Koshien erzielt wurden.

Der Lernalgorithmus ist "lineare Regression". Wie immer habe ich nicht das Wissen, einen anderen zu wählen ...

Untersuchen Sie dann als Vorhersagedaten zur Überprüfung des Lernergebnisses die Kombination der zweiten Runde und mögen Sie die Trainingsdaten hier. -game-2016.csv).

#coding:utf-8
import pandas as pd
import numpy as np
from sklearn import linear_model

#Erfahren Sie die Ergebnisse des ersten Spiels
df = pd.read_csv('round1-result-2016.csv')
X = df.drop(['Präfektur','PräfekturNo','Schulname','Kampfschule','Ergebnis'], axis=1)
Y = df['Ergebnis'].as_matrix()

clf = linear_model.LinearRegression()
clf.fit(X, Y)

#Vorhersage der zweiten Runde
df_round2 = pd.read_csv('round2-game-2016.csv')
X_round2 = df_round2.drop(['Präfektur','PräfekturNo','Schulname','Kampfschule'], axis=1)
round2_pred=clf.predict(X_round2)

print(round2_pred)

Ergebnis

Präfektur Schulname Kampfschule Ergebnis
Iwate Mit Morioka Dai Soushi Gakuen 2.37607605
Nara Chiben Gakuen Naruto 3.62097786
Tokushima Naruto Chiben Gakuen 5.76513128
Yamanashi Yamanashi Gakuin Inabe-Synthese 3.88857396
Verdreifachen Inabe-Synthese Yamanashi Gakuin 5.36922697
Ibaraki Joso Gakuin Chukyo 5.14173416
Gifu Chukyo Joso Gakuin 7.22823584
Aichi Toho Hachinohe Gakuin Kosei 8.83172441
Aomori Hachinohe Gakuin Kosei Toho 1.28556647
Kanagawa Yokohama Shoshosha 7.68159192
Osaka Shoshosha Yokohama 4.58766162
Wakayama Ichi Wakayama Nichinan Gakuen 2.27939976
Miyazaki Nichinan Gakuen Ichi Wakayama 4.78286132
Kagoshima Kanan Tokuei Hanasaki -1.30671611
Saitama Tokuei Hanasaki Kanan 1.90896096
Hiroshima Hiroshima Shinjo Toyama Daiichi 1.28968031
Toyama Toyama Daiichi Hiroshima Shinjo 2.03399291

Als ich dies am 13. August schrieb, war Morioka Daifu anders als erwartet, aber ich war ein wenig überrascht, dass die Ergebnisse von Chiben und Naruto ganz korrekt waren. Ich bekomme ein negatives Ergebnis, aber ich denke, das liegt daran, dass das lokale Turnier der anderen Schule 0 Tore und 0 Verteidigungsrate hat.

Es ist nur ein datenwissenschaftliches numerisches Spiel. Bitte nicht falsch verstehen, da wir nicht die Absicht haben, den tatsächlichen Wettbewerb oder die Spieler anzusprechen oder zu kritisieren.

Recommended Posts

Prognostizieren Sie die zweite Runde des Sommers 2016 mit scikit-learn
Die zweite Nacht der Runde mit für
Sagen Sie die Anzahl der mit COVID-19 infizierten Personen mit Prophet voraus
Prognostizieren Sie das Geschlecht von Twitter-Nutzern durch maschinelles Lernen
Visualisieren Sie die Ergebnisse von Entscheidungsbäumen, die mit Python scikit-learn erstellt wurden
Rastersuche von Hyperparametern mit Scikit-learn
Richten Sie die Größe der Farbleiste an der Matplotlib aus
Lassen Sie uns die Hyperparameter des Modells mit scikit-learn abstimmen!
[Scikit-learn] Ich habe mit der ROC-Kurve gespielt
[Python] Runden Sie nur mit dem Operator ab
Clustering repräsentativer Schulen im Sommer 2016 mit Scikit-Learn
Die dritte Nacht der Runde mit für
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Zählen Sie die Anzahl der Zeichen mit Echo
Hinweis: Bereiten Sie die Umgebung von CmdStanPy mit Docker vor
Finden Sie das Differential zweiter Ordnung mit der automatischen Differenzierung von JAX
2016 Todai Mathematik mit Python gelöst
[Hinweis] Exportieren Sie das HTML der Site mit Python.
Über die Verarbeitungsgeschwindigkeit von SVM (SVC) von Scikit-Learn
Erhöhen Sie die Schriftgröße des Diagramms mit matplotlib
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Überprüfen Sie das Datum der Flaggenpflicht mit Python
Beseitigen Sie die Unannehmlichkeiten von QDock Widget mit PySide
Fordern Sie den Turm von Hanoi mit Wiederholungen + Stapel heraus
Schreiben Sie den Namen des Tags mit dem Namespace in lxml neu
Füllen Sie die Breite des Jupyter-Notizbuchs, um den Browser zu füllen
Entleere den Inhalt der Redis-Datenbank mit Lua
Finden Sie den Tag nach Datum / Uhrzeit heraus
Die Basis der Graphentheorie mit Matplotlib-Animation
Visualisieren Sie das Verhalten des Sortieralgorithmus mit matplotlib
Konvertieren Sie den Zeichencode der Datei mit Python3
[Python] Bestimmen Sie den Typ der Iris mit SVM
Isomap mit Scikit-lernen
Zweite Hälfte des ersten Tages des Python-Studiums Versuchen Sie, die Twitter-API mit Bottle zu erreichen
DBSCAN mit Scikit-Learn
Clustering mit Scikit-Learn (2)
PCA mit Scikit-Learn
kmeans ++ mit scikit-learn
[Übersetzung] scikit-learn 0.18 Benutzerhandbuch 3.2. Optimieren der Hyperparameter des Schätzers
Extrahieren Sie die Tabelle der Bilddateien mit OneDrive & Python
Fügen Sie Attribute von Klassenobjekten mit einer for-Anweisung hinzu
Ganz rechts Koordinaten des Etiketts mit tkinter erstellt
Die Geschichte des Stoppens des Produktionsdienstes mit dem Befehl hostname
Lerne Nim mit Python (ab Anfang des Jahres).
Berechnen Sie die Summe der eindeutigen Werte durch Pandas-Kreuztabellen
Fügen Sie mit Matplotlib Informationen am unteren Rand der Abbildung hinzu
Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
Die Geschichte des Teilens der Pyenv-Umgebung mit mehreren Benutzern
Zerstören Sie den Zwischenausdruck der Sweep-Methode mit Python
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
Machen Sie LCD-Screenshots mit Python-LEGO Mindstorms
Visualisieren Sie den Bereich der internen und externen Einfügungen mit Python
[Kapitel 6] Einführung in Scicit-Learn mit 100 Klopfen Sprachverarbeitung