Как использовать свой собственный файл вместо набора данных в этом коде

Я реализую этот код, и это дает мне вывод corrent, но я хочу сохранить эти четыре строки "набора данных" в файле и затем использовать его. Как я могу это сделать? Как я могу использовать свой собственный файл вместо набора данных вручную?

from naiveBayesClassifier import tokenizer

from naiveBayesClassifier.trainer import Trainer

from naiveBayesClassifier.classifier import Classifier

nTrainer = Trainer(tokenizer)


dataSet =[
    {'text': 'hello everyone', 'category': 'NO'},

    {'text': 'dont use words like jerk', 'category': 'YES'},

    {'text': 'what the hell.', 'category': 'NO'},

    {'text': 'you jerk','category': 'yes'},


]

for n in dataSet:

    nTrainer.train(n['text'], n['category'])

nClassifier = Classifier(nTrainer.data, tokenizer)
.
unknownInstance = "Even if I eat too much, is not it possible to lose some weight"

classification = nClassifier.classify(unknownInstance)

print classification

2 ответа

Вы можете сохранить набор данных в виде файла JSON, а затем загрузить его в свой код Python:

import json


with open('data.json') as f:
    dataSet = json.loads(f.read())

    # Use dataset.

Эта линия, кажется, делает большую часть работы по обучению.

nTrainer.train(n['text'], n['category'])

Эта линия, кажется, делает прогноз после обучения.

classification = nClassifier.classify(unknownInstance)

Так что, если у вас есть список корпусов (обучающие данные), список соответствующих меток и список данных, которые вы хотите предсказать (неизвестные экземпляры)
Вы могли бы так что-то вроде

from naiveBayesClassifier import tokenizer
from naiveBayesClassifier.trainer import Trainer
from naiveBayesClassifier.classifier import Classifier

corpus = ['hello everyone', 'dont use words like jerk', 'what the hell.', 'you jerk'] # Your training data
labels = ['NO', 'YES', 'NO', 'YES'] # Your labels
unknown_data = ['Even if I eat too much, is not it possible to lose some weight'] # List of data to be predicted

nTrainer = Trainer(tokenizer)

# model training
for item, category in zip(corpus, labels):
    nTrainer.train(item, category)

nClassifier = Classifier(nTrainer.data, tokenizer)
predictions = [ nClassifier.classify(unknownInstance)  for unknownInstance in unknown_data]

print classification
Другие вопросы по тегам