Есть dataframe с данными
dat
cluster1 cluster2 cluster3 cluster4 cluster5 target.label
1 24 5 18 21 16 1
2 2 15 12 7 22 1
3 13 13 16 29 24 0
4 23 28 22 10 4 1
5 6 12 20 25 11 0
6 25 17 14 24 25 1
7 30 27 2 4 14 0
8 11 2 21 6 9 0
9 20 20 29 17 10 1
10 7 30 25 11 15 0
11 19 8 15 8 18 0
12 3 18 1 16 26 0
13 17 9 23 14 8 0
14 5 6 5 22 19 0
15 9 19 9 12 20 1
16 21 3 3 13 23 1
17 10 16 4 26 2 1
18 18 4 28 3 6 0
19 28 24 7 20 12 0
20 8 11 11 23 7 1
21 15 14 6 27 27 0
22 26 29 26 28 29 1
23 16 1 10 2 17 0
24 1 7 17 15 21 0
25 27 23 30 5 13 1
26 12 22 19 9 30 1
В данных у нас колонки с кластерами с диапазоном от 1 до 30 каждый и последняя колонка с целевой которая может иметь значения 0 или 1
нужно найти такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0"
типа так
cluster1 cluster2 cluster3 cluster4 cluster5 target.label
1 24 5 18 21 16 1
2 24 5 18 21 16 1
3 24 5 18 21 16 0
4 24 5 18 21 16 1
5 24 5 18 21 16 1
6 24 5 18 21 16 1
7 24 5 18 21 16 1
8 24 5 18 21 16 0
9 24 5 18 21 16 1
10 24 5 18 21 16 1
.....
.....
......
вот найденные одинаковые строчки единичек больше чем нулей...
как такое можно реализовать, и важно чтобы максимально быстро так как вычислений таких будет очень много
partykit. – Artem Klevtsov Nov 05 '16 at 09:57