【问题标题】:Using Turi to create a simple text classification使用 Turi 创建简单的文本分类
【发布时间】:2018-10-13 22:38:50
【问题描述】:

为了与 Turi 取得联系,我正在尝试创建一个能够区分由字符组成的字符串和由数字组成的字符串的模型。 我有包含训练数据的 CSV 文件。每行由两个条目组成,一个字符串和一个指示该字符串是数字还是平面字符串

String, isNumber
bvmuuflo , 0
71047015 , 1

用于生成模型的 Python 脚本如下所示:

import graphlab as gl
data =  gl.SFrame('data.csv')
model = gl.classifier.create(data, target="isNumber", features=["String"])

这很好用。但我不知道如何使用模型来检查例如“qwerty”是字符串还是数字。 我正在尝试使用model.classify(...) API 调用。但是这两个电话

model.classify(gl.SFrame(["qwertzui"])

model.classify(gl.SFrame(["98765432"])

返回相同的结果

Columns:
    class   int
    probability float

Rows: 1

Data:
+-------+----------------+
| class |  probability   |
+-------+----------------+
|   1   | 0.509227594584 |
+-------+----------------+
[1 rows x 2 columns]

显然我的程序有错误,但我找不到。 欢迎任何帮助!

【问题讨论】:

    标签: text classification turi


    【解决方案1】:

    由于模型只有一列用于训练,它能够识别它已经看到的字符串,但无法识别它没有的字符串。我的猜测是 .509 是你输入的字符串的百分比,所以它只是响应它以前没有见过的任何东西。

    这显然是一个玩具示例,但如果你想让它工作,我会使用类似单词袋的东西,但用于字母。用标题 a,b,c...z,0,1...9 制作 36 列,并为每行输入每个字符串的每个字符的计数。这样,模型会将单个字母视为给类而不是整个字符串的概率。

    【讨论】:

      猜你喜欢
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      相关资源
      最近更新 更多