本次代码改进主要集中在聚类算法和主题词提取方法的优化上,主要包含三个关键修改:
首先,将聚类算法从KMeans替换为DBSCAN。这是因为原KMeans方法需要预先指定聚类数量,而实际评论数据中的主题分布难以预测。DBSCAN算法能够自动确定聚类数量,并有效识别噪声点(这是指南中明确指出的难点)。该算法的优势在于能更好地处理非球形聚类结构,对噪声数据具有更强的鲁棒性,特别适合文本数据中常见的非均匀分布特征,从而提升聚类质量。
其次,实现了DBSCAN参数的动态确定。通过NearestNeighbors方法寻找最佳eps值(采用肘点法原理),避免了繁琐的手动调参过程,使算法能自适应不同数据集的特征分布。虽然代码中相关可视化部分(plt)被注释,但在调试阶段可取消注释以直观观察距离分布的肘点位置,便于参数优化。
最后,改进了主题词提取方法并优化了噪声处理。主题词提取从原先基于聚类中心特征权重的方法,改为直接统计聚类内的词语频率。新方法能更直观地反映实际用词情况,避免TF-IDF特征权重可能带来的偏差,同时使用管道符"|"分隔主题词,更符合业务需求。对于DBSCAN标记的噪声点(label=-1),不再分配主题词,有效避免低质量数据污染聚类结果,显著提高主题词的代表性和纯净度。