Python 在windows中测试时,使用fasttext api的监督分类返回空数组
我正在尝试使用快速文本API构建一个有监督的分类器。 我的数据是“output.txt”,有15000行、2列(性别和姓名)和2个m/f类Python 在windows中测试时,使用fasttext api的监督分类返回空数组,python,machine-learning,classification,fasttext,Python,Machine Learning,Classification,Fasttext,我正在尝试使用快速文本API构建一个有监督的分类器。 我的数据是“output.txt”,有15000行、2列(性别和姓名)和2个m/f类 __label__F Mary __label__F Santa ... __label__M John 代码: #model = fasttext.load_model('model.bin') # using the default model classifier = fasttext.supervised('output.txt','model',
__label__F Mary
__label__F Santa
...
__label__M John
代码:
#model = fasttext.load_model('model.bin') # using the default model
classifier = fasttext.supervised('output.txt','model', label_prefix='__label__',thread=8)
labels = classifier.predict('Maria',k=1)
print(labels)
当我使用一个名称进行测试时,它返回
[[],[],[],[]]
我不明白我的错误在哪里。
我按照中的代码行进行操作。当相同的代码能够在Linux中工作时,在windows中产生什么问题
我正在使用windows、python 3.4x
更新:
我已经对model=fasttext.load…..进行了注释
因此,学习的监督分类器模型保存在model.bin中。同样的代码在Ubuntu中工作,但在windows中不工作。
谢谢你的帮助 我想你得到一个数组作为答案的原因是predict似乎想要一个列表作为参数
labels = classifier.predict(['Maria'],k=1)
但不幸的是,我不知道为什么提供的标签是空的。在Windows下我也遇到同样的问题(model.labels返回一个空列表)。在Windows上,您还必须安装
fasttext-win
:
pip install fasttext-win
请参见此处:您没有在任何地方使用对象
模型。您是否打算使用它(而不是字符串'model'
)作为fasttext.supervised
的第二个参数?如果您不知道解决方案,为什么要将其作为答案回答?