这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
zh:courses:textmining2026:ch04 [2026/09/28 17:48] pzczxs [源代码] |
zh:courses:textmining2026:ch04 [2026/10/13 09:51] (当前版本) pzczxs [上机作业] |
||
|---|---|---|---|
| 行 3: | 行 3: | ||
| 下载:{{ :zh:courses:textmining2026:ch04.pptx |文本分类}} | 下载:{{ :zh:courses:textmining2026:ch04.pptx |文本分类}} | ||
| + | ===== 数据集 ===== | ||
| + | 下载:{{ :zh:courses:textmining2026:chapter4.zip |}} | ||
| ===== 工具类 ===== | ===== 工具类 ===== | ||
| ==== 第三方依赖 ==== | ==== 第三方依赖 ==== | ||
| 行 760: | 行 762: | ||
| } | } | ||
| </file> | </file> | ||
| + | |||
| + | <file java KnnWekaDemo.java> | ||
| + | package cn.edu.bjut.textmining.chapter4; | ||
| + | |||
| + | import cn.edu.bjut.textmining.chapter4.support.EvaluationSupport; | ||
| + | import cn.edu.bjut.textmining.chapter4.support.NewsClassifier; | ||
| + | import cn.edu.bjut.textmining.chapter4.support.NewsExperiment; | ||
| + | |||
| + | /** Weka kNN:训练集拟合TF-IDF,然后以k=5近邻分类。 */ | ||
| + | public final class KnnWekaDemo { | ||
| + | public static void main(String[] args) { | ||
| + | try { | ||
| + | NewsExperiment experiment = NewsExperiment.load(); | ||
| + | experiment.printSummary(); | ||
| + | NewsClassifier model = new WekaNewsClassifier(); | ||
| + | model.fit(experiment.training); | ||
| + | EvaluationSupport.showExamples(model, experiment); | ||
| + | EvaluationSupport.evaluate(model, experiment); | ||
| + | } catch (Exception e) { | ||
| + | e.printStackTrace(); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </file> | ||
| + | |||
| + | ===== 上机作业 ===== | ||
| + | *利用第三方库libsvm,利用SVM方法完成新闻文本数据的分类。 | ||
| + | <code xml> | ||
| + | <dependency> | ||
| + | <groupId>tw.edu.ntu.csie</groupId> | ||
| + | <artifactId>libsvm</artifactId> | ||
| + | <version>3.31</version> | ||
| + | </dependency> | ||
| + | </code> | ||
| + | *借助第三方库完成ROC和PR曲线的绘制。 | ||
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||