小编use*_*706的帖子

将python随机林模型保存到文件

在R中,运行"随机森林"模型后,我可以save.image("***.RData")用来存储模型.之后,我可以加载模型直接进行预测.

你能在python中做类似的事吗?我将模型和预测分成两个文件.在模型文件中:

rf= RandomForestRegressor(n_estimators=250, max_features=9,compute_importances=True)
fit= rf.fit(Predx, Predy)
Run Code Online (Sandbox Code Playgroud)

我试图返回rffit,但仍然无法在预测文件中加载模型.

您可以使用sklearn随机森林包分离模型和预测吗?

python machine-learning random-forest scikit-learn

21
推荐指数
2
解决办法
2万
查看次数

如何使用groupby来避免python中的循环

数据中有几列,其中三列名为"candidate_id","enddate","TitleLevel".

在同一个id中,如果enddate相同,我将删除较低级别的记录.

例如,给定:

candidate_id   startdate     enddate   TitleLevel
    1          2012.1.1      2013.5.1     2
    1          2011.1.1      2013.5.1     4
    1          2008.12.1     2010.1.1     3
    2          2010.10.1     2012.12.1    2
Run Code Online (Sandbox Code Playgroud)

我想要的是:

candidate_id   startdate     enddate   TitleLevel
    1          2011.1.1      2013.5.1     4
    1          2008.12.1     2010.1.1     3
    2          2010.10.1     2012.12.1    2
Run Code Online (Sandbox Code Playgroud)

我会删除candidate_id=1,enddate=2013.5.1titlelevel=2.

我想出了一个循环.

for i in range(nrow-2,-1, -1):
    if (JobData['enddate'][i] == JobData['enddate'][i+1] 
           and JobData['candidate_id'][i] == JobData['candidate_id'][i+1] 
           and pd.notnull(JobData['enddate'][i]):
        if JobData['TitleLevel'][i] > JobData['TitleLevel'][i+1]:
            JobData= JobData.drop(i+1)
        else:
            JobData= JobData.drop(i) 
Run Code Online (Sandbox Code Playgroud)

循环确实需要一些时间来删除冗余行.有更快的方法吗?

python loops pandas

5
推荐指数
1
解决办法
172
查看次数