{
const numSamples = 1000;
const circleRadius = 5;
const noise = 0.01;
const data = [];
for (let i = 0; i < numSamples; i++) {
const radius = Math.random() * circleRadius;
const angle = Math.random() * 2 * Math.PI;
const x = radius * Math.cos(angle) + (Math.random() - 0.5) * noise;
const y = radius * Math.sin(angle) + (Math.random() - 0.5) * noise;
const distanceFromCenter = Math.sqrt(x ** 2 + y ** 2);
const label = distanceFromCenter > circleRadius / 2 ? 1 : 0;
data.push({ x, y, target: label });
}
const colorMap = {
0: "orange",
1: "blue",
}
return Plot.plot({
marks: [
Plot.dot(data, {
x: featureNames[0],
y: featureNames[1],
fill: (datum) => colorMap[datum.target]
})
]
});
}