字符串核函数的简单python实现

要对字符串聚类,字符串的距离度量是一个问题.

使用最长公共子序列或者最长公共字串都有问题.

看到字符串核函数,感觉还不错,没找到它的实现,自己实现了一个效率低下的版本.


def list2dict(li):
    '''
    [[3,4],[3,5],[4,2]]->{3:[4,5],4:[2]}
    '''
    di = {i[0]: [] for i in li}
    for i in li:
        di[i[0]].append(i[1])
    return di

def nIncreasingIndex(s, e, n):
    x = range(s, e)
    if n < 1:
        return []
    if n == 1:
        return [[i] for i in x]
    if s == e:
        return []
    ans = []
    for i in x:
        for j in nIncreasingIndex(i + 1, e, n - 1):
            j.insert(0, i)
            ans.append(j)
    return ans


def getItemsOfIndexs(li, indexs):
    return [li[i] for i in indexs]

def stringKernel(a, b, n, lambdaa):
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值