"该资源是一份关于数据仓库与数据挖掘实验报告,具体实验内容为文本分类。报告详细记录了实验的各个阶段,包括数据获取、预处理、分词、特征选择、分类算法的学习与应用,以及性能评估。实验中使用了Python的urllib、BeautifulSoup、jieba、sklearn等库,并进行了卡方检验(CHI值)来选择关键词,最后通过朴素贝叶斯和SVM等分类器进行模型训练和性能比较。"
在这个实验中,涉及的知识点包括:
1. **数据获取与预处理**:实验者使用Python的urllib库处理URL,配合BeautifulSoup解析HTML网页,抓取了新浪新闻网站的多类新闻内容。这是网络爬虫的基本操作,用于从网页中提取结构化数据。
2. **文本分词**:选择了jieba分词库进行中文文本的分词处理,同时结合词性标注,只保留名词作为有效词汇,以减少噪声数据的影响。jieba是一个流行的中文分词库,支持多种分词模式,能有效地处理中文文本。
3. **特征选择**:统计了每篇文章的词频信息,并进行卡方检验(Chi-squared Test,CHI值)来评估词与类别的关联性。选取每个类别中CHI值较大的前10%词语作为关键词,这种方法可以找出对分类最有区分度的特征词。
4. **TF-IDF**:利用sklearn的`feature_extraction`包计算所有关键词的TF-IDF值,作为特征向量。TF-IDF是一种常用的信息检索模型,可以衡量一个词对于文档集合或语料库中的某一个文档的重要程度。
5. **降维与特征选择**:进一步使用chi2方法(基于卡方检验)筛选特征词,降低数据的维度,减少过拟合风险,提高模型的泛化能力。
6. **分类算法**:实验者了解并实现了朴素贝叶斯算法,这是一种基于概率的分类方法,简单高效,适用于文本分类。同时,也学习了sklearn库中的分类器,可能包括SVM(Support Vector Machine),这是一种强大的非线性分类器。
7. **性能评估**:通过计算预测准确率、召回率等指标评估分类器的效果,并使用ROC曲线进行直观对比,这可以帮助理解模型在不同情况下的表现,例如真阳性、假阳性、真阴性和假阴性的比例。
8. **科学计算与文本分类库**:实验中使用了numpy、scipy和sklearn等科学计算库,它们是Python数据分析和机器学习的重要工具。numpy提供高效的数值计算,scipy扩展了科学计算功能,而sklearn则是一个广泛使用的机器学习库,包含多种分类、回归和聚类算法。
这个实验报告详细展示了文本分类的一整个流程,从数据获取到模型评估,对于学习和实践文本挖掘与机器学习具有很高的参考价值。