Random 是否在sklearn';中设置随机状态;你的模型是什么?

Random 是否在sklearn';中设置随机状态;你的模型是什么?,random,scikit-learn,random-forest,random-seed,Random,Scikit Learn,Random Forest,Random Seed,我训练了一个随机森林模型,并使用了一致的random\u state值。在我的训练、测试和验证数据集中,我也获得了非常好的准确度(都在0.98左右)。尽管少数群体只占数据集的约10% 如果您感兴趣,这里有一些代码: model = RandomForestClassifier(n_jobs=-1, oob_score=True, random_state=310, n_estimators=300) model.fit(subset, train.iloc[:,-1]) 考虑到训练、验证和测试

我训练了一个随机森林模型,并使用了一致的
random\u state
值。在我的训练、测试和验证数据集中,我也获得了非常好的准确度(都在0.98左右)。尽管少数群体只占数据集的约10%

如果您感兴趣,这里有一些代码:

model = RandomForestClassifier(n_jobs=-1, oob_score=True, random_state=310, n_estimators=300)
model.fit(subset, train.iloc[:,-1])
考虑到训练、验证和测试数据集的良好准确性分数,
random_state
是否会影响我的模型的泛化

随机_状态:int,随机状态实例或无,可选(默认值=无)

如果int,则random_state是随机数生成器使用的种子;如果为RandomState实例,则random_state为随机数生成器;如果没有,则随机数生成器是np.random使用的RandomState实例

通常,
random_state
用于初始设置内部参数,因此您可以确定地重复训练。现在,您可以更改其他超参数(例如,树数)以比较结果


一个缺点可能是你没有找到全局最优。但是您的结果听起来非常好,精确度为
0.98

随机状态
不会影响模型的泛化。事实上,当您调整超参数(如
n\u估计器
深度
等)时,最佳做法是对
随机状态
具有相同的值。这将确保您的性能不受随机初始状态的影响

此外,当您有不平衡的数据集时,精度不是衡量模型性能的推荐指标

ROC或PR曲线下的面积可能是您可以使用的为数不多的最好的东西之一,但有很多可用的指标。看

学习最优决策树的问题在几个最优性方面甚至对于简单的概念都是NP完全的。因此,实际的决策树学习算法基于启发式算法,例如贪婪算法,在每个节点上做出局部最优决策。这种算法不能保证返回全局最优决策树。这可以通过在集成学习器中训练多棵树来缓解,其中特征和样本通过替换随机抽样


随机_状态用于随机选择小于总特征的子特征和子样本。此参数控制随机选择。

谢谢!这正是我想要的。关于准确性——我实际上使用了混淆矩阵来衡量内部指标,但这是一个很好的观点。