[Python] Ich habe versucht, TF-IDF stetig zu berechnen

TF-IDF-Memo. Es ist viel einfacher, TfidfVectorizer zu verwenden , aber es ist auch zum Lernen geeignet. Wenn etwas seltsam ist, sag es mir bitte.

Zu berechnendes Dokument

hoge.txt


white black red
white white black
white black black black
white
#Vorbereitung
print(word_set)
['black', 'red', 'white']

print(doc_words)
[['white', 'black', 'red'], ['white', 'white', 'black'], ['white', 'black', 'black', 'black'], ['white']]
def tokenizer(word_set, doc_words):
    token_doc = []
    for words in doc_words:
        temp = []
        for w in words:
            temp.append(word_set.index(w))
        token_doc.append(temp)
    return token_doc

token_doc = tokenizer(word_set, doc_words)
#print(token_doc)

doc_num = len(token_doc)
#print(doc_num)
IDF = []
count = 0

import math

for j in range(len(word_set)):
    count = 0
    for d_list in token_doc:
        if j in d_list:
            count += 1
    IDF.append(math.log(doc_num / count) + 1)

TF_set = []
for doc in token_doc:
    TF = [0] * len(word_set)
    for t in doc:
        TF[t] += 1
    TF_set.append(TF)

TF_IDF_set = []
TF_IDF = []
for temp_TF in TF_set:
    for m in range(len(word_set)):
        TF_IDF.append(temp_TF[m] * IDF[m])
    TF_IDF_set.append(TF_IDF)
    TF_IDF = []
#Ergebnis
print(token_doc)
[[2, 0, 1], [2, 2, 0], [2, 0, 0, 0], [2]]

print(word_set)
['black', 'red', 'white']

print(TF_IDF_set)
[[1.2876820724517808, 2.386294361119891, 1.0], [1.2876820724517808, 0.0, 2.0], [3.8630462173553424, 0.0, 1.0], [0.0, 0.0, 1.0]]

Recommended Posts

[Python] Ich habe versucht, TF-IDF stetig zu berechnen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Python3-Standardeingabe habe ich versucht zusammenzufassen
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, Python zu berühren (grundlegende Syntax)
Ich habe Python> autopep8 ausprobiert
Ich habe versucht zu debuggen.
Ich habe Python> Decorator ausprobiert
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Als ich versuchte, Python3 in Atom einzuführen, blieb ich stecken
Ich habe versucht, PredNet zu lernen
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Fortsetzung ・ Ich habe versucht, Slackbot zu erstellen, nachdem ich Python3 studiert habe
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
Ich habe versucht, Drakues Poker in Python zu implementieren
Ich habe versucht, GA (genetischer Algorithmus) in Python zu implementieren
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich habe die C-Erweiterung von Python ausprobiert
Ich habe versucht, Pylint vorzustellen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
[Python] Ich habe versucht, Json von Tintenfischring 2 zu bekommen
jupyter ich habe es berührt
Ich habe versucht, StarGAN (1) zu implementieren.
Ich habe versucht, mit Python auf Google Spread Sheets zuzugreifen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe versucht, AOJs Integer-Theorie mit Python zu lösen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
Ich habe jeden Tag 13 LeetCode ausprobiert. Roman to Integer (Python, Go)
[Markov-Kette] Ich habe versucht, negative Emotionen in Python zu laden.
[Markov-Kette] Ich habe versucht, die Zitate in Python einzulesen.
Ich habe versucht "Wie man eine Methode in Python dekoriert"
[Python] Ich habe versucht, Tweets über Corona mit WordCloud zu visualisieren
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Mayungos Python Learning Episode 3: Ich habe versucht, Zahlen zu drucken
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe eine Stoppuhr mit tkinter mit Python gemacht