TF-IDF:n Toteuttaminen
Oletustoteutus
TF-IDF-mallin toteutus sklearn-kirjastossa on samanlainen kuin bag of words -mallin. Mallin kouluttamiseen korpuksella käytetään TfidfVectorizer-luokkaa ja tuttua .fit_transform()-metodia.
123456789101112131415from sklearn.feature_extraction.text import TfidfVectorizer import pandas as pd corpus = [ 'Global climate change poses significant risks to global ecosystems.', 'Global warming and climate change demand urgent action.', 'Sustainable environmental practices support environmental conservation.', ] # Create a default TF-IDF model vectorizer = TfidfVectorizer() # Generate a TF-IDF matrix tfidf_matrix = vectorizer.fit_transform(corpus) # Convert a sparse matrix into a DataFrame tfidf_matrix_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out()) print(tfidf_matrix_df)
Luokan vaihtamisen lisäksi toteutus on identtinen bag of words -mallin kanssa. Oletuksena TF-IDF-matriisi lasketaan käyttäen L2-normalisointia.
TF-IDF:n mukauttaminen
Samoin kuin CountVectorizer-menetelmässä, voimme määrittää min_df- ja max_df-parametrit sisällyttääksemme vain ne termit, jotka esiintyvät vähintään min_df ja enintään max_df dokumentissa. Nämä voidaan määrittää joko absoluuttisina dokumenttimäärinä tai osuuksina koko dokumenttimäärästä.
Tässä esimerkissä sisällytetään vain ne termit, jotka esiintyvät tarkalleen kahdessa dokumentissa asettamalla sekä min_df että max_df arvoon 2:
12345678910111213from sklearn.feature_extraction.text import TfidfVectorizer import pandas as pd corpus = [ 'Global climate change poses significant risks to global ecosystems.', 'Global warming and climate change demand urgent action.', 'Sustainable environmental practices support environmental conservation.', ] # Include terms which appear in exactly 2 documents vectorizer = TfidfVectorizer(min_df=2, max_df=2) tfidf_matrix = vectorizer.fit_transform(corpus) tfidf_matrix_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out()) print(tfidf_matrix_df)
Voimme määrittää matriisiin sisällytettävät n-grammit käyttämällä ngram_range-parametria. Sisällytetään vain bigrammit tulosmatriisiin:
12345678910111213from sklearn.feature_extraction.text import TfidfVectorizer import pandas as pd corpus = [ 'Global climate change poses significant risks to global ecosystems.', 'Global warming and climate change demand urgent action.', 'Sustainable environmental practices support environmental conservation.', ] # Include only bigrams vectorizer = TfidfVectorizer(ngram_range=(2, 2)) tfidf_matrix = vectorizer.fit_transform(corpus) tfidf_matrix_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out()) print(tfidf_matrix_df)
Nämä ovat yleisimmin käytetyt parametrit, mutta jos haluat tutustua niihin tarkemmin, voit katsoa dokumentaatiosta.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 3.45
TF-IDF:n Toteuttaminen
Pyyhkäise näyttääksesi valikon
Oletustoteutus
TF-IDF-mallin toteutus sklearn-kirjastossa on samanlainen kuin bag of words -mallin. Mallin kouluttamiseen korpuksella käytetään TfidfVectorizer-luokkaa ja tuttua .fit_transform()-metodia.
123456789101112131415from sklearn.feature_extraction.text import TfidfVectorizer import pandas as pd corpus = [ 'Global climate change poses significant risks to global ecosystems.', 'Global warming and climate change demand urgent action.', 'Sustainable environmental practices support environmental conservation.', ] # Create a default TF-IDF model vectorizer = TfidfVectorizer() # Generate a TF-IDF matrix tfidf_matrix = vectorizer.fit_transform(corpus) # Convert a sparse matrix into a DataFrame tfidf_matrix_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out()) print(tfidf_matrix_df)
Luokan vaihtamisen lisäksi toteutus on identtinen bag of words -mallin kanssa. Oletuksena TF-IDF-matriisi lasketaan käyttäen L2-normalisointia.
TF-IDF:n mukauttaminen
Samoin kuin CountVectorizer-menetelmässä, voimme määrittää min_df- ja max_df-parametrit sisällyttääksemme vain ne termit, jotka esiintyvät vähintään min_df ja enintään max_df dokumentissa. Nämä voidaan määrittää joko absoluuttisina dokumenttimäärinä tai osuuksina koko dokumenttimäärästä.
Tässä esimerkissä sisällytetään vain ne termit, jotka esiintyvät tarkalleen kahdessa dokumentissa asettamalla sekä min_df että max_df arvoon 2:
12345678910111213from sklearn.feature_extraction.text import TfidfVectorizer import pandas as pd corpus = [ 'Global climate change poses significant risks to global ecosystems.', 'Global warming and climate change demand urgent action.', 'Sustainable environmental practices support environmental conservation.', ] # Include terms which appear in exactly 2 documents vectorizer = TfidfVectorizer(min_df=2, max_df=2) tfidf_matrix = vectorizer.fit_transform(corpus) tfidf_matrix_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out()) print(tfidf_matrix_df)
Voimme määrittää matriisiin sisällytettävät n-grammit käyttämällä ngram_range-parametria. Sisällytetään vain bigrammit tulosmatriisiin:
12345678910111213from sklearn.feature_extraction.text import TfidfVectorizer import pandas as pd corpus = [ 'Global climate change poses significant risks to global ecosystems.', 'Global warming and climate change demand urgent action.', 'Sustainable environmental practices support environmental conservation.', ] # Include only bigrams vectorizer = TfidfVectorizer(ngram_range=(2, 2)) tfidf_matrix = vectorizer.fit_transform(corpus) tfidf_matrix_df = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out()) print(tfidf_matrix_df)
Nämä ovat yleisimmin käytetyt parametrit, mutta jos haluat tutustua niihin tarkemmin, voit katsoa dokumentaatiosta.
Kiitos palautteestasi!