Beiträge in Open-Source-Projekten sind in der Regel eine gute Möglichkeit, um sich mit Einsteigern vertraut zu machen und einen neuen Bereich für erfahrene Datenwissenschaftler und Analysten zu erschließen.
Welche Projekte tragen Sie bei? Bitte geben Sie eine Einführung + Link auf Github.
beginner
open-source
IharS
quelle
quelle
Antworten:
Das Julia-Projekt ist eines, an dem ich aktiv mitarbeite, einschließlich der Advanced Computing- und XGBoost-Bibliotheken. Ich kann also definitiv für die Pflege und die Qualität der Community bürgen.
Einige wirklich gute Open Source Data Science-Projekte, zu denen auch Anfänger beitragen können, sind:
Hier ist eine Quora-Diskussion über solche Projekte und einige weitere, die in dieser Antwort nicht erwähnt werden.
Hier ist eine weitere nette Diskussion über Open Source Data Science- und ML-Projekte in Python.
quelle
Es gibt viele davon. Ich weiß nicht, ob ich das darf (lass es mich bitte wissen, wenn es falsch ist), aber ich entwickle eins und es hat bereits über 2 Jahre auf Git Hub (es hat tatsächlich ein Jahr vor Github angefangen). Das Projekt heißt rapaio, ist auf Git Hub hier und vor kurzem habe ich angefangen, ein Handbuch dafür zu schreiben (einige meiner Freunde haben mich danach gefragt). Das Handbuch finden Sie hier .
Es passt zu Ihren Anforderungen, wenn Sie bereit sind, in Java 8 zu entwickeln, wenn Sie sich selbst ein Werkzeug anfertigen und wenn Sie experimentieren möchten. Es gibt nur zwei Prinzipien, die ich durchsetze. Der erste ist , etwas nur dann zu schreiben, wenn Sie es brauchen . Das liegt daran, dass ich fest davon überzeugt bin, dass Sie nur dann wirklich wissen, was Sie von einem Tool in Bezug auf Leistung, Leistung und Informationen erwarten. Das zweite Prinzip ist, dass Sie nur von jdk abhängig sind. Wenn Sie etwas brauchen, werden Sie es schreiben . Ich kann zustimmen, dass ich altmodisch bin, aber Sie können jedes Feature auf diese Weise für Ihren Zweck anpassen.
Wenn ich das als Antwort nicht darf, lassen Sie es mich bitte wissen. Obwohl es sich um eine Open-Source-Initiative handelt, sehe ich keinen Grund, warum ich es nicht tun konnte, um den Menschen etwas zurückzugeben, die kein gewinnorientiertes Projekt haben.
quelle
ELKI (auch auf GitHub ) ist ein Open-Source-Projekt für Data Mining und Data Science. Es ist einzigartig in Bezug auf seine modulare Architektur: Sie können Algorithmen, Abstandsfunktionen und Indizes für die Beschleunigung mit sehr wenigen Einschränkungen kombinieren (natürlich können Algorithmen, die keine Abstände verwenden, nicht mit Abständen kombiniert werden). Dies ist aus Effizienzgründen nicht der einfachste Code. Beim Data Mining müssen Sie vorsichtig mit dem Arbeitsspeicher
ArrayList<Integer>
umgehen. Wenn Sie Skalierbarkeit wünschen , ist die Verwendung ein absolutes Muss.Aufgrund der modularen Architektur ist es einfach, nur kleine Module wie eine einzelne Distanzfunktion oder einen Algorithmus beizutragen.
Wir führen eine Liste mit Ideen für Data Mining-Projekte , die grob nach Schwierigkeitsgraden geordnet sind. Die meisten Projekte sind die Implementierung einer Variante eines Algorithmus. ELKI zielt darauf ab, vergleichende Studien von Algorithmen zu ermöglichen, daher versuchen wir, jede Kombination zuzulassen und auch Varianten von Algorithmen abzudecken. Zum Beispiel haben wir mit k-means nicht nur den Lloyds-Algorithmus, sondern 10 Varianten des allgemeinen k-means-Themas. Über 220 Artikel wurden (zumindest teilweise) in ELKI neu implementiert.
Indem wir alles im selben Tool implementieren, erhalten wir viel vergleichbarere Ergebnisse. Wenn Sie R für das Benchmarking verwenden, vergleichen Sie normalerweise Äpfel und Orangen. k-means in R selbst ist eigentlich ein altes Fortran-Programm und sehr schnell. k-means in R aber im "flexclust" -Paket ist 100x langsamer, weil es in echtem R-Code geschrieben ist. Vertraue also keinem Benchmark in R ... auch neigen R-Module dazu, inkompatibel zu sein, daher kannst du oft nicht den Abstand A von Modul A mit Algorithmus B von Modul B verwenden. In ELKI versuchen wir, so viel Code wie möglich zu teilen Implementierungsübergreifend möglich, um solche Artefakte zu reduzieren (es wird natürlich nie möglich sein, einen zu 100% fairen Benchmark zu haben - es gibt immer Raum für Optimierungen), aber auch, um das einfache Kombinieren von Modulen zu ermöglichen.
Sie könnten mit etwas Kleinem wie der Hartigan & Wong-Variante mit k-Mitteln beginnen und dann mit sphärischen k-Mitteln fortfahren (die für spärliche Daten gedacht sind, bei denen verschiedene Leistungsoptimierungen erforderlich sein können) und mit einer besseren Unterstützung für kategoriale Daten fortfahren. oder Hinzufügen von Indizierungsfunktionen.
Ich würde auch gerne eine bessere Benutzeroberfläche für ELKI sehen , aber das ist eine große Anstrengung.
quelle
Wenn Sie plattformübergreifende visuelle Programmiertools mögen, ist Orange eine Option. Nachdem sie kürzlich zu Python 3 gewechselt sind, haben sie noch nicht alle Widgets portiert. Es bringt den PyData-Stack (NumPy, SciPy, SciKit Learn, ...) zu Python 3, PyQt, PyQtGraph und es ist auf GitHub GPL-fähig .
quelle
Überprüfen Sie dieses Projekt auf Github: https://github.com/josephmisiti/awesome-machine-learning . Es enthält eine umfassende Liste von Open Source-Projekten, die nach Sprachen gruppiert sind, mit kurzen Beschreibungen. Ich denke, Sie können dort einige von ihnen finden, die Ihren Bedürfnissen entsprechen.
quelle