Cosine Сходство и проблема с форматированием вывода с использованием панд в Python - PullRequest
0 голосов
/ 19 июня 2019

Я выполняю косинусное сходство в 2 документах, а затем пытаюсь получить формат таблицы для вывода, в котором у нас есть один исходный документ, а затем целевой документ и его показатель сходства.Может кто-нибудь помочь мне сделать правильный формат стола, используя панд?Я новичок в машинном обучении.

def calculate_similarity(self, withdigits_source_rules, target_rules=[], threshold=0.7):
        """Calculates & returns similarity scores between given source rules & all
        the target rules"""
        if isinstance(target_rules, str):
            target_rules = [target_rules]


        source_vec = self.vectorize(withdigits_source_rules)
        results = []

        for rule in target_rules:
            target_vec = self.vectorize(rule)
            sim_score = self._cosine_sim(source_vec, target_vec)
            if sim_score > threshold:
                results.append({
                    'Score':sim_score,
                'Target doc':rule
                })

            # Sort results by score in desc order
            results.sort(key=lambda k : k['Score'] , reverse=True)

        return results

for rule in source_rules:
    sim_scores= ds.calculate_similarity(rule, target_rules)

d={'Source doc':rule,'Result':sim_scores}   
    df = pd.DataFrame(data=d)
    print(df)

Вывод в этом формате

    Source doc                      Result
0 Cars difference   {'Cosine Sim Score': 1.0, 'Target Rule': 'Cars difference'}

Source doc                      Result
0 Context     {'Cosine Sim Score': 1.0, 'Target Rule': 'Context'}
1 Context     {'Cosine Sim Score': 1.0, 'Target Rule': 'Context 1.1'}
2 Context     {'Cosine Sim Score': 1.0, 'Target Rule': 'Content'}
3 Context     {'Cosine Sim Score': 1.0, 'Target Rule': 'Contents'}

Я хочу, чтобы вывод был в табличном формате с использованием панд

   Source doc         |    Target doc                 |      score
0  Cars difference    |   Cars difference             |    1.000000


0 Context             |      Context                  |    1.000
1                     |      Context 1.1              |    1.000
2                     |      Content                  |    1.000
3                     |      Contents                 |    1.000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...