Функция должна считывать несколько массивов и вычислять апостериорную вероятность последнего массива относительно предыдущих массивов. - PullRequest
0 голосов
/ 27 февраля 2020

Я очень старался, я мог сделать это, как если бы входные массивы были A, B, C. Я был в состоянии генерировать P (C / A), P (C / B). Но актуальная проблема заключается в генерации P (C | A, B). И никакие входные массивы не фиксируются. может варьироваться от 1-5. Пожалуйста, помогите мне с логикой c, чтобы код мог быть надежным.

Вот мой код:

def conditional_probabilities(*argv):
    with_respect_to = argv[-1]
    result = []
    for arg in argv:
        if (arg.all() == with_respect_to.all()):
            break
        else:
            unique = arg.unique()
            for i in unique:
                total = 0
                series = pandas.Series(dtype='float64')
                for j in range(0, len(arg)):
                    if arg[j] == i:
                        total = total + 1
                        series.at[total] = with_respect_to[j]
                count = series.value_counts()
                for j in with_respect_to.unique():
                    try:
                        result.append([i, j, round(count[j]/total,3)])
                    except KeyError as e:
                        result.append([i, j, round(0/total,3)])

    return result

Косвенно это генерирует Таблицу условных вероятностей.

...