Я попробовал алгоритм TFIDF, но как я могу его сделать
Ввод в качестве цели и Вывод в качестве 5 реагентов
Я делюсь ссылкой Google файла данных.
https://docs.google.com/spreadsheets/d/1Vq8lGNjVIN_oVSN5fS8dIH5In4-vcpSB5IxxDAP5SzI/edit?usp=sharing
Кроме того, я делюсь своим рабочим кодом.
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
data = pd.read_csv("clean_o2h.csv", sep=",")
reactants = data["reactants"].tolist()
targets = data["targets"].tolist()
# TFIDF vector representation
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(targets)
# Taking first record as test sample X[0:1]
cosine_similarities = cosine_similarity(X[0:1], X).flatten()
# Extract top 5 similarity records
similarity = cosine_similarities.argsort()[:-5:-1]
for sim in similarity:
print(reactants[sim])
The output I am getting is :
NC1=NC(C)=C(C2=CC=C(S(=O)(C)=O)C(F)=C2)S1.O=C(N1C=CN=C1)N2C=CN=C2>C(Cl)Cl
NC1=NC(C)=C(C2=CC=C(S(=O)(C)=O)C(F)=C2)S1.O=C(N1C=CN=C1)N2C=CN=C2>C(Cl)Cl
CC(N1C=NC(CCN)=C1)C.O=C(N1C=CN=C1)NC2=NC(C)=C(C3=CC=C(S(=O) (C)=O)C(F)=C3)S2>CN(C)C=O.CCN(CC)CC
O=C(C1=NC(NC2=NC3=C(S2)C=CC=C3)=CC=C1)OCC.[Na+].[OH-]>O1CCOCC1
Но мое требование
Input : Target value[0]
output : Reactant 1,Reactant 2,Reactant 3 and so on...