Klicken Sie hier bis gestern
Sie werden in 100 Tagen Ingenieur - Tag 63 - Programmierung - Über Wahrscheinlichkeit 1
Sie werden in 100 Tagen Ingenieur - Tag 59 - Programmierung - Über Algorithmen
Sie werden in 100 Tagen Ingenieur --- Tag 53 - Git - Über Git
Sie werden in 100 Tagen Ingenieur - Tag 42 - Cloud - Über Cloud-Dienste
Sie werden in 100 Tagen Ingenieur - Tag 36 - Datenbank - Über die Datenbank
Sie werden Ingenieur in 100-Tage-24-Python-Grundlagen der Python-Sprache 1
Sie werden in 100 Tagen Ingenieur - Tag 18 - JavaScript - Grundlagen von JavaScript 1
Sie werden in 100 Tagen Ingenieur - 14. Tag - CSS - CSS-Grundlagen 1
Sie werden in 100 Tagen Ingenieur - Tag 6 - HTML - HTML-Grundlagen 1
Diesmal über TF-IDF.
"TF-IDF" ist die Indexwortfrequenz und die umgekehrte Dokumentfrequenz.
TF (Term Frequency)
Wortfrequenz und
IDF (Inverse Document Frequency)
Die Seltenheit von Wörtern
Es wird ein Produkt sein.
Referenz: https://ja.wikipedia.org/wiki/Tf-idf
Zählen wir zunächst die Anzahl der Wörter im Satz.
Machen Sie einen Satz zum Zählen.
result_list = []
result_list.append('Ich bin eine Katze')
result_list.append('Ich bin eine Katze')
result_list.append('Ich bin auch')
result_list.append('Bitte, bitte sei eine Katze')
Mit dem folgenden Code können Sie die Häufigkeit von Wortvorkommen zählen.
from sklearn.feature_extraction.text import CountVectorizer
import numpy as np
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
count_vectorizer = CountVectorizer(token_pattern='(?u)\\b\\w+\\b')
count_vectorizer.fit(result_list)
X = count_vectorizer.transform(result_list)
print(len(count_vectorizer.vocabulary_))
print(count_vectorizer.vocabulary_)
pd.DataFrame(X.toarray(), columns=count_vectorizer.get_feature_names())
8 {'Mein': 6, 'ist': 4, 'Katze': 7, 'in': 1, 'ist': 0, 'auch': 5, 'ist': 2, 'bitte': 3}
Gibt es | damit | ist | Bitte schön | Ist | Ebenfalls | ich | Katze | |
---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
2 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 |
3 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 1 |
Sie können zählen, wie oft ein Wort in jedem Satz vorkommt.
Als nächstes suchen wir TF-IDF.
Sie finden es mit dem folgenden Code.
from sklearn.feature_extraction.text import TfidfVectorizer
import warnings
import numpy as np
import pandas as pd
warnings.filterwarnings('ignore')
tfidf_vectorizer = TfidfVectorizer(token_pattern='(?u)\\b\\w+\\b')
tfidf_vectorizer.fit(result_list)
print(len(tfidf_vectorizer.vocabulary_))
print(tfidf_vectorizer.vocabulary_)
X = tfidf_vectorizer.fit_transform(result_list)
pd.DataFrame(X.toarray(), columns=tfidf_vectorizer.get_feature_names())
8 {'Mein': 6, 'ist': 4, 'Katze': 7, 'in': 1, 'ist': 0, 'auch': 5, 'ist': 2, 'bitte': 3}
Gibt es | damit | ist | Bitte schön | Ist | Ebenfalls | ich | Katze | |
---|---|---|---|---|---|---|---|---|
0 | 0.481635 | 0.481635 | 0 | 0 | 0.481635 | 0 | 0.389925 | 0.389925 |
1 | 0.481635 | 0.481635 | 0 | 0 | 0.481635 | 0 | 0.389925 | 0.389925 |
2 | 0 | 0 | 0.553492 | 0 | 0 | 0.702035 | 0.4481 | 0 |
3 | 0 | 0 | 0.35157 | 0.891844 | 0 | 0 | 0 | 0.284626 |
TF-IDF hat einen Wert zwischen 0 und 1. Der Wert dessen, was in vielen Sätzen erscheint, ist gering. Was in einem Satz häufig vorkommt, wird als wichtiges Wort angesehen.
Sie können sich das als ein Wort vorstellen, das seltener ist, wenn es sich 1 nähert.
Es gibt eine Methode zur Vektorisierung von Sätzen und eine Methode zur Berechnung der Seltenheit von Wörtern. Da die Sätze quantifiziert werden können, können Sie verschiedene Berechnungen durchführen.
Weil diese Methoden häufig beim maschinellen Lernen usw. verwendet werden. Lassen Sie uns den Namen unterdrücken und so weiter.
32 Tage bis Sie Ingenieur werden
HP von Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython