我在Databricks集群上运行catboost。Databricks生产集群是非常安全的,我们不能作为一个用户创建新的目录。但是我们可以有预先创建的目录。我正在为我的CatBoostClassifier传递下面的参数。CatBoostClassifier(train_dir='dbfs/FileStore/files/')
它不工作并抛出以下错误。CatBoostError: catboost/libs/train_lib/dir_helper.cpp:20: Can't create train working dir
您在开头缺少/
字符-它应该是'/dbfs/FileStore/files/'
。
此外,写入DBFS可能很慢,如果catboost使用随机写入,可能会失败(请参阅限制)。您可以指向节点的本地目录,如/tmp/....
,然后使用dbutils.fs.cp("file:///tmp/....", "/FileStore/files/catboost/...", True)
将文件从本地目录复制到DBFS。