题解 | 特征扩展实现
特征扩展实现
https://www.nowcoder.com/practice/eb6bf37ecb954478944ad2dd0c3adedc
import numpy as np
def feature_scaling(data):
# 补全代码
data = np.array(data, dtype=float) # 确保是浮点数运算
# 标准化缩放
mean = data.mean(axis=0)
std = data.std(axis=0)
z = np.zeros_like(data, dtype=float)
mask_std = std != 0
z[:, mask_std] = (data[:, mask_std] - mean[mask_std]) / std[mask_std]
# 最小-最大标准化缩放
minv = data.min(axis=0)
maxv = data.max(axis=0)
rng = maxv - minv
mm = np.zeros_like(data, dtype=float)
mask_rng = rng != 0
mm[:, mask_rng] = (data[:, mask_rng] - minv[mask_rng]) / rng[mask_rng]
# 转成列表型数据并保留四位有效数字
z_list = np.round(z, 4).tolist()
mm_list = np.round(mm, 4).tolist()
return z_list, mm_list
# 主程序
if __name__ == "__main__":
# 输入数组
data = input()
# # 处理输入
# import ast
# data = ast.literal_eval(data)
data = eval(data)
# 调用函数计算
output = feature_scaling(data)
# 输出结果
print(output)

字节跳动公司福利 1371人发布