首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Turi创建简单的文本分类

使用Turi创建简单的文本分类
EN

Stack Overflow用户
提问于 2018-05-03 22:53:28
回答 1查看 94关注 0票数 0

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

代码语言:javascript
复制
String, isNumber
bvmuuflo , 0
71047015 , 1

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

代码语言:javascript
复制
import graphlab as gl
data =  gl.SFrame('data.csv')
model = gl.classifier.create(data, target="isNumber", features=["String"])

这可以很好地工作。但是我不知道如何使用这个模型来检查,例如"qwerty“是字符串还是数字。我正在尝试使用model.classify(...) API-call。但这两个电话

代码语言:javascript
复制
model.classify(gl.SFrame(["qwertzui"])

代码语言:javascript
复制
model.classify(gl.SFrame(["98765432"])

返回相同的结果

代码语言:javascript
复制
Columns:
    class   int
    probability float

Rows: 1

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

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

EN

回答 1

Stack Overflow用户

发布于 2018-05-19 05:11:49

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50158024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档