phase 1
This commit is contained in:
26
scripts/prepare_dataset.ts
Normal file
26
scripts/prepare_dataset.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { readFile, writeFile, readdir } from "node:fs/promises";
|
||||
import { join, basename } from "node:path";
|
||||
|
||||
async function prepare() {
|
||||
const csvContent = await readFile("measure.csv", "utf-8");
|
||||
const lines = csvContent.split("\n").slice(1);
|
||||
const factorizeDir = "sample/output/factorize";
|
||||
const files = (await readdir(factorizeDir)).filter(f => f.endsWith(".json"));
|
||||
const dataset: any[] = [];
|
||||
|
||||
for (const file of files) {
|
||||
const data = JSON.parse(await readFile(join(factorizeDir, file), "utf-8"));
|
||||
const songno = basename(file, ".json");
|
||||
|
||||
const match = lines.find(l => l.split(",")[1] == songno);
|
||||
if (match) {
|
||||
const constant = parseFloat(match.split(",")[0]);
|
||||
for (const analysis of data.analysis) {
|
||||
dataset.push({ x: Object.values(analysis.factors), y: constant });
|
||||
}
|
||||
}
|
||||
}
|
||||
await writeFile("sample/dataset/dataset.json", JSON.stringify(dataset));
|
||||
console.log(`Dataset prepared with ${dataset.length} samples.`);
|
||||
}
|
||||
prepare().catch(console.error);
|
||||
Reference in New Issue
Block a user