In Kapitel 7 dieses Buches "TensorFlow Machine Learning Cookbook" der Autor in Verarbeitung von Daten fit_transform
Funktion von scikit lernen, tfidf
Features des Textes für das Training zu bekommen. Autor gibt alle Textdaten vor dem Trennen von Zug und Test zur Funktion. Ist es eine echte Aktion oder müssen wir die Daten zuerst trennen und dann tfidf fit_transform
auf Zug und transform
auf Test durchführen?tfidf auf allen Datensatz oder auf Trainingsdaten
Antwort
Ich habe das Buch nicht gelesen und bin mir nicht sicher, ob das tatsächlich ein Fehler im Buch ist, aber ich werde meine 2 Cent geben.
Gemäß der Dokumentation von Scikit-Learn, fit()
wird, um
Vokabeln lernen und idf von Trainingssatz.
Auf der anderen Seite, fit_transform()
um
zu
verwendet wird Vokabeln lernen und idf, Begriff-Dokument-Matrix zurück.
während transform()
Dokumente zu dokumentieren Zeit Matrix Wandelt zu.
Auf der Ausbildung legen Sie beide fit()
und transform()
(oder nur fit_transform()
, die beide Operationen schließt sich im Wesentlichen) anwenden müssen jedoch auf die Testinstanzen transform()
die Tests müssen Sie nur dann gesetzt (das heißt die Dokumente). Denken Sie daran,
dass Trainingssätze zu Lernzwecken verwendet werden (Lernen durch fit()
erreicht wird), während Set-Prüfung verwendet wird, um zu beurteilen, ob das gelernte Modell Datenpunkte gut an neuen ungesehen verallgemeinern kann.
Ja, das stimmt, wir sollten Testdaten nicht im Training verwenden. Wenn wir den gesamten Datensatz anpassen, bedeutet dies, dass wir Testdaten auf Trainingsebene verwenden. Auch das resultierende Vokabular ist auf diese zwei Arten unterschiedlich. – keramat
- 1. Cosinus-Ähnlichkeit auf TFIDF mit Apache Funke
- 2. Textklassifizierung. TFIDF und Naive Bayes?
- 3. Training trainiert seq2seq Modell auf zusätzliche Trainingsdaten
- 4. Trainingsdaten vs. Testdaten
- 5. TFIDF-Darstellung für ML-Datensatz im Coo-Format Python
- 6. Klassifizierung LDA gegen TFIDF
- 7. TfIdf Lernrate/Dokument Gewicht
- 8. Monitor auf allen Indizes
- 9. Einfügen Datensatz mit allen Werten als AutoIncrement oder Standard
- 10. GroupbyKey auf Spark-Datensatz
- 11. SQL JOIN auf allen
- 12. IBM Watson-Evaluierung - werden Trainingsdaten auf IBM Server hochgeladen/gespeichert?
- 13. TFIDF-Algorithmus für Python
- 14. Ist das korrekt tfidf?
- 15. rpart: Sind Trainingsdaten erforderlich
- 16. Layout auf allen Hauptlayout anzeigen
- 17. Großer Datensatz auf Sigma.js
- 18. Filter basierend auf allen Spalten
- 19. Tensorflow Splitting Trainingsdaten zu Chargen
- 20. Keras missdeutet Trainingsdaten Form
- 21. Gültiger Ansatz zum Generieren neuer Trainingsdaten aus einigen vorhandenen Trainingsdaten
- 22. Wie zeige ich Div oder Iframe auf allen Webseiten an?
- 23. TfIDf Vectorizer Gewichte
- 24. Tfidf Vectorizer funktioniert nicht
- 25. TFIDF in Python
- 26. nginx index.html auf allen url
- 27. HTML responsive auf allen Geräten
- 28. Scikit BinaryClassification Trainingsdaten Auswahl
- 29. -Datensatz erstellen, basierend auf Zustand
- 30. CodeIgniter - aktive Datensatz einfügen, wenn neu oder Update auf doppelte
Wenn Sie in solchen Szenarien immer denken, was in real-world Problem getan werden sollte. Dort behandeln Sie alle verfügbaren Daten als Zug und neue ungesehene Daten als Test. Jetzt, da die Testdaten in einem solchen Fall nicht verfügbar sind, was würden Sie tun. Der Prozess der Aufteilung der verfügbaren Daten in Zug und Test besteht darin, dieselben zu replizieren. –
@Vivek Kumar Ja, in der Tat meinen Sie, dass der Ansatz von fit_transform auf alle Daten nicht wahr ist, weil wir keine Daten in realen Problemen testen. – keramat
Ja. Passen Sie also nur fit() oder fit_transform() an Zugdaten an. –