Исправление багов ML c NA и возможностью Int
This commit is contained in:
parent
4efb48894c
commit
84a039e631
|
|
@ -15,7 +15,7 @@ internal static class RevisionClass
|
|||
public const string Major = "3";
|
||||
public const string Minor = "11";
|
||||
public const string Build = "1";
|
||||
public const string Revision = "3824";
|
||||
public const string Revision = "3826";
|
||||
|
||||
public const string MainVersion = Major + "." + Minor;
|
||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
%COREVERSION%=1
|
||||
%REVISION%=3824
|
||||
%REVISION%=3826
|
||||
%MINOR%=11
|
||||
%MAJOR%=3
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
3.11.1.3824
|
||||
3.11.1.3826
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
!define VERSION '3.11.1.3824'
|
||||
!define VERSION '3.11.1.3826'
|
||||
|
|
|
|||
|
|
@ -286,6 +286,8 @@ const
|
|||
'Столбец не является Str!!Column is not Str';
|
||||
ER_COLUMN_NOT_BOOL =
|
||||
'Столбец не является Bool!!Column is not Bool';
|
||||
ER_VALUE_IS_NA =
|
||||
'Значение в столбце "{0}" равно NA!!Value in column "{0}" is NA';
|
||||
ER_DUPLICATE_COLUMN_NAME =
|
||||
'Повторяющееся имя столбца "{0}"!!Duplicate column name "{0}"';
|
||||
ER_NAMES_NULL =
|
||||
|
|
@ -903,17 +905,33 @@ begin
|
|||
Result := IsValid(fSchema.IndexOf(name));
|
||||
end;
|
||||
|
||||
function DataFrameCursor.Int(i: integer): integer :=
|
||||
intAcc[i](pos);
|
||||
function DataFrameCursor.Int(i: integer): integer;
|
||||
begin
|
||||
if not IsValid(i) then
|
||||
Error(ER_VALUE_IS_NA, fSchema.NameAt(i));
|
||||
Result := intAcc[i](pos);
|
||||
end;
|
||||
|
||||
function DataFrameCursor.Float(i: integer): real :=
|
||||
floatAcc[i](pos);
|
||||
function DataFrameCursor.Float(i: integer): real;
|
||||
begin
|
||||
if not IsValid(i) then
|
||||
Error(ER_VALUE_IS_NA, fSchema.NameAt(i));
|
||||
Result := floatAcc[i](pos);
|
||||
end;
|
||||
|
||||
function DataFrameCursor.Str(i: integer): string :=
|
||||
strAcc[i](pos);
|
||||
function DataFrameCursor.Str(i: integer): string;
|
||||
begin
|
||||
if not IsValid(i) then
|
||||
Error(ER_VALUE_IS_NA, fSchema.NameAt(i));
|
||||
Result := strAcc[i](pos);
|
||||
end;
|
||||
|
||||
function DataFrameCursor.Bool(i: integer): boolean :=
|
||||
boolAcc[i](pos);
|
||||
function DataFrameCursor.Bool(i: integer): boolean;
|
||||
begin
|
||||
if not IsValid(i) then
|
||||
Error(ER_VALUE_IS_NA, fSchema.NameAt(i));
|
||||
Result := boolAcc[i](pos);
|
||||
end;
|
||||
|
||||
function DataFrameCursor.Int(name: string): integer;
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ type
|
|||
|
||||
/// Базовый интерфейс модели машинного обучения
|
||||
IModel = interface(IMatrixStep)
|
||||
// function Predict(X: Matrix): Vector; // вынес в IPredictiveModel
|
||||
function Clone: IModel;
|
||||
function Name: string;
|
||||
property IsFitted: boolean read;
|
||||
|
|
@ -129,8 +128,12 @@ type
|
|||
/// Позволяет получать значения в диапазоне (0, 1)
|
||||
/// вместо только итогового решения.
|
||||
IProbabilisticClassifier = interface(IClassifier)
|
||||
/// Возвращает матрицу вероятностей размера (nSamples × nClasses).
|
||||
/// Столбцы соответствуют классам в порядке внутреннего кодирования модели
|
||||
/// Возвращает матрицу вероятностей классов для всех объектов из X.
|
||||
/// Размер результата: nSamples × nClasses, где:
|
||||
/// - nSamples — число объектов в X;
|
||||
/// - nClasses — число классов модели.
|
||||
/// Элемент [i, k] содержит вероятность того, что объект i принадлежит классу k.
|
||||
/// Сумма вероятностей в каждой строке равна 1.
|
||||
function PredictProba(X: Matrix): Matrix;
|
||||
end;
|
||||
|
||||
|
|
|
|||
|
|
@ -357,7 +357,12 @@ type
|
|||
/// • обученное состояние модели НЕ копируется методом Clone
|
||||
function Fit(X: Matrix; y: Vector): ISupervisedModel;
|
||||
|
||||
/// Возвращает матрицу вероятностей (m x k).
|
||||
/// Возвращает матрицу вероятностей классов для всех объектов из X.
|
||||
/// Размер результата: nSamples × nClasses, где:
|
||||
/// - nSamples — число объектов в X;
|
||||
/// - nClasses — число классов модели.
|
||||
/// Элемент [i, k] содержит вероятность того, что объект i принадлежит классу k.
|
||||
/// Сумма вероятностей в каждой строке равна 1.
|
||||
function PredictProba(X: Matrix): Matrix;
|
||||
|
||||
/// Возвращает массив меток классов в порядке столбцов PredictProba.
|
||||
|
|
@ -999,12 +1004,12 @@ type
|
|||
/// Требует предварительного вызова Fit.
|
||||
function PredictLabels(X: Matrix): array of integer;
|
||||
|
||||
/// Возвращает оценки вероятностей принадлежности объектов из X к каждому классу.
|
||||
/// Результат — матрица размера [nSamples x nClasses].
|
||||
/// Возвращает матрицу вероятностей классов для всех объектов из X.
|
||||
/// Размер результата: nSamples × nClasses, где:
|
||||
/// - nSamples — число объектов в X;
|
||||
/// - nClasses — число классов модели.
|
||||
/// Элемент [i, k] содержит вероятность того, что объект i принадлежит классу k.
|
||||
/// Порядок классов соответствует fIndexToClass.
|
||||
/// Сумма вероятностей по строке равна 1.
|
||||
/// Требует предварительного вызова Fit.
|
||||
/// Сумма вероятностей в каждой строке равна 1.
|
||||
function PredictProba(X: Matrix): Matrix;
|
||||
|
||||
/// Копирует только конфигурацию модели (без обученного состояния).
|
||||
|
|
@ -1324,9 +1329,12 @@ type
|
|||
|
||||
function PredictLabels(X: Matrix): array of integer;
|
||||
|
||||
/// Возвращает вероятности принадлежности к каждому классу.
|
||||
/// Размер результата: [nSamples x nClasses].
|
||||
/// Вероятности получаются через softmax.
|
||||
/// Возвращает матрицу вероятностей классов для всех объектов из X.
|
||||
/// Размер результата: nSamples × nClasses, где:
|
||||
/// - nSamples — число объектов в X;
|
||||
/// - nClasses — число классов модели.
|
||||
/// Элемент [i, k] содержит вероятность того, что объект i принадлежит классу k.
|
||||
/// Сумма вероятностей в каждой строке равна 1.
|
||||
function PredictProba(X: Matrix): Matrix;
|
||||
|
||||
function GetClasses: array of real;
|
||||
|
|
@ -1485,10 +1493,12 @@ type
|
|||
/// для одного экземпляра модели.
|
||||
function PredictLabels(X: Matrix): array of integer;
|
||||
|
||||
/// Возвращает матрицу вероятностей размера (nSamples × nClasses).
|
||||
/// Столбцы соответствуют классам в порядке, возвращаемом GetClasses().
|
||||
/// Не является потокобезопасным: не вызывать одновременно из нескольких потоков
|
||||
/// для одного экземпляра модели.
|
||||
/// Возвращает матрицу вероятностей классов для всех объектов из X.
|
||||
/// Размер результата: nSamples × nClasses, где:
|
||||
/// - nSamples — число объектов в X;
|
||||
/// - nClasses — число классов модели.
|
||||
/// Элемент [i, k] содержит вероятность того, что объект i принадлежит классу k.
|
||||
/// Сумма вероятностей в каждой строке равна 1.
|
||||
function PredictProba(X: Matrix): Matrix;
|
||||
|
||||
/// Возвращает массив меток классов в порядке столбцов PredictProba
|
||||
|
|
@ -1802,8 +1812,12 @@ type
|
|||
/// Делает предсказание
|
||||
function Predict(X: Matrix): Vector;
|
||||
|
||||
/// Возвращает матрицу вероятностей (m x k)
|
||||
/// для вероятностной модели в конце пайплайна.
|
||||
/// Возвращает матрицу вероятностей классов для всех объектов из X.
|
||||
/// Размер результата: nSamples × nClasses, где:
|
||||
/// - nSamples — число объектов в X;
|
||||
/// - nClasses — число классов модели.
|
||||
/// Элемент [i, k] содержит вероятность того, что объект i принадлежит классу k.
|
||||
/// Сумма вероятностей в каждой строке равна 1.
|
||||
function PredictProba(X: Matrix): Matrix;
|
||||
|
||||
/// Показывает, был ли пайплайн обучен (вызван метод Fit).
|
||||
|
|
|
|||
Loading…
Reference in a new issue