当前位置:   article > 正文

机器学习---sklearn数据预处理_数据集的预处理例子

数据集的预处理例子

sklearn(Scikit-learn)是一个常用的机器学习库,提供了各种数据预处理方法。下面是一些常用的数据预处理方式以及使用sklearn的示例代码:

一、数据清洗(Data Cleaning):

        1、缺失值处理:使用SimpleImputer类来处理缺失值。下面是一个示例代码:

  1. from sklearn.impute import SimpleImputer
  2. # 创建SimpleImputer对象,使用均值填充缺失值
  3. imputer = SimpleImputer(strategy='mean')
  4. # 对数据集进行拟合和转换
  5. X_train = imputer.fit_transform(X_train)
  6. X_test = imputer.transform(X_test)

二、特征选择(Feature Selection): 

        1、方差阈值(Variance Threshold):使用VarianceThreshold类来删除方差低于阈值的特征。下面是一个示例代码:

  1. from sklearn.feature_selection import VarianceThreshold
  2. # 创建VarianceThreshold对象,设置阈值为0.1
  3. selector = VarianceThreshold(threshold=0.1)
  4. # 对数据集进行拟合和转换
  5. X_train = selector.fit_transform(X_train)
  6. X_test = selector.transform(X_test)

        2、单变量特征选择(Univariate Feature Selection):使用SelectKBest类和相关的评分函数来选择与目标变量相关性最高的K个特征。下面是一个示例代码:

  1. from sklearn.feature_selection import SelectKBest, f_regression
  2. # 创建SelectKBest对象,使用f_regression评分函数选择5个特征
  3. selector = SelectKBest(score_func=f_regression, k=5)
  4. # 对数据集进行拟合和转换
  5. X_train = selector.fit_transform(X_train, y_train)
  6. X_test = selector.transform(X_test)

三、特征缩放(Feature Scaling):

        1、标准化(Standardization):使用StandardScaler类对特征进行标准化,使其具有零均值和单位方差。下面是一个示例代码: 

  1. from sklearn.preprocessing import StandardScaler
  2. # 创建StandardScaler对象
  3. scaler = StandardScaler()
  4. # 对数据集进行拟合和转换
  5. X_train = scaler.fit_transform(X_train)
  6. X_test = scaler.transform(X_test)

        2、归一化(Normalization):使用MinMaxScaler类对特征进行归一化,将其缩放到指定的范围(例如0到1)。下面是一个示例代码:

  1. from sklearn.preprocessing import MinMaxScaler
  2. # 创建MinMaxScaler对象
  3. scaler = MinMaxScaler()
  4. # 对数据集进行拟合和转换
  5. X_train = scaler.fit_transform(X_train)
  6. X_test = scaler.transform(X_test)

        3、均值移除(Mean Removal):均值移除是一种常见的特征缩放方法,用于将特征的均值移动到零(即使特征的均值为零)。在sklearn中,可以使用preprocessing模块中的scale函数来实现均值移除。示例代码如下:

  1. from sklearn.preprocessing import StandardScaler
  2. # 创建一个StandardScaler对象,进行均值移除
  3. scaler = StandardScaler(with_mean=True, with_std=False)
  4. # 使用scaler对数据集X进行均值移除
  5. X_mean_removed = scaler.fit_transform(X)
  6. X_test = scaler .transform(X_test)

四、特征转换

        1、二值化(Binarization):二值化是将数值特征转换为布尔值(0或1)的过程。在sklearn中,可以使用preprocessing模块中的Binarizer类来实现二值化。示例代码如下:

  1. from sklearn.preprocessing import Binarizer
  2. # 创建一个Binarizer对象,进行二值化
  3. binarizer = Binarizer(threshold=0.5)
  4. # 使用binarizer对数据集X进行二值化
  5. X_binarized = binarizer.fit_transform(X)
  6. X_test = binarizer .transform(X_test)

五、特征编码(Feature Encoding):

        1、独热编码(One-Hot Encoding):使用OneHotEncoder类对离散特征进行独热编码。下面是一个示例代码:

  1. from sklearn.preprocessing import OneHotEncoder
  2. # 创建OneHotEncoder对象
  3. encoder = OneHotEncoder()
  4. # 对数据集进行拟合和转换
  5. X_train = encoder.fit_transform(X_train)
  6. X_test = encoder.transform(X_test)

        2、标签编码(Label Encoding):使用LabelEncoder类对离散特征进行标签编码,将其转换为整数表示。下面是一个示例代码:

  1. from sklearn.preprocessing import LabelEncoder
  2. # 创建LabelEncoder对象
  3. encoder = LabelEncoder()
  4. # 对数据集进行拟合和转换
  5. y_train = encoder.fit_transform(y_train)
  6. y_test = encoder.transform(y_test)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/414861
推荐阅读
相关标签
  

闽ICP备14008679号