• python中sklearn库在数据预处理中的详细用法,及5个常用的Scikit-learn(通常简称为 sklearn)程序代码示例


    在这里插入图片描述


    前言

    Scikit-learn(通常简称为 sklearn)是一个在 Python 中广泛使用的开源机器学习库,它包含了许多用于预处理数据的工具。

    sklearn是针对Python编程语言的免费软件机器学习库,它是scikit-learn的简称,是一个基于Python的第三方模块。sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务。

    sklearn库是在Numpy、Scipy和matplotlib的基础上开发而成的,因此在介绍sklearn的安装前,需要先安装这些依赖库。

    下面是一些在数据预处理中常用的 sklearn 功能和相应的代码示例


    Scikit-learn(通常简称为 sklearn)是一个在 Python 中广泛使用的开源机器学习库,它包含了许多用于预处理数据的工具。下面是一些在数据预处理中常用的 sklearn 功能和相应的代码示例。

    1. 数据清洗:使用 sklearn.preprocessing 中的 StandardScaler 和 MinMaxScaler 进行数据规范化。

    from sklearn.preprocessing import StandardScaler, MinMaxScaler  
      
    #  示例数据  
    data = [[0, 0], [0, 0], [1, 1], [1, 1]]  
      
    # 使用 StandardScaler 进行标准化  
    scaler = StandardScaler()  
    scaled_data = scaler.fit_transform(data)  
    print(scaled_data)  
      
    # 使用 MinMaxScaler 进行规范化  
    scaler = MinMaxScaler()  
    scaled_data = scaler.fit_transform(data)  
    print(scaled_data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    2. 缺失值处理:使用 sklearn.impute 中的 SimpleImputer 来填充缺失值。

    from sklearn.impute import SimpleImputer  
    import numpy as np  
      
    # 示例数据,其中第二列包含缺失值(NaN)  
    data = [[0, np.nan], [0, 0], [1, 1], [1, 1]]  
      
    # 使用 SimpleImputer 填充缺失值(默认为平均值)  
    imputer = SimpleImputer(strategy='mean')  
    imputed_data = imputer.fit_transform(data)  
    print(imputed_data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3. 数据编码:使用 sklearn.preprocessing 中的 OneHotEncoder 进行独热编码。

    from sklearn.preprocessing import OneHotEncoder  
    import numpy as np  
      
    # 示例数据,其中第二列是类别标签(整数)  
    data = [[0, 0], [0, 1], [1, 0], [1, 1]]  
      
    # 使用 OneHotEncoder 进行独热编码  
    encoder = OneHotEncoder(sparse=False)  
    encoded_data = encoder.fit_transform(data)  
    print(encoded_data)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4. 数据拆分:使用 sklearn.model_selection 中的 train_test_split 将数据集拆分为训练集和测试集。

    from sklearn.model_selection import train_test_split  
    import numpy as np  
      
    # 示例数据,用于训练模型(预测房价)  
    data = [[0, 0], [0, 1], [1, 0], [1, 1]]  # X = features, y = target (house price)  
    y = np.array([0, 1, 1, 0])  # target labels (0 = low price, 1 = high price)  
    X = data[:, 0:2]  # features (first two columns of data)  
      
    # 使用 train_test_split 将数据集拆分为训练集和测试集(比例为 80% 和 20%)  
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)  
    print('Training data:', X_train)  # training features (X_train) and labels (y_train)  
    print('Testing data:', X_test)  # testing features (X_test) and labels (y_test) for model evaluation and prediction on unseen data (real-world scenario)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    总结

    Scikit-learn和sklearn其实是同一个机器学习库的不同叫法,两者没有本质的区别。Scikit-learn是Scikit和Learn两个单词的组合,而sklearn是scikit-learn的简称,它包含各种无监督和监督学习技术,例如分类、回归、聚类等。

    Scikit-learn是Python中非常流行的机器学习库,它提供了许多实用的模块和工具,例如分类器、预处理器、聚类算法等,可以大大简化机器学习任务的开发过程。Scikit-learn基于NumPy、SciPy和matplotlib等库,具有简单易用的特点,同时社区支持也很丰富。

    总之,Scikit-learn和sklearn是同一个机器学习库的不同叫法。

  • 相关阅读:
    前端常用的 59 个工具类【持续更新】
    2025秋招NLP算法面试真题(七)-BN踩坑记--谈一下Batch Normalization的优缺点和适用场景
    软考(软件设计师)中的一些总结
    使用Tensorboard碰到AttributeError: module ‘distutils‘ has no attribute ‘version‘
    面试了个 985 毕业的同学,回答“性能调优”题时表情令我毕生难忘
    数据库学习之B-树
    Springboot
    【Flink源码】再谈Flink程序提交流程(上)
    bash shell实现简易进度条
    【Java面试】生产环境服务器变慢,如何诊断处理?
  • 原文地址:https://blog.csdn.net/qlkaicx/article/details/134480924