Wenn Sie ein Programm in einer Sprache entwickeln, die ein Betriebssystem ist, haben Sie möglicherweise das Gefühl, dass etwas fehlt. In solchen Fällen verweise ich auf Bibliotheken in anderen Sprachen.
** - Ich weiß bereits, was von Vorteil ist. ** **. Wenn Sie eine Sprache wie Python oder Java verwenden, wissen Sie bereits, welche Bibliotheken in diesen Sprachen für Sie nützlich sind. Ich kenne bereits den Teil, von dem ich wünschte, die C ++ - Sprachbibliothek hätte so etwas, und wenn die Funktion danach nicht in der Standard-C ++ - Sprachbibliothek enthalten ist, führt dies zu dem Wunsch, sie zu implementieren. Sehen Sie sich neben STL in der Boost-Bibliothek an, ob Sie Ihre eigenen erstellen müssen. ** - Ich weiß, dass die Implementierung dieser Funktion funktionieren wird. ** **. Selbst wenn sich die Sprache ändert, ändert sich die Essenz, die mit der Computersprache erreicht werden kann, nicht. Eine der Stärken von Open Source ist, dass bereits gezeigt wurde, dass die Funktionalität machbar ist, und dass Sie bei Bedarf die Details seiner Implementierung lesen können.
** ・ Verlieren Sie sich nicht in externen Spezifikationen. ** **. Es ahmt eine Bibliothek nach, die auf ihre Nützlichkeit überprüft wurde, und geht zumindest nicht in externen Spezifikationen verloren. Wenn Ihnen die externen Spezifikationen bekannt sind, können Sie die Notwendigkeit verringern, neue Dinge zu lernen, um die Bibliothek zu verwenden. Beispiel: Die Bibliothek in matplotlib ähnelt den Zeichenfunktionen in MATLAB. Wenn Sie MATLAB-Zeichenfunktionen verwendet haben, werden Sie bald mit der Verwendung von matplotlib vertraut sein. Auch wenn Sie MATLAB noch nie verwendet haben, wird eine Bibliothek, die auf ihre Nützlichkeit ausgelegt ist, ansprechend sein. (Persönliche Meinung: Es ist schade, dass Excel-Diagramme viele Einschränkungen aufweisen, z. B. das Fehlen einer Histogramm-Zeichenfunktion.)
Es ist sehr wichtig, welche Art von Bibliothek verwendet werden soll. Wissen, welche Implementierungen für die gewünschte Verarbeitung in verschiedenen Sprachen verfügbar sind. Es ist auch effektiv, die Stimmen von Personen zu hören, die andere Verarbeitungssysteme und Bibliotheken verwenden, um die Verarbeitungssysteme zu kennen, die Sie normalerweise nicht verwenden.
Die externen Spezifikationen der Bibliothek umfassen gutes und schlechtes Design in Bezug auf Methodennamen, Argumentreihenfolge und Rückgabewertdatenformat. Zum Beispiel. Einer der Gründe, warum die Bibliothek für maschinelles Lernen von scikit-learn nützlich ist, ist die Verwendung derselben Schnittstelle, unabhängig von der Art des Algorithmus für maschinelles Lernen. Der Punkt ist, dass es möglich ist.
estimator.fit(X_train, y_train) y_test_predict[name] = estimator.predict(X_test)
Wenn dies für jede Methode unterschiedlich ist, scikit-learn, Methodenname, Argumentdatenformat, Argumentreihenfolge und Rückgabewertformat Sollte nicht so viel Nützlichkeit gewinnen.
Verwenden Sie beim Erstellen einer neuen Bibliothek die bereits verifizierten und gestalteten Ideen.
Referenz-URL Beispielcode, der für mehrere Modelle mit scikit-learn passt () und vorhersagt () [Face completion with a multi-output estimators] (http://scikit-learn.org/stable/auto_examples/plot_multioutput_face_completion.html)
Recommended Posts