fix: normaliza embedding data

This commit is contained in:
jialin
2025-06-06 18:43:02 +08:00
parent 7df8216b34
commit 2bfb93a063
2 changed files with 25 additions and 1 deletions
@@ -216,6 +216,7 @@ const GroundEmbedding: React.FC<MessageProps> = forwardRef((props, ref) => {
workerRef.current!.onmessage = (event: MessageEvent) => {
const { scatterData, embeddingData } = event.data;
console.log('scatterData', scatterData);
setScatterData(scatterData);
setEmbeddingData(embeddingData);
setLoading(false);
@@ -1,6 +1,27 @@
import _ from 'lodash';
import { PCA } from 'ml-pca';
const normalize2D = (data: number[][]) => {
const dim = data[0].length;
const mins = Array(dim).fill(Infinity);
const maxs = Array(dim).fill(-Infinity);
for (const row of data) {
for (let i = 0; i < dim; i++) {
mins[i] = Math.min(mins[i], row[i]);
maxs[i] = Math.max(maxs[i], row[i]);
}
}
return data.map((row) =>
row.map((val, i) => {
const range = maxs[i] - mins[i];
if (range === 0) return 0;
return ((val - mins[i]) / range) * 2 - 1;
})
);
};
self.onmessage = (
event: MessageEvent<{
embeddings: any[];
@@ -29,7 +50,9 @@ self.onmessage = (
...fileList.map((item) => item.text).filter((item) => item)
];
const list = pcadata.map((item: number[], index: number) => {
const normalizedData = normalize2D(pcadata);
const list = normalizedData.map((item: number[], index: number) => {
return {
value: item,
name: index + 1,