2016-07-17 5 views
0

У меня есть большой набор данных, и я пытаюсь использовать пакет R xgboost для выполнения регрессии.R xgboost - как использовать локальные файлы данных?

Функция xgboost говорит, что аргумент data может быть локальный файл данных, из которого я понимаю, это должно быть имя файла, который будет использоваться. Однако нет никаких дополнительных спецификаций, поэтому мой вопрос заключается в том, как именно должен быть этот файл.

Я попытался

random=matrix(rnorm(15),5,3) 
colnames(random)=c("first","second","label") 
write.csv(random,"random.csv") 
bst <- xgboost(data = "random.csv", 
       nthread = 7, 
       nround = 3, 
       objective="reg:linear", 
       verbose=FALSE) 

но возвращает

6x0 matrix with 0 entries is loaded from random.csv 
Error in xgb.iter.update(bst$handle, dtrain, i - 1, obj) : 
NumCol:need column access 

Большое спасибо!

ответ

1

Локальный входной файл данных xgboost не поддерживает csv. Из этого link

В настоящее время XGBoost поддерживает файлы локальных данных в формате libsvm. - Смотри на: http://blog.nycdatascience.com/uncategorized/xgboost-introduction/#sthash.bmlHst0T.dpuf

См this Cross Validated Question/Answer для получения дополнительной информации о том, что формат libsvm есть.

Надеюсь, это поможет.

0

Sadly Мне не разрешено оставлять комментарии, и это немного наивно для правильного ответа, но для того, чтобы быть уверенным: - Вы уверены, что R находится в правой папке? Попробуйте getwd(), чтобы узнать, какой рабочий каталог вы находитесь, и setwd(), чтобы изменить его.

я удалить свой ответ позже, так как я буду, что она неполна,

поздравления,

Daniel

Смежные вопросы