题解|特征扩展实现

特征扩展实现

https://www.nowcoder.com/practice/eb6bf37ecb954478944ad2dd0c3adedc?tpId=377&tags=&title=&difficulty=0&judgeStatus=0&rp=0&sourceUrl=%2Fexam%2Foj

特征扩展是一种数据预处理技术,包括特征缩放、特征标准化、特征归一化、特征正则化等。本题考察的是特征缩放和特征标准化。

特征缩放是一种将输入数据转换为统一尺度的方法,它通过将输入数据中的每个元素进行缩放,来使得输入数据中的每个元素的值统一在某个尺度之下。

特征标准化是将输入数据转换为均值为0,方差为1的分布。

本题中要求了标准化和最大最小归一化,对应的公式为:

标准代码如下

def feature_scaling(data):
    mean = np.mean(data, axis=0)
    std = np.std(data, axis=0)
    standardized_data = (data - mean) / std
    
    min_val = np.min(data, axis=0)
    max_val = np.max(data, axis=0)
    normalized_data = (data - min_val) / (max_val - min_val)
    
    return np.round(standardized_data,4).tolist(), np.round(normalized_data,4).tolist()

需要注意的是,scipy库中也有对应的特征缩放方法,这里给出一种实现方式

def feature_scaling(data):
    from sklearn.preprocessing import StandardScaler, MinMaxScaler
    scaler = StandardScaler()
    standardized_data = scaler.fit_transform(data)
    scaler = MinMaxScaler()
    normalized_data = scaler.fit_transform(data)
    return np.round(standardized_data,4).tolist(), np.round(normalized_data,4).tolist()
全部评论

相关推荐

05-21 15:47
门头沟学院 Java
浪漫主义的虹夏:项目有亮点吗,第一个不是纯玩具项目吗,项目亮点里类似ThreadLocal,Redis储存说难听点是花几十分钟绝大部分人都能学会,第二个轮子项目也没体现出设计和技术,想实习先沉淀,好高骛远的自嗨只会害了自己
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务