Создание дистрибутива с использованием Python - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь написать функцию, которая помогает обусловливать распределение вероятностей, удаляя пары «ключ-значение» в словаре, которых нет в наборе параметров, поэтому корректирую оставшиеся значения «ключ» так, чтобы они складывались как 1Моя проблема возникает, когда я запускаю тестовый скрипт, который говорит: «TypeError: 'set' объект недопустим».Вот мой код ...

class Distribution(object):

    def __init__(self, dist):
        if isinstance(dist, dict):
            self.d = dist
        elif isinstance(dist, tuple):
            self.d = {}
            n = len(dist[0])
            for i in range(n):
                self.d.setdefault(dist[0][i], dist[1][i])
        else:
            self.d = {}
            n = len(dist)
            for elem in dist:
                self.d.setdefault(elem, 1/n)

    def condition(self, set):
        sums = sum(self.d.values())
        for k in set:
            if self.d[k] != set[k]:
                self.d.pop(k)
            self.d[k] = self.d[k] / sums
        return None
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...