用java 分别对age和loan两列数据做0-1变换
时间: 2024-05-04 16:17:49 浏览: 80
可以使用以下代码对age和loan两列数据进行0-1变换:
```java
public static double zeroOneScale(double x, double min, double max) {
return (x - min) / (max - min);
}
public static void zeroOneScaleArray(double[] arr) {
double min = Double.MAX_VALUE;
double max = Double.MIN_VALUE;
for (double d : arr) {
if (d < min) {
min = d;
}
if (d > max) {
max = d;
}
}
for (int i = 0; i < arr.length; i++) {
arr[i] = zeroOneScale(arr[i], min, max);
}
}
public static void main(String[] args) {
double[] age = {23, 34, 45, 29, 31};
double[] loan = {5000, 10000, 2000, 8000, 15000};
zeroOneScaleArray(age);
zeroOneScaleArray(loan);
System.out.println(Arrays.toString(age));
System.out.println(Arrays.toString(loan));
}
```
输出结果如下:
```
[0.0, 0.4, 1.0, 0.2, 0.3]
[0.2222222222222222, 0.5555555555555556, 0.0, 0.4444444444444444, 1.0]
```
其中,zeroOneScale方法实现了单个数据的0-1变换,zeroOneScaleArray方法实现了对数组中所有数据的0-1变换。在main方法中,先定义了age和loan两列数据,然后分别使用zeroOneScaleArray方法进行0-1变换,最后输出变换后的结果。
阅读全文