Я работаю над системой классификации k-Nearest Neighbors и использует систему голосования «ведро», которая отображает предсказанные классы, а затем возвращает прогноз, основанный на том, какой класс получил наибольшее количество голосов в выборке.Выделите только правильный класс другого цвета в R-гистограмме
Моя проблема заключается в том, что я хочу автоматически генерировать гистограммы с синими полосками для неверных прогнозов и красную полосу для правильно предсказанного класса. Вот фрагмент кода:
for (class in 14:15) {
class_test_index <- which(walkTest_labels == class)
class_test <- as.numeric(walkTest_pred[class_test_index])
hist(class_test,
breaks = 0:22,
col = ifelse(class_test == class, "red", "blue"),
border = "green",
main = "Distribution by Classes",
ylab = "Count",
xlab = "Class")
}
Я только что использовал два класса в моем цикле, чтобы проиллюстрировать. Ссылки на две приведенные ниже гистограммы.
http://i.stack.imgur.com/VXger.png
http://i.stack.imgur.com/ChAE7.png
В обоих только один бар, самый большой один, должен быть красным. В одном из них правильный бар красный, но есть еще один бар, который также краснеет. На другой гистограмме снова появляются два бара, которые красны, но оба они ошибаются.
См. [Здесь] (http://stackoverflow.com/q/21858394/324364) для некоторых общих указаний относительно потенциально лучшего способа использования 'hist' для такого рода вещей. Тем не менее, штриховой график, вероятно, будет более простым и более разумным с учетом дискретности ваших данных. – joran
Можете ли вы предоставить пару строк фреймов данных, которые вы используете для генерации гистограмм? – Nate
Привет, Натан, спасибо, что спросил. Вот простой пример того, что используется для создания гистограммы. '> head (class_test) [1] 16 5 5 3 15 15' Как вы можете видеть, это всего лишь вектор классификаций. Они варьируются от 1 до 22. –