Ich habe historische Kaufdaten für einige 10k Kunden für 3 Monate, ich möchte diese Daten für Vorhersagen über ihren Kauf in den nächsten 3 Monaten verwenden. Ich verwende Kunden-ID als Eingabevariable, wie ich möchte, dass xgboost für einzelne Ausgaben zwischen verschiedenen Kategorien lernt. Gibt es eine Möglichkeit, zu optimieren, so dass es wichtig ist, basierend auf jedem einzelnen Kauf mehr zu lernen? Oder besser, dieses Problem anzugehen?Wie kann ich xgboost optimieren, um einer Variablen mehr Gewicht zuzuweisen?
Antwort
Sie können den Gewichtsvektor verwenden, den Sie übergeben können in weight
Argument in xgboost; ein Vektor mit der Größe nrow(trainingData)
. Dies wird jedoch im Allgemeinen verwendet, um Fehler in der Klassifizierung Fehler zu bestrafen (denken Sie an spärliche Daten mit Artikeln, die Verkauf nur sagen, einmal im Monat oder so; Sie wollen die Verkäufe lernen dann müssen Sie mehr Umsatz Verkaufsinstanz geben oder sonst alle Vorhersage wird Null). Anscheinend versuchen Sie tweak
Gewicht der unabhängigen Variable, die ich nicht gut verstehen kann.
Lernen Sie das Verhalten der abhängigen Variable (Verkauf in Ihrem Fall) ist was Machine Learning-Modell tun, sollten Sie es seine Arbeit machen lassen. Sie sollten es nicht zwicken, um zu erzwingen, nur von einigen Funktionen zu lernen. Für das Lernen von Kaufverhalten Clustering Art von unbeaufsichtigten Techniken werden mehr nützlich sein.
Um ein benutzerspezifisches Verhalten einzubeziehen, wird zunächst ein Clustering durchgeführt und die Kategorien für jeden Benutzer in den Kategorien "indiziert" und "überindiziert" identifiziert. Dann können Sie mithilfe dieser Flags ein kategorisches Feature erstellen.
PS: Einige Daten zur Erklärung Ihres Problems können anderen helfen, Ihnen besser zu helfen.
- 1. Weg, um mehr als 1000 Leistungspunkte zuzuweisen?
- 2. Meta-Box-Plugin verwenden, um URL einer Variablen zuzuweisen
- 3. Versuch, Inhalt einer Variablen den Parametern zuzuweisen [:
- 4. Wie kann ich active_admin optimieren
- 5. Der Wert einer Variablen in JavaScript kann nicht verwendet werden, um einer Java-Variablen einen Wert zuzuweisen.
- 6. Wie Wert WENIGER Variablen zuzuweisen Selektor
- 7. mehr Gewicht zu einer Funktion mit sklearn SVM geben
- 8. Kann ich das Beschreibungsattribut verwenden, um Etikettentext zuzuweisen?
- 9. Den Wert einer Funktion zurücksenden, ohne sie einer Variablen zuzuweisen
- 10. Wie kann ich dieses Menü optimieren?
- 11. wie ich meine mysql Abfrage optimieren kann
- 12. Wie kann ich unter Abfrage optimieren?
- 13. XGBoost Kategoriale Variablen: Dummy vs Codierung
- 14. Wie kann ich die Dojo-Ladezeit optimieren?
- 15. Lucene.Net: Wie kann ich einem Begriff zusätzliches Gewicht hinzufügen?
- 16. Wie kann ich diese MySQL-Abfrage optimieren?
- 17. Wie kann ich inkrementelles Training für xgboost implementieren?
- 18. Wie kann ich diese Abfragen optimieren?
- 19. Wie kann ich für IE optimieren?
- 20. Wie kann ich diese bestimmte Abfrage optimieren?
- 21. Wie kann ich den Code optimieren?
- 22. Wie kann ich diesen Java Code optimieren?
- 23. Wie kann ich diesen Code optimieren?
- 24. Wie kann ich meinen SQL-Code optimieren?
- 25. Wie kann ich die 'IN' Abfrage optimieren?
- 26. Sollen Variablen wiederverwendet werden, um die Ressourcennutzung zu optimieren?
- 27. Wie kann ich diese Farbdifferenzfunktion weiter optimieren?
- 28. Wie kann ich meinen BinaryWriter optimieren?
- 29. Wie kann ich diese Abfrage optimieren?
- 30. Wie kann ich diese Abfrage optimieren?
Ich denke, die Anfrage ist, Merkmale nicht Einzelpersonen zu gewichten, dh sicherzustellen, Modelle enthalten leichter einige Variablen im Zusammenhang mit Mengen anstelle von anderen Variablen wie Anzahl der Käufe oder einfachen Produktbesitz zum Beispiel. –
Wie Eric oben erwähnt, das Ziel ist, ich möchte den Benutzern ein gewisses Gewicht geben, so dass die Funktionen xgboost lernt, hat auch einige sagen, der individuelle Trend, anstatt alle generalisierten Trend über die Gruppe von Benutzern. – muni
ja .. Ich habe versucht, beide Fragen zu beantworten ... Gewichte möglich auf Rekord, aber nicht auf Feature .. ein wenig Gewicht der Funktion wird das Modell weniger leistungsfähig, dh. wenn Sie die erste Bruchstelle des Baumes kennen (am meisten imp); das Teilen von Daten durch sie und das Lernen wird gut sein. Bäume sind da, um hohe Varianz von einzelnen Bäumen wie CART zu entfernen. Forcing-Variable wird hohe Varianz induzieren. Man kann die Skalierung nicht machen und eine Variable imp machen als andere in Regressionsform Hier, weil Bäume maßstabsunabhängig sind ... Ich habe versucht, zu sagen, dass ich nicht an Feature Imps denke. – abhiieor