rollingrank
J'ai créé une bibliothèque python appelée rollingrank qui calcule le rang dans la fenêtre déroulante, je vais donc la présenter. Veuillez utiliser avec kaggle. Veuillez signaler un bogue dans le problème sur github.
Dépôt https://github.com/contribu/rollingrank
Dans le problème que je résolvais Faire du classement dans la fenêtre déroulante une quantité de caractéristiques était la clé pour obtenir des performances de généralisation. Je pense que le fait est que la distribution n'est pas biaisée en fonction du temps.
Bien que cela semble utile (je ne sais pas si c'est utile en général car je ne connais que mon cas) Je ne vois pas grand-chose dans la région de Kaggle.
La raison peut être qu'il n'est pas facile à utiliser. Avec cette bibliothèque, vous pouvez facilement utiliser le classement glissant, alors pourquoi ne pas essayer de l'utiliser pour le problème que vous résolvez maintenant?
pip install rollingrank
import numpy as np
import rollingrank
#La saisie d'un tableau numpy renverra un tableau numpy de la même longueur.
x = np.array([0.1, 0.2, 0.3, 0.25, 0.1, 0.2, 0.3])
y = rollingrank.rollingrank(x, window=3)
print(y)
# [nan nan 2. 1. 0. 1. 2.]
#Avec PCT,[0, 1]Reviendra avec
y = rollingrank.rollingrank(x, window=3, pct=True)
print(y)
# [nan nan 1. 0.5 0. 0.5 1. ]
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.rank.html
Parmi les méthodes définies dans, vous pouvez utiliser average, min, max, d'abord en les passant avec l'option method.
Je voulais faire quelque chose avec une quantité de calcul O (n * log (w)). Quand j'ai regardé attentivement après sa mise en œuvre, c'était O (n * w). Si vous concevez un arbre d'équilibrage, vous devriez pouvoir le rendre O (n * log (w)). Quelqu'un s'il vous plaît.
Il semble bon de modifier quelque chose comme ce qui suit. https://github.com/mpaland/avl_array
Comment créer une bibliothèque pip: https://blog.amedama.jp/entry/packaging-python
rolling rank: https://github.com/pandas-dev/pandas/issues/9481
Pybind11 était pratique pour la liaison avec C ++.
Recommended Posts