python - 如何使用字典执行分类,其中每个键都是标签,每个值都是数据帧?

标签 python pandas dataframe machine-learning recurrent-neural-network

如果这个问题有明显的答案或者已经得到解答,请原谅我。我尝试尽我所能寻找答案,但没有成功。

这里的问题围绕着这样一个想法:有一个Python字典,其中包含用作标签的键和值,在本例中是包含时间序列信息的pandas数据帧。该程序的目标是对给定的输入数据帧进行分类,必须根据字典将标签应用于该数据帧。

我知道,从表面上看,这似乎是一个基于值的简单字典搜索,但真正的问题在于输入数据帧可能包含也可能不包含与字典相同的信息。因此,我计划使用机器学习——特别是 RNN(我对其他想法持开放态度,但这是我一次又一次被推荐的)——来执行这种分类。但是,由于我严重缺乏有关 RNN 算法以及降低作为输入的数据帧维度的知识,我陷入了困境。任何信息或建议将不胜感激。

更多信息:

为了更仔细地了解正在发生的情况,我在下面包含了一些数据

        *A1    *A2    *B1    *B2

*0     *104    *258    *190    *284

*1     *102    *258    *186    *286

*2     *100    *254    *178    *286

*3      *98    *252    *170    *282

*4      *94    *248    *158    *278

*5      *90    *244    *148    *274

就上下文而言,在上表中,第 0 - 5 行表示属性 A1、A2 等随时间的变化。这里,A1 和 A2 可以被认为是 X 和 Y 值,它们都描述了 A 的属性。因此,每一行可以被认为是分成 X 和 Y 分量的属性的位置。注意:为了显示主要概念,该表的列和行的大小都已减小,我认为除了处理能力之外,这不应该成为问题。

该表作为数据帧加载,该数据帧是字典中的值并具有标签“ZERO”。整个字典有 n 个项目,现在的目标是训练一个分类器,它可以将另一个数据帧作为输入并将其与标签匹配。例如,如果我提供了一个类似于上面的数据框,但值略有不同,假设它与上面的表格比任何其他表格最相似,我将如何让程序读出“零”。

有关上述“略有不同的值”含义的更多背景信息,我想提供下表。该表旨在像上面的表一样标记为“零”。

        *A1    *A2    *B1    *B2

*0     *107    *258    *192    *294

*1     *104    *259    *188    *296

*2     *103    *254    *180    *296

*3      *0      *0     *172    *292

*4      *97    *248    *160    *288

*5      *92    *244    *150    *284

数据的差异在于初始值可能略有不同,并且每个属性的不同时间戳(第0-5行)之间的变化可能与原始数据略有不同(即,原始数据帧可能是 7,而在输入数据帧中可能是 6、7 或 8)。但是,输入数据帧和匹配字典数据帧中数据的总体趋势应该大致相同。但是,在某些情况下,数据条目为零,表明该属性的行中没有实际数据。这就是我考虑使用 RNN 的原因,但我知道除此之外还有其他分类方法,并且愿意接受任何想法/建议。

谢谢,VA

如果您需要任何进一步说明或者问题没有意义,请告诉我。

编辑1: 添加了问题的更多信息和上下文。

编辑2: 添加了有关数据框中“略有不同的值”的更多信息

编辑3: 重读我的问题,我意识到我在谈论 RNN 而不是 KNN

最佳答案

我刚刚制作了一本字典,其中标签是描述性的,值是数据框:

df = pd.DataFrame([['2019-01-01',2,5],['2019-01-02',15,8],['2019-01-03',1,9],['2019-01-04',10,20],['2019-01-05',5,15]],columns = ['date','data1','data2'])
even = df[df['data1']%2==0]
odd= df[df['data1']%2==1]
dict1 = {'even':even,'odd':odd}

关于python - 如何使用字典执行分类,其中每个键都是标签,每个值都是数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59163453/

相关文章:

python - Pandas :具有多个索引的滚动总和(即面板数据)

python - 在数据框中每行创建多个新行

python - 在Python中,如何继承并重写类实例上的方法,并将新版本分配给与旧版本相同的名称?

python的re : return True if string contains regex pattern

python - 为什么此代码会导致 Excel 中出现按字母顺序排列的列列表?

r - 如何设置使用管道 %>% 运算符传递的数据框的行名称?

r - 使用 dplyr 按组添加零计数

python - 如何按分组总和划分 pandas 列中的元素

项目的 python 设置 - 循环导入/依赖注入(inject)

python - 使用 Imaplib 在 Python 中访问聊天文件夹