Kaggle-Wettbewerbe: Wie und wo soll ich anfangen?

Einleitung

Habe ich die notwendigen Fähigkeiten, um an Kaggle-Wettbewerben teilzunehmen?

Haben Sie sich jemals dieser Frage gestellt? Zumindest habe ich es als Zweites getan, als ich Kaggle fürchtete, nur indem ich mir den Schwierigkeitsgrad vorstellte, den es bietet. Diese Angst war ähnlich wie meine Angst vor Wasser. Meine Angst vor dem Wasser erlaubte mir nicht, Schwimmunterricht zu nehmen. Später lernte ich jedoch: „Bis zu dem Moment, in dem du nicht ins Wasser trittst, kannst du nicht erkennen, wie tief es ist“. Eine ähnliche Philosophie gilt für Kaggle. Schließen Sie nicht, bis Sie es versuchen!

Kaggle, die Heimat von Data Science, bietet eine globale Plattform für Wettbewerbe, Kundenlösungen und Jobbörsen. Hier ist der Kaggle-Fang, diese Wettbewerbe lassen Sie nicht nur über den Tellerrand hinausschauen, sondern bieten auch ein ansehnliches Preisgeld.

Dennoch zögern die Menschen, an diesen Wettbewerben teilzunehmen. Hier sind einige wichtige Gründe:

  1. Sie schmälern ihr Niveau an erworbenen Fähigkeiten, Kenntnissen und Techniken.
  2. Unabhängig von ihren Fähigkeiten wählen sie das Problem mit dem höchsten Preisgeld.
  3. Sie können ihre Fähigkeiten nicht mit dem Schwierigkeitsgrad des Problems in Einklang bringen.

Ich denke, dieses Problem geht von Kaggle selbst aus. Kaggle.com bietet keine Informationen, die Menschen helfen können, das am besten geeignete Problem passend zu ihren Fähigkeiten zu wählen. Infolgedessen ist es für Anfänger / Fortgeschrittene zu einer mühsamen Aufgabe geworden, sich für ein geeignetes Problem zu entscheiden.

Was werden Sie in diesem Artikel erfahren?

In diesem Artikel haben wir die Sackgasse der Auswahl des geeigneten Kaggle-Problems gemäß Ihren Fähigkeiten und Werkzeugen & Techniken geöffnet. Hier haben wir jedes Kaggle-Problem mit dem Schwierigkeitsgrad und den zur Lösung erforderlichen Fähigkeiten veranschaulicht.

Im letzten Teil haben wir den richtigen Ansatz definiert, um ein Kaggle-Problem für die folgenden Fälle zu lösen:

Fall 1: Ich habe einen Hintergrund in der Codierung, bin aber neu im maschinellen Lernen.

Fall 2 : Ich bin seit mehr als 2 Jahren in der Analytikbranche tätig, fühle mich aber mit R / Python nicht wohl

Fall 3: Ich bin gut mit Codierung und maschinellem Lernen, brauche etwas Herausforderndes, um daran zu arbeiten

Fall 4: Ich bin ein Neuling sowohl im maschinellen Lernen als auch in der Codierungssprache, aber ich möchte lernen

Liste der Kaggle-Probleme

Titanic: Maschinelles Lernen aus der Katastrophe

Ziel: Ein klassisches beliebtes Problem, um Ihre Reise mit maschinellem Lernen zu beginnen. Sie erhalten eine Reihe von Attributen der Passagiere an Bord und müssen vorhersagen, wer überlebt hätte, nachdem das Schiff gesunken ist.

Schwierigkeitsgrad

a) Maschinelle Lernfähigkeiten – Einfach

b) Programmierkenntnisse – Einfach

c) Erwerb von Domain-Fähigkeiten –Einfach

d) Tutorials verfügbar – Sehr umfassend

2. Erster Schritt mit Julia

Ziel: Dies ist ein Problem Zeichen auf Google Street View Bild mit einem kommenden Werkzeug Julia zu identifizieren.

Schwierigkeitsgrad auf jedem der Attribute :

a) Maschinelle Lernfähigkeiten – Einfach

b) Programmierkenntnisse – Mittel

c) Erwerb von Domain-Fähigkeiten – Einfach

d) Tutorial verfügbar – Umfassend

