使用fasttext api监督分类在Windows

时间:2018-03-30 13:13:01

标签: 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_prefix='__label__',thread=8)

labels = classifier.predict('Maria',k=1)
print(labels)

当我用一个名字测试时,它返回

[[],[],[],[]]

我无法理解我的错误在哪里。 我按照fastext github中的代码行进行了操作。当相同的代码能够在Linux中运行时,在Windows中创建的问题是什么?

我正在使用windows,python 3.4x。

更新: 我评论过model = fasttext.load .....

以便将学习的监督分类器模型保存在model.bin中。相同的代码在Ubuntu中工作,但在Windows中不起作用。 任何帮助赞赏。

2 个答案:

答案 0 :(得分:0)

在Windows上,您还必须安装fasttext-win

pip install fasttext-win

参见此处:https://pypi.org/project/fasttext-win/

答案 1 :(得分:-1)

我想你得到一个数组作为答案的原因是它看起来像 predict 希望有一个列表作为参数。

    labels = classifier.predict(['Maria'],k=1)

但不幸的是,我不知道为什么提供的标签是空的。我在Windows下遇到了同样的问题( model.labels 返回一个空列表)。