Как я могу использовать любой классификатор для классификации моих данных с каждой точкой данных, состоящей из набора плавающих значений? - PullRequest
0 голосов
/ 28 октября 2018

У меня есть данные в этом формате -

[0.266465 0.9203907 1.007363 ... 0. 0.09623989 0.39632136]

Это значение первой строки и первого столбца.

Это значение второго столбца первой строки:

[0,9042176 1.135085 1.2988662 ... 0. 0.13614458 0.28000486]

У меня 2200 таких строк, и я хочу обучитьклассификатор для определения того, что если два набора значений одинаковы или нет?

PS - это извлеченные векторные значения.

1 Ответ

0 голосов
/ 28 октября 2018

Если вы предполагаете, что отношение между двумя извлеченными векторами объектов является линейным, вы можете попробовать использовать корреляцию Пирсона :

import numpy as np
from scipy.stats import pearsonr

list1 = np.random.random(100)
list2 = np.random.random(100)

pearsonr(list1, list2)

Пример вывода:

(0.0746901299996632, 0.4601843257734832)

Если первое значение относится к корреляции (7%), второе к его значению (при> 0,05 вы принимаете нулевую гипотезу о том, что корреляция незначительна на уровне значимости альфа = 5%).И если векторы коррелируют, они будут похожи друг на друга.Подробнее о методе здесь .

Кроме того, я столкнулся с Нормализованной взаимной корреляцией , которая используется для определения сходства между изображениями (не эксперт, так что лучше проверьте это ).

...