1. 说明
项目中生成了每个数据的2048维的向量,计算出不同数据之间的欧式距离值。把这些欧式距离转化为百分比,利于查看。
2. 欧式距离值
0.19806965771678278 0062_04
0.34178271687627493 0062_00
0.35060763229637537 0062_03
0.4269194352275009 0062_02
0.7022175557782318 0068_22
0.710594292130457 0068_24
0.7156636741429231 0068_23
0.7276717736758359 0068_35
0.7295613604075948 0068_41
0.7397757313574217 0068_20
…
1.5741356628265 0050_12
1.5761342767308821 0463_05
1.5838463804229206 0616_01
1.584796408735232 0050_07
1.603939110799645 0050_06
1.6232077079596618 0008_05
1.6344103959904464 0050_11
1.6498361278461042 0132_01
1.6625825663058575 0050_08
1.674172428014646 0050_09
1.6758280673673376 0050_05
1.6782985457661348 0008_04
1.6921038383500178 0050_04
1.7087912467772888 0050_16
1.7089244260409628 0050_15
1.7162056993847348 0000_01
1.7230394285878816 0050_03
1.7236625616195862 0008_01
1.7310983215244211 0050_13
1.7551258833005385 0050_02
1.7987131609225677 0321_00
1.8952697928881173 0050_00
1.9095773184171039 0321_01
3. 计算相应数值
使用2.中(应该是测试数据集中的所有数据)计算出ɑ,β的值
import math
from sympy import *
if __name__ == '__main__':
x = symbols('x')
y = symbols('y')
print(solve([1 / (1 + math.e ** (x * 0.137 + y)) - 0.97, 1 / (1 + math.e ** (x * 2.08 + y)) - 0.05], [x, y]))
[(3.30444553216763, -3.92880772774223)]
4. 转化为百分比
import math
if __name__ == '__main__':
a = 3.30
b = -3.93
eD = [0.19806965771678278, 0.7022175557782318,
0.9179434108974527, 1.0667779744424364,
1.2016728968361416, 1.8952697928881173]
for i in range(len(eD)):
per = 1 / (1 + math.e ** (a * eD[i] + b))
print(per)
0.9636092107567681
0.8337834230931805
0.7111111519305119
0.6009998001741854
0.49112079367261535
0.08912300950279921