Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
this.activationFunction = function (i, j) {
this.set(i, j, actFunction(this.get(i, j)));
};
this.derivate = function (i, j) {
this.set(i, j, derFunction(this.get(i, j)));
};
if (options.model) {
// load model
this.W = Matrix.checkMatrix(options.W);
this.b = Matrix.checkMatrix(options.b);
} else {
// default constructor
this.W = Matrix.rand(this.inputSize, this.outputSize);
this.b = Matrix.zeros(1, this.outputSize);
this.W.apply(function (i, j) {
this.set(i, j, this.get(i, j) / Math.sqrt(options.inputSize));
});
}
}
import { Matrix } from 'ml-matrix';
import { KernelRidgeRegression } from '..';
var nSamples = 10;
var nVars = 2;
var Xs = Matrix.random(nSamples, nVars);
Xs.sub(0.5);
var Ys = Matrix.zeros(nSamples, 1);
for (var i = 0; i < nSamples; i++) {
Ys.set(
i,
0,
Xs.get(i, 0) * Xs.get(i, 0) +
2 * Xs.get(i, 0) * Xs.get(i, 1) +
Xs.get(i, 1) * Xs.get(i, 1)
);
}
describe('Kernel ridge regression', function () {
it('constant outputs', function () {
var model = new KernelRidgeRegression([[0, 0], [1, 1]], [[0], [0]]);
expect(model.predict([[1, 1], [2, 5], [4, 7]])).toStrictEqual([
[0],
[0],
function sumRow(matrix) {
var sum = Matrix.zeros(matrix.rows, 1);
for (var i = 0; i < matrix.rows; ++i) {
for (var j = 0; j < matrix.columns; ++j) {
sum[i][0] += matrix[i][j];
}
}
return sum;
}
}
}
var svd = new SVD(A.transpose(), {
computeLeftSingularVectors: true,
computeRightSingularVectors: true,
autoTranspose: false
});
var qqs = Matrix.rowVector(svd.diagonal);
qqs = qqs.apply(function (i, j) {
if (this.get(i, j) >= 1e-15) this.set(i, j, 1 / this.get(i, j));
else this.set(i, j, 0);
});
var qqs1 = Matrix.zeros(examples, coefficients);
for (i = 0; i < coefficients; ++i) {
qqs1.set(i, i, qqs.get(0, i));
}
qqs = qqs1;
var U = svd.rightSingularVectors;
var V = svd.leftSingularVectors;
this.coefficients = V.mmul(qqs.transpose())
.mmul(U.transpose())
.mmul(y);
col = 0;
for (i = 0; i <= coefficients; ++i) {
function sumCol(matrix) {
var sum = Matrix.zeros(1, matrix.columns);
for (var i = 0; i < matrix.rows; ++i) {
for (var j = 0; j < matrix.columns; ++j) {
sum[0][j] += matrix[i][j];
}
}
return sum;
}