Алгоритмы выбора линейных регрессионных моделей (практика)/Вспомогательные функции
Материал из MachineLearning.
Навигатор по уже реализованным общеполезным функциям. Подобные описания можно посмотреть в соответствующих исходных файлах.
Если добавляете новые функции, то полезно их заносить в этот список, чтобы был легко обнаружить всем интересующимся.
Содержание |
Работа с масками - векторами булевых переменных
Маска представляет собой логический вектор-столбец. Например, logical(rand(5,1) > 0.5)
. Набор масок - матрица из таких столбцов.
nextmask
Генерирует следующую по лексикографическому порядку маску. Т.е. добавляет единицу, если представить маску как бинарное число. Полезно при переборе различных масок.
randmask
Генерирует случайную маску согласно заданным распределениям вероятностей. Задается необходимое количество единичек.
subsets
Генерирует всевозможные маски заданной длины. Работает быстро, но требует большого объема памяти.
filtermasks
Обрабатывает набор масок, удаляя повторы, маски из одних нулей и маски с количеством единиц, большим указанного.
Функционалы скользящего контроля
testmask
Возвращает функционал качества, используя признаки, заданные маской.
cvqfoldsout
На каждой итерации разбивает выборку на обучающую и проверочную случайным образом в заданных пропорциях.
Разное
splitdata
Генерирует два непересекающихся набора индексов, случайно разбивая массив заданной длины.
normcoefs
Вычисляет коэффициенты для нормировки ненулевых вектор-столбцов матрицы так, чтобы их евклидова длина стала равна 1.