I default per min_df e max_df sono 1 e 1,0, rispettivamente. Queste impostazioni predefinite in realtà non fanno nulla.
Detto questo, credo che la risposta attualmente accettata dalla risposta di @Ffisegydd non sia del tutto corretta.
Ad esempio, eseguire questa operazione utilizzando le impostazioni predefinite, vedere che quando min_df=1
e max_df=1.0
, quindi
1) tutti i gettoni che appaiono in almeno un documento vengono utilizzati (ad esempio, tutti i gettoni!)
2) vengono utilizzati tutti i token visualizzati in tutti i documenti (testeremo con un candidato: ovunque).
cv = CountVectorizer(min_df=1, max_df=1.0, lowercase=True)
# here is just a simple list of 3 documents.
corpus = ['one two three everywhere', 'four five six everywhere', 'seven eight nine everywhere']
# below we call fit_transform on the corpus and get the feature names.
X = cv.fit_transform(corpus)
vocab = cv.get_feature_names()
print vocab
print X.toarray()
print cv.stop_words_
otteniamo:
[u'eight', u'everywhere', u'five', u'four', u'nine', u'one', u'seven', u'six', u'three', u'two']
[[0 1 0 0 0 1 0 0 1 1]
[0 1 1 1 0 0 0 1 0 0]
[1 1 0 0 1 0 1 0 0 0]]
set([])
Tutti i gettoni sono conservati. Non ci sono stopwords.
Ulteriori trucchetti con gli argomenti chiariranno altre configurazioni.
Per divertimento e intuizione, consiglierei anche di giocare con stop_words = 'english'
e visto che, in particolare, tutte le parole tranne "sette" vengono rimosse! Compreso "ovunque".
Questo è confuso. La documentazione di 'min_df' dice 'ignora i termini che hanno una frequenza del documento ** strettamente inferiore ** rispetto alla soglia indicata.' Quindi la frequenza strettamente inferiore al valore predefinito di 1 significherebbe ignorare termini che non appaiono mai (!) Ma mantenere termini che appaiono una volta. –
@MonicaHeddneck è corretto. Questa risposta interpreta erroneamente i significati precisi di 'min_df' e' max_df'. Ho aggiunto una risposta che spiega esattamente come questi parametri sono interpretati da CountVectorizer. –