Je travaille avec quelques corpus inclus dans nltk-data de nltk pour comprendre certains algorithmes.Python IDE ou module qui met en cache les résultats?
Donc, mon code serait généralement quelque chose du style:
import re, nltk, random
from nltk.corpus import reuters
def find_test_and_train_data():
return [fileid for fileid in reuters.fileids() if re.match(r"^training/", fileid)], [fileid for fileid in reuters.fileids() if re.match(r"^test/", fileid)]
def generate_random_data(train_and_test_fileids):
random.seed(348) ; random.shuffle(train_and_test_fileids[0])
return train_and_test_fileids[0][2000:], train_and_test_fileids[0][:2000]
def fileid_words(fileid):
return [word.lower() for line in reuters.words(fileid) for word in line.split() if re.match('^[A-Za-z]+$', word)]
if __name__ == '__main__':
train_fileids, dev_fileids = generate_random_data(find_test_and_train_data())
train_data=fileid_words(train_fileids)
dev_data=fileid_words(dev_fileids)
Donc, si je le lance dans un interpréteur interactif alors je peux effectuer des tâches sur train_data
, dev_data
et leurs fileids correspondants sans repeupler les variables (un tâche très longue).
Cependant, je veux être capable de l'écrire dans un fichier .py afin que je puisse enregistrer des algorithmes statistiquement intéressants. Je peux le faire en tapant deux fois, par exemple: quand j'obtiens une fonction fonctionnant dans l'interpréteur, je la copie puis la colle dans le fichier .py, mais c'est assez inefficace et je perds les fonctionnalités de mes IDE .
Existe-t-il des IDE ou des modules Python qui peuvent automatiquement conserver le script Python en mémoire ou stocker la valeur d'une variable, telle que test_data
, dans une base de données?
Merci pour toutes les suggestions
Le décodage est-il beaucoup plus rapide que le traitement avec '.words()' de NLTK? –
Je m'y attendais, mais il devrait être assez facile de faire un test en utilisant le code ci-dessus. –