gpt4 book ai didi

从数据列表中预测最有可能的项目的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:43:15 26 4
gpt4 key购买 nike

假设我有 N 个已知列表。每个列表都有可能重复的项目(不是集合)例如:

{A,A,B,C}, {A,B,C}, {B,B,B,C,C}

我需要一些算法(也许是一些机器学习算法?)来回答以下问题:

给定一个新的和未知的部分项目列表,例如 {A,B},根据我从之前的列表中知道的信息,C 出现在列表中的概率是多少。如果可能的话,我想要一个更细粒度的概率:给定一些部分列表 L,C 在列表中出现一次的概率是多少,它出现两次的概率是多少,等等......顺序无关紧要。 C 在 {A,B} 中出现两次的概率应该等于它在 {B,A}

中出现两次的概率

有什么算法可以做到这一点?

最佳答案

这只是纯数学,没有实际的“算法”,只是估计数据集中的所有概率(字面意思是计算出现的次数)。特别是你可以做非常简单的数据结构来实现你的目标。将每个“列表”表示为字母袋,因此:

{A,A,B,C} -> {A:2, B:1, C:1}
{A,B} -> {A:1, B:1}

等并创建某种基本的反向索引,例如分别为每个字母保留索引,并按其计数排序。

现在,当出现查询时,例如 {A,B} + C,您所做的就是搜索至少包含 1 个 A 和 1 个 B 的数据(使用您的索引),并且然后通过计算包含 C(或恰好一个 C)的检索结果与所有检索结果的比例来估计概率(假设您的数据是来自某些基础数据生成分布的一堆独立样本,这是一个有效的概率估计)。

或者,如果您的字母表非常小,您实际上可以为所有字母组合预先计算所有值 P(C|{A,B}) 等。

关于从数据列表中预测最有可能的项目的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39280825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com