Ziffernerkennung

Ziel: Sie erhalten Daten mit Pixeln auf handgeschriebenen Ziffern und müssen abschließend sagen, um welche Ziffer es sich handelt. Dies ist ein klassisches Problem für das Markov-Modell.

Schwierigkeitsgrad für jedes der Attribute :

a) Fähigkeiten zum maschinellen Lernen – Mittel

b) Programmierkenntnisse – Mittel

c) Domain-Fähigkeiten erwerben – Einfach

d) Tutorial verfügbar – Verfügbar, aber keine Hand

Tüte Wörter – Tüte Popcorn

Ziel: Sie erhalten eine Reihe von Filmkritiken und müssen die versteckten Wörter finden in dieser Aussage. Ziel dieser Problemstellung ist es, Ihnen das Google–Paket Word2Vec vorzustellen.

Es ist ein fantastisches Paket, das Ihnen hilft, Wörter in einen endlichen Dimensionsraum umzuwandeln. Auf diese Weise können wir Analogien erstellen, die nur den Vektor betrachten. Ein sehr einfaches Beispiel ist, dass Ihr Algorithmus Analogien hervorbringen kann wie: König – Männlich + Weiblich gibt Ihnen Königin.

Schwierigkeitsgrad für jedes der Attribute:

a) Maschinelle Lernfähigkeiten – Schwierig

b) Programmierkenntnisse – Mittel

c) Erwerb von Domänenfähigkeiten – Einfach

d) Tutorial verfügbar – Verfügbar, aber keine Hand

5. Denoising Dirty Documents

Ziel: Sie kennen vielleicht eine Technologie, die als OCR bekannt ist. Es konvertiert einfach handschriftliche Dokumente in digitale Dokumente. Es ist jedoch nicht perfekt. Ihre Aufgabe hier ist es, maschinelles Lernen zu verwenden, um es perfekt zu machen.

Schwierigkeitsgrad für jedes der Attribute:

a) Fähigkeiten zum maschinellen Lernen – Schwierig

b) Programmierkenntnisse – Schwierig

c) Erwerb von Domain-Fähigkeiten – Schwierig

d) Tutorial verfügbar – Nein

San Francisco Crime Classification

Ziel: Vorhersage der Kategorie der Verbrechen, die in der Stadt an der Bucht aufgetreten sind.

Schwierigkeitsgrad für jedes der Attribute:

a) Fähigkeiten zum maschinellen Lernen – Sehr schwierig

b) Programmierkenntnisse – Sehr schwierig

c) Erwerb von Domänenfertigkeiten – Schwierig

d) Tutorial verfügbar – Nein

Taxi Trajektorienvorhersage Zeit / Ort

Ziel: Es gibt zwei Probleme, die auf denselben Datensätzen basieren. Sie erhalten den Controller eines Taxis und sollen vorhersagen, wohin das Taxi fährt oder wie lange es dauert, bis die Reise abgeschlossen ist.

Schwierigkeitsgrad für jedes der Attribute:

a) Fähigkeiten zum maschinellen Lernen – Einfach

b) Programmierkenntnisse – Schwierig

c) Erwerb von Domain-Fähigkeiten – Mittel

d) Tutorial verfügbar – Einige Benchmark-Codes verfügbar

Facebook Recruiting – Mensch oder Bot

Ziel: Wenn Sie ein Nörgeln haben, um ein neues nun, Sie müssen dieses Problem lösen. Sie erhalten die Gebotsdaten und müssen den Bieter als Bot oder Mensch klassifizieren. Dies hat die reichste verfügbare Datenquelle aller Probleme auf Kaggle.

Schwierigkeitsgrad für jedes der Attribute:

a) Fähigkeiten zum maschinellen Lernen – Mittel

b) Programmierkenntnisse – Mittel

c) Erwerb von Domain-Fähigkeiten – Mittel

d) Tutorial verfügbar – Kein Support verfügbar, da es sich um einen Rekrutierungswettbewerb handelt

Hinweis: Ich habe die Kaggle-Wettbewerbe, die Preisgelder anbieten, in diesem Artikel nicht behandelt, da sie alle mit einem bestimmten Thema zusammenhängen domäne. Lassen Sie mich Ihre Meinung zu ihnen im Kommentarbereich unten wissen.

