如何在 fastai 中获得数据帧的预测
How to get predictions on dataframe in fastai
我将数据束定义为
data = (TabularList.from_df(train_df, path='./', cont_names=cont_names, procs=procs)
.split_by_idx(list(range(500,3000)))
.label_from_df(cols=dep_var)
.add_test(test, label=0)
.databunch())
训练后我
p = learn3.get_preds()
len(p[1])
o/p 是 2500 是正确的
.split_by_idx(list(range(500,3000)))
这是2500个号码
但是现在我有大约几千个输入的其他数据,如果我这样做的话
for index in range(len(test_df)):
predictions = learn3.predict(test_df.iloc[index])
predictions = predictions[1].tolist()
print(index)
这将花费大量时间。我想通过 test_df 并获得与
一样的预测
p = learn3.get_preds()
我该怎么做?
.split_by_idx(list(range(500,3000)))
我们有办法替换它并从其他文件传递数据吗?
您可以使用fastai learner的add_test()
方法将learner的原始测试集替换为您的数据。或者,您也可以使用 learn.data.test_dl = new_df
来实现相同的效果,然后使用 get_preds()
来获得预测
我为此苦苦挣扎了一段时间。我发现的最佳方法是执行以下操作:
test_dl = learn.dls.test_dl(test_data) # Create a test dataloader
learn.get_preds(dl = test_dl) # Make predictions on it
我将数据束定义为
data = (TabularList.from_df(train_df, path='./', cont_names=cont_names, procs=procs)
.split_by_idx(list(range(500,3000)))
.label_from_df(cols=dep_var)
.add_test(test, label=0)
.databunch())
训练后我
p = learn3.get_preds()
len(p[1])
o/p 是 2500 是正确的
.split_by_idx(list(range(500,3000)))
这是2500个号码
但是现在我有大约几千个输入的其他数据,如果我这样做的话
for index in range(len(test_df)):
predictions = learn3.predict(test_df.iloc[index])
predictions = predictions[1].tolist()
print(index)
这将花费大量时间。我想通过 test_df 并获得与
一样的预测p = learn3.get_preds()
我该怎么做?
.split_by_idx(list(range(500,3000)))
我们有办法替换它并从其他文件传递数据吗?
您可以使用fastai learner的add_test()
方法将learner的原始测试集替换为您的数据。或者,您也可以使用 learn.data.test_dl = new_df
来实现相同的效果,然后使用 get_preds()
来获得预测
我为此苦苦挣扎了一段时间。我发现的最佳方法是执行以下操作:
test_dl = learn.dls.test_dl(test_data) # Create a test dataloader
learn.get_preds(dl = test_dl) # Make predictions on it