Какой метод я могу использовать? - PullRequest
0 голосов
/ 20 сентября 2019

Я работаю с anaconda, чтобы следующий код вывел коэффициент корреляции между двумя матрицами.Первая матрица прочитала 16 файлов матрицы слева вверху.Сумма состоит в том, чтобы получить среднее значение для сравнения с результатом другого файла

`` `python
for i in range(0,16):
    i = i + 5
    file = pd.read_csv(path,header=None)
    file=file.fillna(0)
    file = pd.DataFrame(file)
    matrix = np.matrix(file)
    matrix = np.flip(matrix, 1)
    b = np.copy(matrix) 
    b = np.swapaxes(b, 1, 0)
    np.fill_diagonal(b, 0)
    c = matrix + b
    sum = c.sum(0) / c.shape[0]
    sum=pd.DataFrame(sum)
    file2 = pd.read_csv(path,header=None)
    file2=pd.DataFrame(file2)
    file2 = file2.drop(file2.columns[48], axis=1)

` ``

коэффициент корреляции между двумя файлами, если сумма представляет собой матрицу (1,48), а файл2 представляет собой матрицу (16,48).

1 Ответ

1 голос
/ 20 сентября 2019

Я провел небольшое исследование, и надеюсь, что ниже поможет:

  1. numpy.corrcoef
numpy.corrcoef(x, y=None, rowvar=True, bias=<no value>, ddof=<no value>)

Возврат продукта Pearsonкоэффициенты корреляции моментов.

Вычисление коэффициента корреляции между двумя многомерными массивами

Корреляция (по умолчанию «действительный» случай) между двумя двумерными массивами:

Вы можете просто использовать матричное умножение np.dot следующим образом -

out = np.dot(arr_one,arr_two.T)

Корреляция с "действительным" регистром по умолчанию между каждой парной комбинацией строк (row1, row2) двух входных данныхмассивы будут соответствовать результату умножения в каждой позиции (row1, row2).

Пожалуйста, уточните свой вопрос на случай, если я неправильно понял.

...