Алгоритмы выбора линейных регрессионных моделей (практика)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Соглашения об интерфейсе функций)
Строка 3: Строка 3:
[[Алгоритмы выбора линейных регрессионных моделей (практика)/Вспомогательные функции|Вспомогательные функции]]
[[Алгоритмы выбора линейных регрессионных моделей (практика)/Вспомогательные функции|Вспомогательные функции]]
-
== Соглашения об интерфейсе функций ==
+
== Архитектура ==
-
Для унификации способов применения методов выбора модели предусмотрен следующий формат интерфейса функции.
+
=== Соглашения об интерфейсе функций ===
 +
Для унификации способов применения методов выбора модели предусмотрен формат интерфейса функции.
 +
На вход каждый метод принимает 3 параметра:
 +
* <code>features</code> — матрица признакового описания объектов, в которой строки соответствуют объектам, а столбцы - признакам;
 +
* <code>target</code> - столбец значений целевого признака;
 +
* <code>Params</code> - структура с параметрами алгоритма; она может обладать следующими полями:
 +
** <code>Common</code> - структура, содержащая общие параметры алгоритмов:
 +
*** <code>maxNFeatures</code> - максимальное допустимое количество отобранных информативных признаков;
 +
** ''ИмяМетода'' - для каждого метода структура с его собственными параметрами; например, для метода полного перебора <code>esearch</code> параметры должны быть доступны как поля структуры <code>Params.Esearch</code>.
 +
На вход методам может передаваться структура параметров, содержащая не все поля (поле <code>Params.Common</code> и поля, соответствующие конкретным методам), а также не все их поля (например, может быть не задано <code>Params.Common.maxNFeatures</code>). Если необходимые алгоритму параметры не заданы, должны быть использованы некоторые значения "по умолчанию".
 +
 +
На выходе каждый метод возвращает описание набора информативных признаков и их весов в виде структуры с полями:
 +
* <code>isInformative</code> - логический вектор-столбец, представляющий собой маску информативных признаков (выбранным информативным признакам соответствует <code>true</code>, остальным - <code>false</code>);
 +
* <code>weight</code> - столбец с весами каждого признака; для неинформативных признаков веса должны быть нулевыми.
 +
 +
=== Шаблон шапки файла метода ===
<source lang="matlab">
<source lang="matlab">
-
function [FeaturesRating] = methodName(features, target, Params)
+
function FeaturesRating = methodName(features, target, Params)
% Description.
% Description.
%
%
Строка 17: Строка 32:
% Params - structure with fields
% Params - structure with fields
% Common - common params; structure with fields
% Common - common params; structure with fields
-
% maxNFeatures - max features number to scan
+
% maxNFeatures - maximum features number to select
% MethodName - structure with params for particular method
% MethodName - structure with params for particular method
% Output
% Output
% FeaturesRating - structure with rating for all features; has fields
% FeaturesRating - structure with rating for all features; has fields
-
% isInformative - array of marks is particular feature informative (1) or not (0)
+
% isInformative - logical column of marks is particular feature informative (true) or not (false)
-
% weight - weight of particular feature id it is informative
+
% weight - weight of particular feature
%
%
% Example
% Example

Версия 08:08, 16 января 2010

Описание библиотеки алгоритмов выбора линейных регрессионных моделей

Вспомогательные функции

Содержание

Архитектура

Соглашения об интерфейсе функций

Для унификации способов применения методов выбора модели предусмотрен формат интерфейса функции.

На вход каждый метод принимает 3 параметра:

  • features — матрица признакового описания объектов, в которой строки соответствуют объектам, а столбцы - признакам;
  • target - столбец значений целевого признака;
  • Params - структура с параметрами алгоритма; она может обладать следующими полями:
    • Common - структура, содержащая общие параметры алгоритмов:
      • maxNFeatures - максимальное допустимое количество отобранных информативных признаков;
    • ИмяМетода - для каждого метода структура с его собственными параметрами; например, для метода полного перебора esearch параметры должны быть доступны как поля структуры Params.Esearch.

На вход методам может передаваться структура параметров, содержащая не все поля (поле Params.Common и поля, соответствующие конкретным методам), а также не все их поля (например, может быть не задано Params.Common.maxNFeatures). Если необходимые алгоритму параметры не заданы, должны быть использованы некоторые значения "по умолчанию".

На выходе каждый метод возвращает описание набора информативных признаков и их весов в виде структуры с полями:

  • isInformative - логический вектор-столбец, представляющий собой маску информативных признаков (выбранным информативным признакам соответствует true, остальным - false);
  • weight - столбец с весами каждого признака; для неинформативных признаков веса должны быть нулевыми.

Шаблон шапки файла метода

function FeaturesRating = methodName(features, target, Params)
% Description.
%
% Arguments
% Input
%   features - matrix of features, where rows are objects, and colums are feature vectors
%   target   - target feature vector
%   Params   - structure with fields 
%     Common      - common params; structure with fields
%       maxNFeatures - maximum features number to select
%     MethodName  - structure with params for particular method
% Output
%   FeaturesRating - structure with rating for all features; has fields
%     isInformative - logical column of marks is particular feature informative (true) or not (false)
%     weight        - weight of particular feature
%
% Example
% TODO
%
% See also
% TODO
% 
% Revisions
% TODO

Реализованные алгоритмы

Личные инструменты