Wir werden jetzt den richtigen Ansatz für Menschen mit unterschiedlichen Fähigkeiten in verschiedenen Lebensphasen suchen, um ihre Kaggle-Reise zu beginnen!

Fall 1: Ich habe einen Hintergrund in der Codierung, bin aber neu im maschinellen Lernen.

Schritt 1: Das erste Kaggle-Problem, das Sie aufgreifen sollten, ist: Vorhersage der Taxitrajektorie. Grund dafür ist, dass das Problem einen komplexen Datensatz hat, der ein JSON-Format in einer der Spalten enthält, das die Menge der Koordinaten angibt, die das Taxi besucht hat. Wenn Sie dies aufschlüsseln können, ist für eine erste Schätzung des Zielziels oder der Zeit kein maschinelles Lernen erforderlich. Daher können Sie Ihre Codierungsstärke nutzen, um Ihren Wert in dieser Branche zu finden.

Schritt 2: Ihr nächster Schritt sollte sein, aufzunehmen: Titanic. Grund dafür ist, dass Sie jetzt bereits verstehen, wie Sie mit komplexen Datensätzen umgehen. Daher ist jetzt der perfekte Zeitpunkt, um sich mit reinen Problemen des maschinellen Lernens zu befassen. Mit einer Fülle von verfügbaren Lösungen / Skripten können Sie eine gute Lösung erstellen.

Schritt 3: Sie sind jetzt bereit für etwas Großes. Versuchen Sie Facebook Recruiting. Dies wird Ihnen helfen zu verstehen, wie das Verständnis der Domäne Ihnen helfen kann, das Beste aus dem maschinellen Lernen herauszuholen.

Sobald Sie alle diese Teile an Ort und Stelle haben, können Sie jedes Problem mit Kaggle ausprobieren.

Fall 2: Ich bin seit mehr als 2 Jahren in der Analytikbranche tätig, fühle mich aber mit R / Python nicht wohl

Schritt 1: Sie sollten mit einem Schuss Titanic beginnen. Grund dafür ist, dass Sie bereits verstehen, wie Sie einen Vorhersagealgorithmus erstellen. Sie sollten sich jetzt bemühen, Sprachen wie R und Python zu lernen. Mit einer Fülle von verfügbaren Lösungen / Skripten können Sie verschiedene Arten von Modellen auf R und Python erstellen. Dieses Problem wird Ihnen auch helfen, einige fortgeschrittene Algorithmen für maschinelles Lernen zu verstehen.

Schritt 2: Der nächste Schritt sollte Facebook Recruiting sein. Der Grund dafür ist, dass Sie angesichts der Einfachheit der Datenstruktur und des reichhaltigen Inhalts in der Lage sind, richtige Tabellen zu verknüpfen und einen Vorhersagealgorithmus für diese Tabelle zu erstellen. Dies wird Ihnen auch helfen zu verstehen, wie das Verständnis der Domäne Ihnen helfen kann, das Beste aus dem maschinellen Lernen herauszuholen.

Vorschläge: Sie sind jetzt bereit für etwas ganz anderes als Ihre Komfortzone. Lesen Sie Probleme wie die Erkennung von diabetischer Retinopathie, Avinto Context Ad Clicks, Crime Classification und finden Sie die Domäne Ihres Interesses. Versuchen Sie nun, das anzuwenden, was Sie bisher gelernt haben.

Jetzt ist es an der Zeit, etwas Komplexeres zu programmieren. Versuchen Sie, die Flugbahn vorherzusagen oder schmutzige Dokumente zu löschen. Sobald Sie alle diese Teile an Ort und Stelle haben, können Sie jetzt jedes Problem mit Kaggle versuchen.

Fall 3: Ich bin gut mit Codierung und maschinellem Lernen, brauche etwas Herausforderndes, um daran zu arbeiten

Schritt 1: Sie haben viele Optionen auf Kaggle. Die erste Option ist, eine neue Sprache wie Julia zu beherrschen. Sie können mit dem ersten Schritt mit Julia beginnen. Grund dafür ist, dass Sie dadurch zusätzlich erfahren, was Julia zusätzlich zu Python oder R.

