data_scaler_methods: StandardScaler: principle: "通过去均值和按标准差缩放特征,使数据呈标准正态分布(均值为0,标准差为1)。" advantages: - "适用于大多数机器学习算法,尤其是对特征范围敏感的模型(如SVM、KNN)。" - "有效消除量纲影响,提高数值稳定性。" disadvantages: - "对异常值敏感,异常值可能会影响均值和标准差。" applicable_scenarios: - "数据服从正态分布或接近正态分布的情况。" - "使用需要标准化特征的模型,如线性回归、逻辑回归、SVM等。" MinMaxScaler: principle: "将特征缩放到指定范围(默认[0,1]),保持数据的相对比例不变。" advantages: - "适用于保持原始数据分布不变的场景。" - "对异常值不敏感,相比标准化更稳定。" disadvantages: - "可能会压缩原始数据的方差,影响模型性能。" applicable_scenarios: - "数据分布未知或不符合正态分布。" - "神经网络、决策树等不受特征尺度影响的模型。" RobustScaler: principle: "使用中位数和四分位距对数据进行缩放,以减少异常值的影响。" advantages: - "对异常值具有较强的鲁棒性。" - "适用于数据具有较多离群值的情况。" disadvantages: - "与标准化相比,可能会损失部分数据的可解释性。" applicable_scenarios: - "数据包含大量异常值,但仍需缩放特征。" - "数据分布较为偏态的情况。" Normalizer: principle: "对样本(而非特征)进行归一化处理,使每个样本的范数为1。" advantages: - "适用于强调样本间的相对大小而非绝对值的情况。" - "有助于在稀疏数据(如文本数据)上使用。" disadvantages: - "不能消除特征之间的量纲差异。" applicable_scenarios: - "文本分类、推荐系统等涉及余弦相似度的任务。" - "数据表示为向量时,如TF-IDF特征向量。" Binarizer: principle: "根据设定阈值将数据二值化,特征值大于该阈值设为1,否则设为0。" advantages: - "适用于需要转换为布尔变量的情况。" - "可用于离散化连续特征。" disadvantages: - "丢失原始特征的数值信息,可能导致信息损失。" applicable_scenarios: - "处理二元分类任务,如是否点击广告、是否购买商品。" - "对特定阈值敏感的数据特征进行转换。" missing_value_handling_methods: SimpleImputer: principle: "使用统计方法(如均值、中位数、众数)或常数值填充缺失值。" advantages: - "实现简单,计算速度快。" - "适用于数值型和分类型数据。" disadvantages: - "未考虑特征之间的相关性,可能导致偏差。" applicable_scenarios: - "数据缺失比例较小且随机分布。" - "需要快速处理缺失值的场景。" IterativeImputer: principle: "使用多重插补方法,基于其他特征预测缺失值。" advantages: - "考虑了特征之间的相关性,填补更准确。" disadvantages: - "计算复杂度高,处理时间较长。" - "对模型的选择和参数设置较为敏感。" applicable_scenarios: - "数据缺失模式复杂,特征之间存在较强相关性。" - "对数据完整性要求高的场景。" KNNImputer: principle: "基于k近邻算法,用相似样本的值填充缺失值。" advantages: - "利用了数据的局部结构信息,填补效果较好。" disadvantages: - "计算量大,特别是对于大型数据集。" - "对异常值敏感,可能受到噪声影响。" applicable_scenarios: - "数据集较小且特征之间存在相关性。" - "缺失值与其邻近样本的值相似的情况。" MissingIndicator: principle: "生成指示器变量,标记数据中缺失值的位置。" advantages: - "保留了缺失值的信息,供模型使用。" - "可与其他填补方法结合使用。" disadvantages: - "增加了特征数量,可能导致模型复杂度增加。" applicable_scenarios: - "希望模型感知缺失模式的场景。" - "与填补方法结合使用,以提高模型性能。" outlier_detection_methods: IsolationForest: principle: "通过构建随机决策树,将数据分割为更小的部分,孤立出异常点。异常点在树中更接近根节点。" advantages: - "对高维数据有效。" - "无需对数据进行标准化处理。" - "处理大规模数据集时速度较快。" disadvantages: - "对数据中的噪声和离群点敏感。" - "需要选择适当的子采样大小和树的数量。" applicable_scenarios: - "大规模、高维数据集的异常值检测。" - "需要高效处理速度的实时应用。" OneClassSVM: principle: "使用支持向量机方法,寻找最大化数据与原点间距的超平面,将正常数据与异常数据分离。" advantages: - "适用于线性和非线性数据。" - "在小样本数据集上表现良好。" disadvantages: - "对参数敏感,需谨慎调节。" - "在大规模数据集上计算成本较高。" applicable_scenarios: - "小型数据集的异常值检测。" - "数据分布复杂,需要非线性分割的情况。" LocalOutlierFactor: principle: "通过比较样本与其邻居的局部密度差异,识别异常点。异常点通常位于低密度区域。" advantages: - "无需监督标签即可检测异常。" - "能够发现局部异常。" disadvantages: - "计算复杂度高,处理大数据集时效率较低。" - "对参数(如邻居数量)敏感。" applicable_scenarios: - "数据集中存在局部异常的情况。" - "需要无监督异常检测的场景。" EllipticEnvelope: principle: "假设数据服从高斯分布,拟合一个椭圆包络,将数据包围其中,超出包络的点被视为异常。" advantages: - "适用于数据接近高斯分布的情况。" - "实现简单,计算速度快。" disadvantages: - "对非高斯分布的数据效果较差。" - "对异常值和噪声敏感。" applicable_scenarios: - "数据近似高斯分布的异常值检测。" - "需要快速检测异常的应用。"