带条件的Laplace修正平滑:仅对数据极值(0或1)进行平滑
选择性拉普拉斯平滑需求
原始样本数据
代表5个类别样本数量的数组如下:
import numpy as np user_data = np.array([ [16, 15, 14, 10, 0], [0, 13, 6, 15, 21], [12, 29, 1, 12, 1], [0, 0, 0, 0, 55]])
全量拉普拉斯平滑结果(k=2)
此前对所有频率使用k=2的拉普拉斯平滑处理后,输出结果为:
array([[0.29824561, 0.28070175, 0.26315789, 0.19298246, 0.01754386], [0.01754386, 0.24561404, 0.12280702, 0.28070175, 0.38596491], [0.22807018, 0.52631579, 0.03508772, 0.22807018, 0.03508772], [0.01754386, 0.01754386, 0.01754386, 0.01754386, 0.98245614]])
修正后的处理需求
现需调整平滑策略:仅对数据中的极值(0或1)进行拉普拉斯修正平滑,而非对所有频率统一处理。
内容的提问来源于stack exchange,提问作者alxander21
相关产品推荐
相关产品推荐

