小编lol*_*Wen的帖子

使用Scikit for Python保留TFIDF结果以预测新内容

我在Python上使用sklearn来做一些聚类.我已经训练了200,000个数据,下面的代码效果很好.

corpus = open("token_from_xml.txt")
vectorizer = CountVectorizer(decode_error="replace")
transformer = TfidfTransformer()
tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))
km = KMeans(30)
kmresult = km.fit(tfidf).predict(tfidf)
Run Code Online (Sandbox Code Playgroud)

但是当我有新的测试内容时,我想将它集中到我训练过的现有集群中.所以我想知道如何保存IDF结果,这样我就可以为新的测试内容做TFIDF,并确保新测试内容的结果具有相同的数组长度.

提前致谢.

UPDATE

我可能需要将"transformer"或"tfidf"变量保存到文件(txt或其他),如果其中一个包含经过训练的IDF结果.

UPDATE

例如.我有训练数据:

["a", "b", "c"]
["a", "b", "d"]
Run Code Online (Sandbox Code Playgroud)

并且做TFIDF,结果将包含4个特征(a,b,c,d)

当我测试时:

["a", "c", "d"]
Run Code Online (Sandbox Code Playgroud)

查看它所属的集群(已由k-means制作).TFIDF只会给出3个特征(a,c,d)的结果,因此k-means中的聚类将会下降.(如果我测试["a", "b", "e"],可能还有其他问题.)

那么如何存储用于测试数据的功能列表(甚至更多,将其存储在文件中)?

UPDATE

解决了,见下面的答案.

python machine-learning tf-idf scikit-learn

19
推荐指数
4
解决办法
2万
查看次数

如何使用命令行将 swf 转换为 mp4/flv 等?

我将在 Linux 中使用批处理线将 swf 转换为 mp4/flv 左右。

我尝试过ffmpegmencoder或 perl 脚本FLV::info。但所有这些都只是将 swf 中的视频(可能由 H.263 等编码)转换为新视频,但没有影片剪辑,更不用说 ActionScript 了。

我发现moyea似乎适合我的需求(但是,我需要 linux 的),但是有没有免费的方法可以做到这一点?

非常感谢。

linux flash flv ffmpeg

5
推荐指数
0
解决办法
3672
查看次数

标签 统计

ffmpeg ×1

flash ×1

flv ×1

linux ×1

machine-learning ×1

python ×1

scikit-learn ×1

tf-idf ×1