TF-IDF med scikit-learn
Vektoriser et korpus med få linjer
TF-IDF med scikit-learn er en gratis NLP Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i NLP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. NLP Academy-kurset indeholder 4 lektioner i alt.
Du behøver ikke kode det manuelt
Du forstår matematikken, så lad nu scikit-learn klare det tunge arbejde. Dens TfidfVectorizer omdanner rå dokumenter til en vægtet matrix på få linjer.
Importér vektoriseringen
Alt findes i modulet feature_extraction.text. Importér TfidfVectorizer, så er du klar til at vektorisere enhver liste med tekststrenge.
from sklearn.feature_extraction.text import TfidfVectorizerDit korpus er en liste
Et korpus er blot en Python-liste med strenge, én for hvert dokument. Hver post indeholder hele den tekst, du vil score og sammenligne.
corpus = [
"the cat sat on the mat",
"the dog chased the cat",
]Tilpas og transformér
Kald fit_transform for at lære ordforrådet og beregne TF-IDF i ét trin. Den returnerer en sparsom matrix med vægtede egenskaber.
vec = TfidfVectorizer()
X = vec.fit_transform(corpus)
print(X.shape)Hvad fit lærte
Fit-trinnet opbygger ordforrådet og IDF-værdierne ud fra dit korpus. Herefter kender vektoriseringen hver term og ved, hvor sjælden den er.
Undersøg ordforrådet
Du kan vise de indlærte egenskabsnavne som kolonner. get_feature_names_out viser hvert ord i ordforrådets rækkefølge. 🔎
print(vec.get_feature_names_out())Outputtet er sparsomt
De fleste dokumenter bruger kun få ord, så matrixen består for det meste af nuller. scikit-learn gemmer den som en hukommelsesbesparende sparsom matrix som standard.
Kig på de faktiske tal
Konvertér en række til et tæt array for faktisk at kunne læse vægtene. Fyldordene tæt på nul og emneordene træder tydeligt frem.
print(X.toarray()[0].round(3))Justér med parametre
Praktiske indstillinger lader dig straks frasortere sjældne eller almindelige termer. Indstil min_df og stop_words for at rydde op i ordforrådet, mens du vektoriserer.
vec = TfidfVectorizer(stop_words="english", min_df=2)Genbrug på ny tekst
Tilpas én gang på træningsdata, og kald derefter transform på nye dokumenter. Ny tekst afbildes i præcis det samme ordforråd og på den samme IDF-skala.
new_docs = ["a new cat appeared"]
X_new = vec.transform(new_docs)Klar til en model
Denne vægtede matrix kan bruges direkte som input til enhver klassifikator i scikit-learn. TF-IDF-egenskaber er en stærk og hurtig grundlinje til virkelige tekstopgaver.
Hurtigt tjek
Hvilken metode lærer ordforrådet og beregner TF-IDF-matrixen på samme tid?
Opsummering
Du importerede TfidfVectorizer, tilpassede den til et korpus, undersøgte det sparsomme output og lærte at genbruge den på ny tekst. Matematikken klares nu med én linje. ✅
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “TF-IDF med scikit-learn” gratis?
Ja — alle 3 lektioner i læringssporet NLP Academy, inklusive “TF-IDF med scikit-learn”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. NLP Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “TF-IDF med scikit-learn”?
Vektoriser et korpus med få linjer Du øver dig i NLP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på NLP Academy?
Der kræves ingen tidligere erfaring. NLP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “TF-IDF med scikit-learn”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne NLP Academy-lektion?
Ja. Alle NLP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Problemet med rå optællinger
- Termfrekvens og invers dokumentfrekvens
- TF-IDF med scikit-learn
- Find de vigtigste ord