Как я могу получить вход и выход определить для этой программы - PullRequest
0 голосов
/ 17 апреля 2020

Я попробовал алгоритм 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...
...