Nano Hash - криптовалюты, майнинг, программирование

Каппа применяется ко всем попарным комбинациям оценщиков и сохраняет результат

Для визуализации мне нужно вычислить взвешенную каппу всех комбинаций/пар семи оценщиков. Итак, если я использую некоторые образцы данных с семью столбцами:

ex <- structure(list(`1` = c(1, 1, 2, 1, 2, 1, 1, 1, 2, 3, 1, 1, 1, 
1, 1, 1, 2, 1, 2, 2), `2` = c(1, 1, 1, 1, 2, 1, 1, 1, 2, 3, 1, 
2, 1, 1, 2, 2, 1, 2, 2, 2), `3` = c(1, 1, 2, 1, 2, 1, 1, 1, 2, 
3, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2), `4` = c(1, 1, 2, 2, 2, 1, 2, 
2, 2, 3, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2), pa = c(1, 2, 1, 2, 3, 
1, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 3, 2), ta = c(2, 2, 2, 
1, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1, 3), ka = c(1, 
1, 2, 1, 2, 1, 1, 1, 2, 3, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2)), row.names = c(NA, -20L), class = c("tbl_df", "tbl", "data.frame"))

Я хотел бы получить структуру, которая фиксирует вывод irr::kappa2 для всех комбинаций столбцов. Такая структура, как:

out <- data.frame("1_2"=irr::kappa2(ex[c(1,2)]),
"1_3"=irr::kappa2(ex[c(1,3)]),"1_4"=irr::kappa2(ex[c(1,3)]),....

(для всех уникальных комбинаций столбцов).

Любые идеи?


  • Просто для ясности, вам нужен весь вывод irr::kappa2() или только значение Каппы? 19.01.2019
  • Значение каппа - это то, что я хочу в первую очередь. 19.01.2019
  • Хорошо, тогда я отредактирую свой ответ ниже, если вам нужно только значение каппа. 19.01.2019
  • Отлично! Большое спасибо! 19.01.2019
  • Пожалуйста! :) 19.01.2019

Ответы:


1

Решением было бы хранить всю структуру вывода функции kappa2 в элементе списка и иметь элемент для каждой возможной комбинации столбцов:

# initialization
out_list <- list()
column <- 1

# cycle for storing kappa2's output structure
for (i in 1:(ncol(ex)-1)){
    for (j in (i+1):ncol(ex)){
        out_list[[column]] <- irr::kappa2(ex[,c(i,j)])
        # renaming the elements
        names(out_list)[column] <- paste0(i, "_", j)
        column <- column + 1
    }
}

Если вам просто нужно значение Каппа для каждой пары столбцов, как вы сказали в комментариях, вы можете использовать следующий (очень похожий на предыдущий) код:

# initialization
# the number of columns of "out" is from mathematics
out <- as.data.frame(matrix(0, nrow = 1, ncol = ncol(ex) * (ncol(ex)-1) / 2))
column <- 1

# cycle for calculation kappa
for (i in 1:(ncol(ex)-1)){
    for (j in (i+1):ncol(ex)){
        out[1,column] <- irr::kappa2(ex[,c(i,j)])$value
        colnames(out)[column] <- paste0(i, "_", j)
        column <- column + 1
    }
}
19.01.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..