Ошибка отправки в соревнование Kaggle: значение '' в ключевом столбце '' уже определено - PullRequest
0 голосов
/ 26 сентября 2018

Я впервые участвую в соревнованиях по борьбе, и у меня возникают проблемы с отправкой таблицы результатов.Я сделал свою модель, используя gbm, и создал таблицу прогнозов, как показано ниже.файл представления содержит 2 столбца с именами «fullVisitorId» и «PredictedLogRevenue»), как и любые другие случаи конкуренции с kaggle.

pred_oob = predict(object = model_gbm, newdata = te_df, type = 'response')

mysub = data.frame(fullVisitorId = test$fullVisitorId, Pred = pred_oob)
mysub = mysub %>%
  group_by(fullVisitorId) %>%
  summarise(Predicted = sum(Pred))

submission = read.csv('sample_submission.csv')
mysub = submission %>%
  left_join(mysub, by = 'fullVisitorId')

mysub$PredictedLogRevenue = NULL
names(mysub) = names(submission)

Но когда я пытаюсь отправить файл, я получаю сообщение «fail», говорящее ...

ERROR: The value '8.893887e+17' in the key column 'fullVisitorId' has already been defined (Line 549026, Column 1)
ERROR: The value '8.895317e+18' in the key column 'fullVisitorId' has already been defined (Line 549126, Column 1)
ERROR: The value '8.895317e+18' in the key column 'fullVisitorId' has already been defined (Line 549127, Column 1)

Не только 3 строки, но еще 8 строк, как это.Я понятия не имею, что я сделал не так.Я также проверил другие ядра, но не смог найти ответ.Пожалуйста помоги!!

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Эта проблема была из-за того, что fullVisitorId был числовым, а не символьным, поэтому он отбрасывал все начальные нули.Следовательно, использование read.csv () с аргументом colClases или fread () может заставить его работать.Я оставил это только потому, что мог быть кто-то еще, у которого есть подобная проблема как я

0 голосов
/ 26 сентября 2018

Для создания отправляемого фрейма данных самый простой способ - это

subm_df = pd.read_csv('../input/sample_submission.csv')
subm_df['PredictedLogRevenue'] = <your prediction array>
subm_df.to_csv('Subm_1.csv', index=False)

Нет, это предполагает, что у вашего sample_submission.csv есть все fullVisitorId, что обычно происходит в Kaggle.После этого я никогда не сталкивался с какими-либо проблемами.

...