z-score标准化 C代码
时间: 2023-03-20 08:02:33 浏览: 153
以下是一个使用z-score标准化进行数据预处理的C代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// 定义z-score标准化函数
void zscore(int n, double *x) {
double sum = 0.0, sumsq = 0.0;
int i;
// 计算数据的平均值
for (i = 0; i < n; i++) {
sum += x[i];
}
double mean = sum / n;
// 计算数据的标准差
for (i = 0; i < n; i++) {
sumsq += pow(x[i] - mean, 2.0);
}
double stddev = sqrt(sumsq / n);
// 进行z-score标准化
for (i = 0; i < n; i++) {
x[i] = (x[i] - mean) / stddev;
}
}
int main() {
int n = 5;
double x[] = {1.0, 2.0, 3.0, 4.0, 5.0};
int i;
printf("原始数据:");
for (i = 0; i < n; i++) {
printf("%lf ", x[i]);
}
printf("\n");
zscore(n, x);
printf("标准化后的数据:");
for (i = 0; i < n; i++) {
printf("%lf ", x[i]);
}
printf("\n");
return 0;
}
```
阅读全文