Ich versuche, vektorautoregressive (VAR) Modelle unter Verwendung der verallgemeinerten linearen Modellanpassungsverfahren anzupassen, die in scikit-learn enthalten sind. Das lineare Modell hat die Form y = X w , aber die Systemmatrix X hat eine sehr spezielle Struktur: es ist blockdiagonal und alle Blöcke sind identisch. Um die Leistung und den Speicherverbrauch zu optimieren, kann das Modell als Y = BW ausgedrückt werden, wobei B ein Block von X , und Y und W sind jetzt Matrizen anstelle von Vektoren. Die Klassen LinearRegression, Ridge, RidgeCV, Lasso und ElasticNet akzeptieren die letztere Modellstruktur ohne weiteres. Die Anpassung von LassoCV oder ElasticNetCV schlägt jedoch fehl, weil Y zweidimensional ist.
Ich habe Ссылка gefunden Aus dieser Diskussion gehe ich hervor, dass das Verhalten von LassoCV / ElasticNetCV beabsichtigt ist. Gibt es eine Möglichkeit, die Alpha / Rho-Parameter zu optimieren, abgesehen von der manuellen Implementierung der Kreuzvalidierung?
Außerdem erwarten die Bayesschen Regressionstechniken in scikit-learn auch, dass y eindimensional ist. Gibt es einen Weg dazu?
Hinweis: Ich verwende scikit-learn 0.14 (stabil)
Wie wichtig ist die Performance- und Speicheroptimierung, die mit dieser Formulierung der Regression erreicht wird? Da Ihre Neuformulierung scikit-learn bricht, würde ich es nicht wirklich eine Optimierung nennen ... Ich würde vorschlagen:
Ausführen der nicht optimierten Version und Warten (wenn möglich).
Git ziehen Sie den folgenden Code , der Ihr Problem angeblich löst. Es wird in der Konversation referenziert, die Sie aus dem Projekt "github" von scikit-learn gepostet haben. Siehe hier für Anweisungen zum Erstellen von Scikit-Lernen aus einem Git-Pull. Sie können dann den verzweigten scikit-learn-Speicherort zu Ihrem Python-Pfad hinzufügen und Ihre Regression mit dem geänderten Bibliothekscode ausführen. Achten Sie darauf, Ihre Erfahrungen und Probleme, die Sie begegnen, zu posten; Ich bin mir sicher, dass die Entwickler von scikit es begrüßen würden.
Tags und Links python machine-learning scikit-learn linear-regression model-fitting