-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrain.js
26 lines (19 loc) · 1.06 KB
/
train.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import * as tf from '@tensorflow/tfjs-node';
import { preprocess, dynamicLabels } from './data';
import train from './dataset/train.json';
import test from './dataset/test.json';
import { exportCsvDataset, exportCsvPredict } from './export.js';
export const run = () => new Promise((resolve) => {
let features = ['region', 'basin', 'scheme_management', 'extraction_type', 'management_group', 'payment_type', 'water_quality', 'quality_group', 'quantity', 'source', 'waterpoint_type', 'ward']
let manualFeature = ['gps_height', 'construction_year', 'population'];
let allFeatures = features.concat(manualFeature);
const dataset = train.concat(test);
const labelsGenerated = dynamicLabels(dataset, features.concat('status_group'));
const trainData = preprocess(train, labelsGenerated);
const testData = preprocess(test, labelsGenerated);
/** EXPORT **/
exportCsvDataset(trainData.X, allFeatures, 'train-formated-X');
exportCsvDataset(testData.X, allFeatures, 'test-formated-X');
exportCsvPredict(trainData.y, ['predict'],'train-formated-y');
resolve();
});