gpt4 book ai didi

random - 关于sklearn中的mutual_info_classif,在特征选择方面对random_state的使用感到困惑

转载 作者:行者123 更新时间:2023-12-04 12:59:30 25 4
gpt4 key购买 nike

我使用了 sklearn 中的mutual_info_classif 和selectPercentile 来在数据集中进行特征选择。我发现我可以将 random_state 设置为 0 以确保每次选择的功能都可以相同,如下代码所示:

mi = mutual_info_classif(X_train, y_train, random_state=0)
print(mi)
sel_mi = SelectPercentile(mutual_info_classif, percentile=10).fit(X_train,y_train)

另一个,我不需要设置 random_state 并将其设为默认状态。但这会使每一次选择都会有所不同。
mi = mutual_info_classif(X_train, y_train)

我想知道如果每次的特征选择都是一样的,我如何判断它是否是最好的特征选择?

如果每次选择都不一样,是否就意味着这种特征选择没有意义?

最佳答案

ML 与其说是一门科学,不如说是一门艺术。无论种子如何,一些算法将始终返回相同的结果,例如线性回归,其他,例如决策树,将根据子样本返回不同的结果,还有一些,例如随机森林,即使在相同的子样本上也可能返回不同的结果,具体取决于种子。

根据子样本返回不同结果的算法意味着您的算法取决于数据分布,并且可能会根据您提供的种子而改变。这并不意味着你的算法没用。您可能会更加关注那些始终出现在您提供的数据子样本之外的最重要的特征。

您可以通过提供更多数据获得更一致的结果,从而在数据分布方面从抽样中获得更一致的结果。

最后评论。就探索数据而言,特征重要性似乎是一项重要的练习,您在收集或清理数据时必须更加注意什么。但这在模型构建方面并不重要,因为大多数算法都内置了特征选择机制。

关于random - 关于sklearn中的mutual_info_classif,在特征选择方面对random_state的使用感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60350565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com