怎么做插值

aks*_*kss 7 c# .net-3.5

我的分析数据非常少,因此我希望通过插值生成更多数据用于分析.

我的数据集包含23个独立属性和1个依赖属性.....如何进行插值?

编辑:

我的主要问题是数据短缺,我要增加我的数据集的大小,n属性是分类的,例如属性A可能是低,高,meduim,所以插值是否是正确的方法????

Kie*_*one 0

粗略地说,插入一个数组:

double[] data = LoadData();
double requestedIndex = /* set to the index you want - e.g. 1.25 to interpolate between values at data[1] and data[2] */;

int previousIndex = (int)requestedIndex; // in example, would be 1
int nextIndex = previousIndex + 1; // in example, would be 2

double factor = requestedIndex - (double)previousIndex; // in example, would be 0.25

// in example, this would give 75% of data[1] plus 25% of data[2]
double result = (data[previousIndex] * (1.0 - factor)) + (data[nextIndex] * factor);
Run Code Online (Sandbox Code Playgroud)

这实际上是伪代码;它不执行范围检查,假设您的数据位于带有索引器的对象或数组中,等等。

希望这有助于您入门 - 如有任何问题,请发表评论。