Я оцениваю randomForest, затем запускаю функцию randomForest.predict
для некоторых удерживаемых данных.
Что я хотел бы сделать, это (предпочтительно) добавить прогноз для каждой строки в фрейм данных, содержащий данные удержания в качестве нового столбца, или (второй выбор) сохранить (номер строки в тестовых данных, прогноз для этой строки) как файл .csv.
Что я не могу сделать, так это получить доступ к внутренним объектам объекта результатов таким образом, чтобы я мог это сделать. Я новичок в R, поэтому я ценю вашу помощь.
У меня есть:
res <-predict(forest_tst1,
test_d,
type="response")
, который успешно дает мне кучу предсказаний.
Следующее недопустимо R, но в идеале я бы сделал что-то вроде:
test_d$predicted_value <- results[some_field_of_the_results]
или
for i = 1:nrow(test_d)
test_d[i, new_column] = results[prediction_for_row_i]
end
По сути, я просто хочу столбец предсказанных 1 или 0, соответствующих строкам в test_d. Я пытался использовать следующие команды для доступа к внутренним объектам res
, но я не нашел ничего, что мне помогло.
attributes(res)
names(res)
Наконец-то - меня немного смущает следующее, если кто-нибудь может объяснить!
typeof(res) = "integer"
Редактировать: я могу сделать
res != test_d$gold_label
, что немного сбивает с толку, потому что я сравниваю столбец и объект, не являющийся столбцом (??), и
length(res) = 2053
и res
представляется индексируемым
attributes(res[1])
$names
[1] "6836"
$levels
[1] "0" "1"
$class
[1] "factor"
но я не могу разумным образом выбрать части
> res[1][1]
6836
0
Levels: 0 1
> res[1]["levels"]
<NA>
<NA>
Levels: 0 1