@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
120 lines (119 loc) • 3.89 kB
TypeScript
/**
* Multi layer perceptron classifier
*/
export class MLPClassifier {
/**
* @param {number[]} hidden_sizes Sizes of hidden layers
* @param {'identity' | 'elu' | 'gaussian' | 'leaky_relu' | 'relu' | 'sigmoid' | 'softplus' | 'softsign' | 'tanh'} [activation] Activation name
*/
constructor(hidden_sizes: number[], activation?: 'identity' | 'elu' | 'gaussian' | 'leaky_relu' | 'relu' | 'sigmoid' | 'softplus' | 'softsign' | 'tanh');
_hidden_sizes: number[];
_activations: any[];
_model: MLP;
_classes: any[];
_epoch: number;
/**
* Category list
* @type {*[]}
*/
get categories(): any[];
/**
* Epoch
* @type {number}
*/
get epoch(): number;
/**
* Returns object representation.
* @returns {LayerObject[]} Object represented this neuralnetwork
*/
toObject(): LayerObject[];
/**
* Fit model.
* @param {Array<Array<number>>} train_x Training data
* @param {*[]} train_y Target values
* @param {number} iteration Iteration count
* @param {number} [rate] Learning rate
* @param {number} [batch] Batch size
* @returns {number} Loss value
*/
fit(train_x: Array<Array<number>>, train_y: any[], iteration: number, rate?: number, batch?: number): number;
_fitonce(x: any, y: any, r: any): Matrix<number>;
/**
* Returns predicted probabilities.
* @param {Array<Array<number>>} x Sample data
* @returns {Array<Array<number>>} Predicted values
*/
probability(x: Array<Array<number>>): Array<Array<number>>;
/**
* Returns predicted values.
* @param {Array<Array<number>>} x Sample data
* @returns {*[]} Predicted values
*/
predict(x: Array<Array<number>>): any[];
}
/**
* Multi layer perceptron regressor
*/
export class MLPRegressor {
/**
* @param {number[]} hidden_sizes Sizes of hidden layers
* @param {'identity' | 'elu' | 'gaussian' | 'leaky_relu' | 'relu' | 'sigmoid' | 'softplus' | 'softsign' | 'tanh'} [activation] Activation name
*/
constructor(hidden_sizes: number[], activation?: 'identity' | 'elu' | 'gaussian' | 'leaky_relu' | 'relu' | 'sigmoid' | 'softplus' | 'softsign' | 'tanh');
_hidden_sizes: number[];
_activations: any[];
_model: MLP;
_epoch: number;
/**
* Epoch
* @type {number}
*/
get epoch(): number;
/**
* Returns object representation.
* @returns {LayerObject[]} Object represented this neuralnetwork
*/
toObject(): LayerObject[];
/**
* Fit model.
* @param {Array<Array<number>>} train_x Training data
* @param {Array<Array<number>>} train_y Target values
* @param {number} iteration Iteration count
* @param {number} [rate] Learning rate
* @param {number} [batch] Batch size
* @returns {number} Loss value
*/
fit(train_x: Array<Array<number>>, train_y: Array<Array<number>>, iteration: number, rate?: number, batch?: number): number;
_fitonce(x: any, y: any, r: any): Matrix<number>;
/**
* Returns predicted values.
* @param {Array<Array<number>>} x Sample data
* @returns {Array<Array<number>>} Predicted values
*/
predict(x: Array<Array<number>>): Array<Array<number>>;
}
export type LayerObject = import("./nns/graph").LayerObject;
declare class MLP {
constructor(layer_sizes: any, activations: any);
_layer_sizes: any;
_activations: any;
_a: any[];
_w: Matrix<number>[];
_b: Matrix<number>[];
_optimizer: adam;
_optimizer_mng: {
readonly lr: number;
params: {};
delta(key: any, value: any): any;
};
calc(x: any): any;
_i: any[];
_o: any[];
update(e: any, r: any): void;
toObject(): {
type: string;
}[];
}
import Matrix from '../util/matrix.js';
import { adam } from './nns/optimizer.js';
export {};