粗糙集的不确定信息的思路,真的挺有意思。对于你做数据挖掘、预啥的,是遇上缺失值、异常值一堆的时候,这玩意儿还挺顶用的。

粗糙集理论,是 80 年代 Zdzisław Pawlak 提出来的,嗯,别看时间早,现在用起来也不老气。它主要帮你从数据里找出哪些信息是模糊的、冗余的、不确定的,筛一筛、减一减,预效果还不错。

信息系统属性约简等价类这些概念听起来有点抽象?其实蛮简单。比如你要选出对最终分类最有用的属性,就可以用它做属性约简,把没啥用的干掉,训练快,还能避免过拟合。

而且像那种缺值太多、分类模糊的老大难数据,用粗糙集来,还真挺合适。它的规则都是类似“如果...那么...”这种,写得明明白白,你自己看一眼也能懂,解释性强。

我自己用的时候,是拿SPSS Clementine跑了一波特征筛选,用规则来做了个小型决策模型,跑得还挺稳。你也可以看看这篇关于粗糙集挖掘的文章,里面还有结合业务场景的例子,挺实用。

顺便说一句,如果你想上手跑个 demo,Rosetta 工具和它配套的 MATLAB 代码可以下下来试试。配置不复杂,文档也挺清晰。

所以啊,如果你正折腾数据预、想找点轻量的模型思路,那粗糙集这套逻辑还真值得你琢磨琢磨。对了,MapReduce 也能并行搞这个,有现成的方法可以参考一下。

如果你数据集脏、不太规则,可以先用它做一下属性筛选和清洗,效果比直接上深度模型要靠谱不少。