我玩了一些
- 从大类中获取数据(体重和身高分别为x和y,性别为类),
- 进行KNN分析,保存公式
- 在单独的表格中生成一个网格,然后将“公式”复制到该网格中以显示“决策区域”
见截图。 可能更漂亮(这是由于数据分发等引起的),但显示了含义。
如果您不想编码,也可以交互方式进行。 随附的是此示例的代码。 也许这会有所帮助。

Names Default To Here( 1 );
// Create a data table (x and y are height and weight from Big Class, class is sex)
dt_data= New Table( "dt_data",
Add Rows( 40 ),
New Column( "x", Numeric,
"Continuous",
Format( "Fixed Dec", 5, 0 ),
Set Values(
[59, 61, 55, 66, 52, 60, 61, 51, 60, 61, 56, 65, 63, 58, 59, 61, 62, 65, 63, 62,
63, 64, 65, 64, 68, 64, 69, 62, 64, 67, 65, 66, 62, 66, 65, 60, 68, 62, 68, 70]
),
Set Display Width( 48 )
),
New Column("y", Numeric,
"Continuous",
Format( "Fixed Dec", 5, 0 ),
Set Values(
[95, 123, 74, 145, 64, 84, 128, 79, 112, 107, 67, 98, 105, 95, 79, 81, 91, 142,
84, 85, 93, 99, 119, 92, 112, 99, 113, 92, 112, 128, 111, 105, 104, 106, 112,
115, 128, 116, 134, 172]
),
Set Display Width( 48 )
),
New Column( "class", Numeric,
"Nominal",
Format( "Best", 12 ),
Set Values(
[1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2]
)
),
);
// Model class by x and y and save formula
knn_rep = dt_data << K Nearest Neighbors(
Y( :class ),
X( :x, :y ),
K( 10 ),
Set Random Seed( 42 )
);
knn_rep << xpath( "class" ) << Save Prediction Formula( 8 );
knn_rep << Close Window();
// Generate a grid data table to show the whole field
Summarize(
dt_data,
max_x = Max( :x ),
min_x = Min( :x ),
max_y = Max( :y ),
min_y = Min( :y )
);
dx = 1;
get_limit = Function( {value},
Round( value / dx ) * dx + If( value >= 0, 1, -1 ) * dx
);
dtx = As Table(
(get_limit( min_x ) / dx :: get_limit( max_x ) / dx)` * dx,
<<COLUMN names=""></COLUMN>