[英]how to use my own file instead of using dataset in this code
我正在实现这段代码,这给了我正确的输出,但我想将这四行“数据集”保存在一个文件中,然后使用它。我该怎么做?我怎么能使用我自己的文件而不是手动输入的数据集?
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
您可以将数据集存储为 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.