Schritt 2: Die zweite Option besteht darin, Fähigkeiten mit einer zusätzlichen Domäne zu entwickeln. Sie können Avito Context , Search Relevance oder Facebook – Human vs. Bot ausprobieren.

Fall 4: Ich bin ein Neuling sowohl im maschinellen Lernen als auch in der Programmiersprache, aber ich möchte lernen

Schritt 1: Sie sollten Ihre Kaggle-Reise mit Titanic beginnen. Der Grund dafür ist, dass der erste Schritt für Sie darin besteht, Sprachen wie R und Python zu lernen. Mit einer Fülle von verfügbaren Lösungen / Skripten können Sie verschiedene Arten von Modellen auf R und Python erstellen. Dieses Problem wird Ihnen auch helfen, einige Algorithmen für maschinelles Lernen zu verstehen.

Schritt 2: Sie sollten dann aufnehmen: Facebook Recruiting. Der Grund dafür ist, dass Sie angesichts der Einfachheit der Datenstruktur und des reichhaltigen Inhalts in der Lage sind, richtige Tabellen zu verknüpfen und einen Vorhersagealgorithmus für diese Tabelle zu erstellen. Dies wird Ihnen auch helfen zu verstehen, wie das Verständnis der Domäne Ihnen helfen kann, das Beste aus dem maschinellen Lernen herauszuholen.

Sobald Sie damit fertig sind, können Sie Probleme nach Ihrem Interesse aufgreifen.

Einige Hacks, um einen fairen Wettbewerb auf Kaggle zu sein

Dies ist keine umfassende Liste von Hacks, sondern soll Ihnen einen guten Start bieten. Umfassende Liste verdient einen neuen Beitrag von selbst:

  1. Stellen Sie sicher, dass Sie vor dem letzten Teilnahmedatum eine Lösung einreichen (auch die Mustereinreichung erledigt diese Aufgabe), wenn Sie in Zukunft am Wettbewerb teilnehmen möchten.
  2. Verstehen Sie die Domäne, bevor Sie mit den Daten fortfahren. Zum Beispiel in der Bot vs.. Mensch, Sie müssen verstehen, wie die Online-Gebotsplattform funktioniert, bevor Sie die Reise mit Daten beginnen.
  3. Erstellen Sie Ihren eigenen Bewertungsalgorithmus, der das Kaggle-Testergebnis nachahmen kann. Eine einfache 10-fache Kreuzvalidierung funktioniert im Allgemeinen einwandfrei.
  4. Versuchen Sie, so viele Features wie möglich aus den Zugdaten herauszuarbeiten – Feature Engineering ist normalerweise der Teil, der Sie von Top 40 Perzentil zu Top 10 Perzentil treibt.
  5. Ein einzelnes Modell bringt Sie im Allgemeinen nicht in die Top 10. Sie müssen viele viele Modelle und Ensemble sie zusammen. Dies können mehrere Modelle mit unterschiedlichen Algorithmen oder unterschiedliche Variablen sein.

Endnoten

Es gibt mehrere Vorteile, die ich nach der Arbeit an Kaggle-Problemen erkannt habe. Ich habe R / Python im laufenden Betrieb gelernt. Ich glaube, das ist der beste Weg, das gleiche zu lernen. Wenn Sie auch mit Personen im Diskussionsforum zu verschiedenen Problemen interagieren, erhalten Sie einen tieferen Einblick in das maschinelle Lernen und die Domäne.

In diesem Artikel haben wir verschiedene Kaggle-Probleme veranschaulicht und ihre wesentlichen Attribute in den Schwierigkeitsgrad eingeteilt. Wir haben auch verschiedene reale Fälle aufgegriffen und den richtigen Ansatz für die Teilnahme an Kaggle gefunden.

Haben Sie an einem Kaggle-Problem teilgenommen? Haben Sie signifikante Vorteile gesehen, wenn Sie dasselbe tun? Teilen Sie uns Ihre Gedanken zu diesem Handbuch im Kommentarbereich unten mit.

Wenn Ihnen gefällt, was Sie gerade gelesen haben & Möchten Sie Ihr Analytics-Lernen fortsetzen, abonnieren Sie unsere E-Mails, folgen Sie uns auf Twitter oder wie unsere Facebook-Seite.

Sie können diesen Artikel auch in unserer mobilen APP lesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.