欧式距离转为百分比

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值