UNPKG

@modelx/modelx

Version:

Construct AI & ML models with JSON using Typescript & Tensorflow

176 lines (175 loc) 8.3 kB
import { Dimensions } from './constants'; import * as ModelXDataTypes from '@modelx/data/src/DataSet'; export declare type UniqueDateOptions = { start: string; end: string; time_zone: string; weekday?: string | number; }; /** * Returns an array of JavaScript Dates by Month within a range of ISO dates * @example getUniqueYears({ start: '2018-01-01', end: '2018-03-01', time_zone: 'America/Los_Angeles', }) => [ 2017-01-01T08:00:00.000Z, 2018-01-01T08:00:00.000Z, 2019-01-01T08:00:00.000Z ] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueYears({ start, end, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an array of JavaScript Dates by Month within a range of ISO dates * @example getUniqueMonths({ start: '2018-01-01', end: '2018-03-01', time_zone: 'America/Los_Angeles', }) => [ 2018-01-01T08:00:00.000Z, 2018-02-01T08:00:00.000Z, 2018-03-01T08:00:00.000Z ] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueMonths({ start, end, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an array of JavaScript Dates by Weeks within a range of ISO dates * @example getUniqueMonths({ start: '2018-01-01', end: '2018-01-31', weekday:'monday', time_zone: 'America/Los_Angeles', }) => [ 2018-01-01T08:00:00.000Z, 2018-01-08T08:00:00.000Z, 2018-01-15T08:00:00.000Z, 2018-01-22T08:00:00.000Z, 2018-01-29T08:00:00.000Z ]] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @param {String|Number} options.weekday - 'monday' or '1' * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueWeeks({ start, end, weekday, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an array of JavaScript Dates by Days within a range of ISO dates * @example getUniqueMonths({ start: '2018-01-01', end: '2018-01-31', weekday:'monday', time_zone: 'America/Los_Angeles', }) => [ 2018-01-01T08:00:00.000Z, 2018-01-02T08:00:00.000Z, ... 2018-01-29T08:00:00.000Z, 2018-01-30T08:00:00.000Z, 2018-01-31T08:00:00.000Z ]] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueDays({ start, end, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an array of JavaScript Dates by Hours within a range of ISO dates * @example getUniqueHours({ start: '2018-01-01', end: '2018-01-31', weekday:'monday', time_zone: 'America/Los_Angeles', }) => [ 2018-01-01T00:08:00.000Z, 2018-01-01T01:09:00.000Z, ... 2018-01-01T21:00:00.000Z, 2018-01-01T22:00:00.000Z, 2018-01-01T23:00:00.000Z ]] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueHours({ start, end, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an array of JavaScript Dates by Hours within a range of ISO dates * @example getUniqueHours({ start: '2018-01-01', end: '2018-01-31', weekday:'monday', time_zone: 'America/Los_Angeles', }) => [ 2018-01-01T00:08:00.000Z, 2018-01-01T01:09:00.000Z, ... 2018-01-01T21:00:00.000Z, 2018-01-01T22:00:00.000Z, 2018-01-01T23:00:00.000Z ]] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueMinutes({ start, end, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an array of JavaScript Dates by Hours within a range of ISO dates * @example getUniqueSeconds({ start: '2018-01-01', end: '2018-01-31', weekday:'monday', time_zone: 'America/Los_Angeles', }) => [ 2018-01-01T00:08:00.000Z, 2018-01-01T01:09:00.000Z, ... 2018-01-01T21:00:00.000Z, 2018-01-01T22:00:00.000Z, 2018-01-01T23:00:00.000Z ]] * @param {String} options.start - start of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.end - end of date range (ISO Date String) e.g. 2018-05-31 * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date[]} Array of JavaScript Dates */ export declare function getUniqueSeconds({ start, end, time_zone, }: UniqueDateOptions): Date[]; /** * Returns an end date from a start date by dimension * @example getEndDate({ start: '2018-01-01', dimension: 'monthly', time_zone: 'America/Los_Angeles', }) => 2018-02-01T00:08:00.000Z getEndDate({ start: '2018-01-01', dimension: 'weekly', time_zone: 'America/Los_Angeles', }) => 2018-01-08T00:08:00.000Z getEndDate({ start: '2018-01-01', dimension: 'daily', time_zone: 'America/Los_Angeles', }) => 2018-01-02T00:08:00.000Z getEndDate({ start: '2018-01-01', dimension: 'hourly', time_zone: 'America/Los_Angeles', }) => 2018-01-01T00:09:00.000Z * @param {Date} options.start_date - start of date * @param {String} options.dimension - monthly, weekly, daily, hourly * @param {String} options.time_zone - valid IANA time_zone e.g. America/Los_Angeles * @returns {Date} JavaScript end date */ export declare function getEndDate(options: { start_date: Date; dimension: string; time_zone: string; }): Date; export declare const dimensionDates: { [Dimensions.YEARLY]: typeof getUniqueYears; [Dimensions.MONTHLY]: typeof getUniqueMonths; [Dimensions.WEEKLY]: typeof getUniqueWeeks; [Dimensions.DAILY]: typeof getUniqueDays; [Dimensions.HOURLY]: typeof getUniqueHours; [Dimensions.MINUTELY]: typeof getUniqueMinutes; [Dimensions.SECONDLY]: typeof getUniqueSeconds; }; export declare function getEncodedFeatures({ DataSet, features, }: { DataSet: ModelXDataTypes.DataSet; features?: string[]; }): any[]; export declare enum AutoFeatureTypes { TEXT = "text-encoded", LABEL = "text-label", BOOLEAN = "boolean", NUMBER = "number", AUTO = "auto-detect" } export declare type AutoFeature = { feature_field_type: AutoFeatureTypes; feature_field_name: string; }; export declare type AutoFeatureAutoAssignmentOptions = { independent_variables?: string[]; dependent_variables?: string[]; datum?: ModelXDataTypes.Datum; input_independent_features?: AutoFeature[]; output_dependent_features?: AutoFeature[]; training_feature_column_options?: ModelXDataTypes.DataSetTransform; preprocessing_feature_column_options?: ModelXDataTypes.DataSetTransform; features?: AutoFeature[]; }; export declare function getAutoFeatures({ variables, datum }: { variables: string[]; datum: ModelXDataTypes.Datum; }): AutoFeature[]; export declare function autoAssignFeatureColumns({ independent_variables, dependent_variables, datum, input_independent_features, output_dependent_features, training_feature_column_options, preprocessing_feature_column_options, }: AutoFeatureAutoAssignmentOptions): { x_raw_independent_features: any[]; y_raw_dependent_labels: any[]; training_feature_column_options: ModelXDataTypes.DataSetTransform; preprocessing_feature_column_options: ModelXDataTypes.DataSetTransform; };