V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  sometimesna1ve  ›  全部回复第 11 页 / 共 15 页
回复总数  286
1 ... 3  4  5  6  7  8  9  10  11  12 ... 15  
2016 年 4 月 3 日
回复了 huson 创建的主题 随想 高速惊魂, 6 车连环追尾,被卡在中间
楼主是在西汉高速?
2016 年 3 月 31 日
回复了 qisuker 创建的主题 Python 全新译作《Python 进阶》首发
已 star , thx
2016 年 3 月 21 日
回复了 pinggjayy 创建的主题 Java java 查看线程状态
visualvm 连上看看?
2016 年 3 月 18 日
回复了 ben548 创建的主题 Redis redis 中 mget 操作最大能取出多少条数据
可以使用 scan 命令遍历整库导出, scan 支持指定每次导出的数据条数
@demon014 上面忘记 @了。。。
大规模的抓取推荐 scrapy 。
不过我这边的规模很小,就自己用 python 写了几个简单的小爬虫,在我的 github 上有,你可以找找看。
@demon014 很简单,两个方法:
1. 使用 load_files 加载待分类 txt 文件,则需要按照上面的所说的,新增一级 unknown 目录;
2. 不使用 load_files 加载,直接将待分类的 txt read 出来,作为 list 的一个 element ,将这个 list 扔给 predict 去做预测即可。(多个 txt 就是多个 list element )
3. 如果训练或是待分类数据在一个 txt ,以 [行] 来区分,我改了一下 sklearn.datasets.load_files 方法,可以将每行加载为一个样本,代码见:
https://github.com/rocky1001/Machine-Learning/blob/master/text_classifier/load_files.py
@xgowex 居然有这种的,长见识了。。。
@RangerWolf @KIDJourney 及楼上各位:
代码我放在了:
https://github.com/rocky1001/Machine-Learning/tree/master/text_classifier

netease_news_classifier.py 是完整代码(包括模型训练与加载待预测数据)
netease_traning_data.zip 是使用的训练数据,大约抓取了网易新闻 11 个频道下 3-5 天的新闻正文数据
netease_predict_data.zip 是待预测数据目录,里面新建了 unknown 这一级 folder ,解决了原 po 的问题。

有需要的同学可以参考~~~
@RangerWolf 可以的,明天到公司后贴,贴好了通知你
上面是为了攒人品, 添加的问题解决方案,
供有需要的同学参考~~~
哈哈, 困扰我两天的问题“算是”解决了!

不敢说是圆满解决,因为这个解决方案稍显丑陋:

之前为了加载数据方便,在加载训练数据集时使用了 load_files 方法,
然后使用 train_test_split 方法划分训练数据和测试数据;

但是在做预测时,单独 open 了待测试的文本文件(与训练数据不同的方式!),然后做 TFIDF 和预测,
此时,得到的 pred 结果是有问题的。

经过尝试和修改,
现在的做法是:
将待测试的文本文件,放入一个 unknown 的分类, 然后使用 load_files 加载(与训练数据相同的方式),并使用 train_test_split 方法(设置 test_size 非常大,例如 0.999999 ),使用划分出来的对象做 TFIDF ,然后扔给分类器去预测。
这样,就可以使用如下的代码拿到分类啦!
for index in pred:
label_list.append(training_data.target_names[index])
@KIDJourney target_names 确实就是原始训练语料的标签列表。

现在的情况是,我 debug 了一早上,现在被模型预测的输出结果搞迷糊了
pred = clf.predict(X_new)

这个 pred 对象:
1. 在使用原始语料分割出来的 20%的测试数据(大约有 1000 条)作为 X_new 输入时,
针对每个语料输出了一个分类类别 id ,是没问题的;

2. 在使用**一条**新的文本数据(无分类类别,待模型预测)作为 X_new 时, pred 并不是一个分类类别 id ,而是一个一维数组,这里我就不会解析了。。。

3. 假设把上面的这一条新的文本数据放到一个正确的类别文件夹下面去(其他类别文件夹全部留空),重新 load_files 这部分数据作为测试数据, pred 的输出又是正确:对于这一个文档输入给出了一个预测结果类别 id

上面的 2 , 3 点就是我目前最困惑的地方。
to all ,

上面第 6 点描述中,对 pred 的理解可能有偏差。
我又 debug 查看了二八划分数据时,使用 20%的测试数据去做预测并计算误差的地方,
可以看到:
**这里的的 pred 是一个跟测试标签 y_test 长度一样的一维数组**
也就是说,对于一个文档样本数据, pred 的输出应该是**唯一的一个标签** ;

那么现在问题就来了,
为什么我 read 单个文档样本做预测时,输出的 pred 不是只有**一个元素的数组**呢。。。
@KIDJourney 刚才 debug 看了下, training_data 这个对象没有 label 属性。。。
2016 年 1 月 28 日
回复了 Evnton 创建的主题 GitHub Github 不能正常打开,有谁知道是怎么回事吗?
刚才也发现了,出现个 Unicorn
@ike 这种方法下,即使我拿训练数据再反过来去做预测,得到的结果大多数都不对。。。叫上面回复第 7 点,举出的网易财经频道新闻数据的例子
@billgreen1 基本是这样的,不过 preprocessing 中对 label 的一些处理方式我都试过了,貌似都不对(也有可能是我的用法不对?)
@KIDJourney 感谢,一会到公司试试看
1 ... 3  4  5  6  7  8  9  10  11  12 ... 15  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3589 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 04:38 · PVG 12:38 · LAX 21:38 · JFK 00:38
♥ Do have faith in what you're doing.