sklearn中是否有一个参数可以调整为多次运行随机林(或其他估计器),以平滑运行之间的变化?最简单的方法是什么?
您不能简单地手动平滑运行之间的变化。你可以做的是使用GridSearchCV执行超参数调整(或者你也可以在这个链接中查看其他类似的方法。你也可以查看数据集的交叉验证,以获得更好的估计器性能。你可以查看Sklearn中的交叉验证方法。
此外,请为您的问题提供更多信息,如您正在解决的问题类型、数据集等,以便我们能够更好地帮助您。
VotingClassifier
可能是您想要的。一般来说,给定两组预测,你可以取预测的几何平均值来平滑它。
from scipy.stats.mstats import gmean
df = pd.DataFrame()
#prediction renamed in 1.csv,2.csv... for convenience
for i in range(1,4):
data = pd.read_csv('{}.csv'.format(i),index_col='id')
data = data.rename(columns={'proba':i})
df = pd.concat([df,data],axis=1)
df['proba'] = gmean(df.iloc[:,1:4],axis=1)
output = pd.DataFrame(data={'id':df.index,'proba':df.proba})
output.to_csv('submissions.csv',index=False)