V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sometimesna1ve  ›  全部回复第 12 页 / 共 15 页
回复总数  286
1 ... 4  5  6  7  8  9  10  11  12  13 ... 15  
感谢楼上各位的回复!

完整的情况是这样的:
0. sklearn 官方给出的文本分类例子中,常用的是一个叫 20-news-group 的语料,是英文语料;

1. 因为想做中文文本分类,我用的语料是自己从网易新闻的各个二级频道爬出来的一些新闻正文内容,
即:娱乐( 100 篇文章),体育( xx 篇),财经( xx 篇),教育( xx 篇),等等;
前面的频道名称就是分类类别标签,每个分类下面的文章是支持(或者说训练)这个分类的语料;

2. 在 sklearn 中,先 load_files 加载这些分类和各自的语料,作为 training_data ( training_data.target_names 就是所有类别标签的 list );
training_data 可以划分出 x_train(新闻正文)和 y_train(类别标签 list ,与 x_train 一一对应)

3. 然后使用 TFIDFVectorizer (配合 jieba 中文分词器),计算语料中分词的 TFIDF 值,将 x_train 转换为 X_train

4. 使用 X_train 和 y_train 去训练分类器;我选择的分类器有:朴素贝叶斯, SGDClassifier 这两种;
其中朴素贝叶斯分类器下,二八划分的语料,得到的测试结果差得令人发指(准确率 30%),就没有作为预测使用(差的原因还没分析出来,不过这是另外一个问题了)

5. 使用 SGDClassifier 在二八划分的语料中,测试预测准确率在 70%左右;现在就又找了一篇新闻正文,想用这个分类器做分类预测;

上述过程在 sklearn 官方文档的文本分类器 demo 代码中基本都能找到,就不贴代码了。

6. 在 pred = clf.predict(X_new) 中,得到的 pred 是一个 ndarray , 里面的值是 training_data.target_names 中每个标签的 index (不是百分百肯定,也有可能这里有误解),
我猜想:这是对待预测数据中分词结果,就是每个词语属于哪个标签的预测, 所以才会有原 po 中尝试的解决方案,就是统计每个标签的出现次数,将出现次数最多的作为这次预测的结果;

7. 问题是,按照第 6 步的思路,即使我拿原始训练语料(比如训练用的财经类下面的新闻),再用训练好的模型去预测,得到的类别仍然不对,大多数结果都不是财经类。。。

不知道这样描述够清楚吗?

欢迎继续讨论~~~
有问必答,需要的话可以将完整代码贴出来。
@h4x3rotab 前面就是加载 training_data ,然后用 training_data 做文本分类器的模型训练,
代码很简单,网上一搜一大把

我的问题就是上面说的,
有了训练好的分类器后,用这个分类器去预测一段新的文本,
分类器的输出 pred 是一个 ndarray ,怎么能映射到训练数据的类别呢?
拉低楼上各位的中奖概率
2016 年 1 月 11 日
回复了 axb 创建的主题 程序员 关于烂代码的那些事(下)
写的很棒
2015 年 12 月 8 日
回复了 idacker 创建的主题 职场话题 同事整天在打游戏,你还会拼命工作么?
"之前我工作了多年"
工作多年了, 应该清楚知道自己的目标是什么, 自己该干什么吧, 何必那么在意别人在干什么呢
2015 年 12 月 1 日
回复了 larkifly 创建的主题 Python python 写 redis 为何如此的慢????
批量操作一定要使用 pipeline.
不久前刚做过一个小测试, 下面的 blog 是我的测试记录
http://www.rockyqi.net/redis-intro-and-a-simple-performance-test-for-batch-operations.html
2015 年 11 月 30 日
回复了 Andor_Chen 创建的主题 Java 送几本《Java 技术手册(第 6 版)》
回复, 感谢~~
2015 年 11 月 19 日
回复了 devinww 创建的主题 问与答 归属地问题
@ncdx2009 shanxi shaanxi
2015 年 11 月 16 日
回复了 weuiyseui 创建的主题 分享发现 天猫魔盒 15 日删除第三方应用
天猫盒子可以正常看电视直播不? 可以的话收一个给家里老人看电视用...
有意出手的请私信我
已剁手 7.95 刀, 这是双 11 第一单
已下单五斤
2015 年 10 月 30 日
回复了 ray0625 创建的主题 问与答 java 用 HttpClients 请求 url 返回状态码是 503 怎么处理?
浏览器访问正常 , 打开 console 看下浏览器 request 的 header 都有什么,
在代码里面对应的全部 set 上就 OK 了.

初步目测你的 request 少了 User Agent 这个 header, 可以加上再试试.
路过帮顶
可否说明下 工作地点, 大概薪资范围 信息?
@shajiquan 收到, 今天做伸手党了, 非常感谢!
2015 年 10 月 26 日
回复了 appleaa 创建的主题 Python scrapy 抓取信息, time.sleep()问题
@appleaa 为什么不定时 20 分钟后重新跑一次抓取程序?
@shajiquan 了解了, 我先试试看, 感谢!
1 ... 4  5  6  7  8  9  10  11  12  13 ... 15  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3589 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 04:38 · PVG 12:38 · LAX 21:38 · JFK 00:38
♥ Do have faith in what you're doing.