classification_algorithms: LogisticRegression: principle: "逻辑回归是一种线性分类模型,使用 Sigmoid 函数将线性回归的输出映射到 [0,1] 之间,适用于二分类问题。" advantages: - "计算效率高,适用于大规模数据。" - "可解释性强,系数可用于判断特征的重要性。" - "对线性可分数据表现良好。" disadvantages: - "对非线性数据的处理能力较弱。" - "容易受到异常值的影响。" applicable_scenarios: - "医学诊断,如是否患有某种疾病。" - "信用风险评估,如贷款违约预测。" - "市场营销中的客户分类。" SVC: principle: "支持向量机(SVM)通过寻找最大化类别间隔的超平面进行分类,支持线性和非线性分类(通过核函数)。" advantages: - "适用于高维数据,尤其是样本较少的情况。" - "通过核函数可以处理非线性分类问题。" disadvantages: - "对大规模数据的计算复杂度较高。" - "对参数和核函数的选择较敏感。" applicable_scenarios: - "文本分类,如垃圾邮件检测。" - "图像识别,如手写数字分类。" SVDD: principle: "支持向量数据描述(SVDD)是一种基于支持向量机的单类分类方法,通过寻找最小球面来包围正常数据点,从而检测异常值。" advantages: - "适用于异常检测和单类分类问题。" - "能够有效应对非线性分布数据。" disadvantages: - "对参数选择较敏感,训练时间较长。" applicable_scenarios: - "异常检测,如信用卡欺诈检测。" - "工业设备故障检测。" DecisionTreeClassifier: principle: "决策树基于特征的划分规则构建一棵树,通过树结构进行分类。" advantages: - "可解释性强,易于理解和可视化。" - "对数据的分布和尺度不敏感,无需归一化。" disadvantages: - "容易过拟合,泛化能力较弱。" - "对噪声数据较敏感。" applicable_scenarios: - "客户细分,如电商用户分类。" - "医学诊断,如肿瘤良恶性分类。" RandomForestClassifier: principle: "随机森林是一种集成学习方法,通过构建多个决策树并投票或平均进行分类,提高模型的稳定性和准确性。" advantages: - "较强的泛化能力,能有效防止过拟合。" - "可用于高维数据,支持特征重要性评估。" disadvantages: - "训练时间较长,预测速度相对较慢。" applicable_scenarios: - "信用风险评估。" - "医疗数据分析。" XGBClassifier: principle: "XGBoost(Extreme Gradient Boosting)是一种基于梯度提升树(GBDT)的改进算法,具有更强的正则化和并行处理能力。" advantages: - "计算效率高,支持并行计算。" - "具有内置的缺失值处理能力。" disadvantages: - "参数较多,调优较复杂。" applicable_scenarios: - "金融风险预测。" - "搜索引擎排序。" AdaBoostClassifier: principle: "AdaBoost 是一种提升方法,它通过组合多个弱分类器来提高整体分类精度,赋予错误分类样本更高的权重。" advantages: - "能有效提升弱分类器的性能。" - "适用于处理非均衡数据。" disadvantages: - "对噪声数据敏感。" applicable_scenarios: - "人脸检测。" - "信用评分模型。" CatBoostClassifier: principle: "CatBoost 是一种专为类别特征优化的梯度提升决策树方法,适用于处理高维稀疏数据。" advantages: - "对类别型特征处理能力强。" - "训练速度快,支持 GPU 加速。" disadvantages: - "需要较长的训练时间。" applicable_scenarios: - "推荐系统。" - "搜索排序。" LGBMClassifier: principle: "LightGBM 是一种基于直方图优化的梯度提升树方法,优化了计算效率,适用于大规模数据。" advantages: - "计算速度快,适用于大规模数据集。" - "对高维特征数据处理效果良好。" disadvantages: - "对小数据集容易过拟合。" applicable_scenarios: - "广告点击率预测。" - "金融风控。" GaussianNB: principle: "高斯朴素贝叶斯基于贝叶斯定理,假设特征服从高斯分布进行分类。" advantages: - "计算效率高,适用于大规模数据。" - "对小数据集具有良好效果。" disadvantages: - "对特征的独立性假设较强,可能不适用于某些数据。" applicable_scenarios: - "文本分类。" - "医疗诊断。" KNeighborsClassifier: principle: "K 近邻(KNN)是一种基于距离度量的分类算法,通过找到最近的 K 个邻居来进行分类。" advantages: - "易于理解,实现简单。" - "对异常值不敏感。" disadvantages: - "计算复杂度高,预测速度较慢。" applicable_scenarios: - "推荐系统。" - "生物信息学分类。" MLPClassifier: principle: "多层感知机(MLP)是一种前馈神经网络,通过多个隐藏层和非线性激活函数实现复杂分类任务。" advantages: - "能够学习复杂的非线性关系。" - "适用于高维数据。" disadvantages: - "需要大量数据进行训练,容易过拟合。" applicable_scenarios: - "图像分类。" - "语音识别。" GradientBoostingClassifier: principle: "梯度提升决策树(GBDT)是一种集成学习方法,通过迭代训练多个决策树,使模型不断优化误差。" advantages: - "较强的泛化能力,适用于大规模数据集。" - "支持特征重要性分析。" disadvantages: - "训练时间较长,调优复杂。" applicable_scenarios: - "搜索引擎排名。" - "金融信用评分。" DNN: principle: "深度神经网络(DNN)是一种多层神经网络,通过多层非线性变换提取数据的复杂特征。" advantages: - "适用于复杂非线性问题。" - "能够处理大规模数据。" disadvantages: - "计算开销大,对硬件要求高。" applicable_scenarios: - "自动驾驶。" - "自然语言处理。" regression_algorithms: LinearRegression: principle: "线性回归通过最小化数据点与回归线之间的误差平方和,来拟合一条最佳的直线。" advantages: - "实现简单,易于理解" - "计算效率高,适用于小规模数据集" disadvantages: - "对异常值敏感" - "只能建模线性关系,无法处理非线性数据" applicable_scenarios: "适用于线性关系明确,且数据量适中的问题。" PolynomialRegression: principle: "多项式回归是线性回归的一种扩展,利用多项式拟合数据,处理非线性关系。" advantages: - "能够拟合非线性关系" - "灵活性强,能够处理复杂数据模式" disadvantages: - "容易过拟合,特别是在多项式度数较高时" - "计算复杂度较高" applicable_scenarios: "适用于非线性数据拟合,但需避免过拟合。" Ridge: principle: "岭回归在最小化误差的同时,引入L2正则化,约束模型的复杂度。" advantages: - "有效防止过拟合" - "适用于特征多的情况" disadvantages: - "对于特征相关性较强的数据效果较差" - "结果解释性较差" applicable_scenarios: "适用于特征多且存在共线性的线性回归问题。" Lasso: principle: "Lasso回归通过L1正则化来限制模型的复杂度,可以实现特征选择。" advantages: - "能够进行特征选择,减少不相关特征" - "减少模型的复杂度,避免过拟合" disadvantages: - "可能会导致某些特征完全被剔除,造成信息丢失" - "对于高相关特征可能不稳定" applicable_scenarios: "适用于需要特征选择或特征较多的线性回归问题。" ElasticNet: principle: "弹性网络回归结合了Lasso回归的L1正则化和岭回归的L2正则化,能够处理更多情况。" advantages: - "能够处理相关特征,结合L1和L2的优点" - "适用于特征数大于样本数的情形" disadvantages: - "计算复杂度较高" - "可能需要调参来获得最佳效果" applicable_scenarios: "适用于高维数据,且特征间存在线性相关的情况。" SVR: principle: "支持向量回归(SVR)通过在高维空间中寻找一个最优超平面来拟合数据,能够处理非线性回归问题。" advantages: - "能够处理非线性数据,效果较好" - "适用于高维数据" disadvantages: - "对超参数敏感,调参困难" - "计算时间较长,尤其在大数据集上" applicable_scenarios: "适用于数据具有非线性关系且数据量适中的问题。" DecisionTreeRegressor: principle: "决策树回归通过构建树状结构来拟合数据,节点上的划分基于特征的不同值。" advantages: - "易于理解和可视化" - "可以处理非线性关系" disadvantages: - "容易过拟合" - "对噪声数据敏感" applicable_scenarios: "适用于非线性回归,且对数据的复杂性有较高的容忍度。" RandomForestRegressor: principle: "随机森林回归通过集成多棵决策树的结果来提高预测精度,能够处理高维数据。" advantages: - "不容易过拟合,适用于复杂问题" - "能够处理缺失数据" disadvantages: - "计算复杂度较高" - "结果难以解释" applicable_scenarios: "适用于复杂的回归问题,尤其是特征维度较高的场景。" XGBRegressor: principle: "XGBoost回归通过梯度提升算法(GBDT)优化损失函数,通过树的组合来预测目标值。" advantages: - "预测精度高,效果好" - "处理大数据能力强" disadvantages: - "需要较长的训练时间" - "对超参数敏感" applicable_scenarios: "适用于大规模数据集且对预测精度要求较高的问题。" AdaBoostRegressor: principle: "AdaBoost回归通过多次训练弱学习器并加权组合,改进模型的预测能力。" advantages: - "能够提高弱学习器的预测精度" - "对噪声较为鲁棒" disadvantages: - "容易受到异常值影响" - "对某些问题的性能较差" applicable_scenarios: "适用于弱学习器的组合优化问题,特别是样本不平衡的场景。" CatBoostRegressor: principle: "CatBoost回归基于梯度提升决策树(GBDT),特别优化了类别特征的处理。" advantages: - "能够处理类别特征,减少数据预处理" - "高效且精度较高" disadvantages: - "训练时间较长" - "参数调节较为复杂" applicable_scenarios: "适用于包含大量类别特征的数据集,且数据量较大的问题。" LGBMRegressor: principle: "LightGBM回归基于梯度提升决策树,使用了直方图优化算法以加速训练过程。" advantages: - "训练速度快,能够处理大规模数据" - "内存占用较少,适合高维数据" disadvantages: - "需要调参以获得最佳效果" - "模型解释性较差" applicable_scenarios: "适用于大规模数据集,尤其是处理海量数据时效果优越。" MLPRegressor: principle: "多层感知机回归是基于神经网络的回归模型,通过多个隐层来拟合复杂的非线性关系。" advantages: - "能够处理复杂的非线性关系" - "在大数据和高维数据中表现良好" disadvantages: - "训练时间较长,且对计算资源要求较高" - "容易过拟合,特别是在数据较少时" applicable_scenarios: "适用于需要捕捉复杂非线性关系的回归问题,尤其在数据量大时效果较好。" clustering_algorithms: KMeans: principle: "K均值聚类通过最小化样本点到其最近簇中心的距离来将数据分为K个簇。" advantages: - "实现简单,计算效率高" - "适用于大数据集" disadvantages: - "需要预先指定簇的数量K" - "对初始中心点敏感,容易受到噪声影响" applicable_scenarios: "适用于簇形状较为规则且数据量较大的聚类问题。" KMeansPlusPlus: principle: "K-Means++是一种改进的初始化方法,通过选择更远离当前簇中心的样本点作为初始中心,提升K均值聚类的效果。" advantages: - "比传统K均值方法更稳定" - "可以减少聚类结果的变异性" disadvantages: - "依然存在需要指定K的问题" - "初始化仍然可能影响最终结果" applicable_scenarios: "适用于K均值聚类方法,并且希望改进初始中心选择的场景。" # 没实现这个方法 # HierarchicalKMeans: # principle: "层次化K均值结合了层次聚类和K均值聚类的方法,逐步将样本合并到已有簇中,形成层次化结构。" # advantages: # - "能够自动确定簇的数量" # - "生成的树状图有助于理解数据结构" # disadvantages: # - "计算量大,尤其是在数据量较大时" # - "对噪声和离群点敏感" # applicable_scenarios: "适用于不确定簇的数量且数据结构较复杂的情况。" FCM: principle: "模糊C均值(FCM)允许每个数据点属于多个簇,基于隶属度来进行聚类。" advantages: - "能够处理数据点属于多个簇的情况" - "适用于软聚类问题" disadvantages: - "对初始簇中心和隶属度设置较为敏感" - "计算量大,尤其是簇数较多时" applicable_scenarios: "适用于数据点可以属于多个簇的情况,如图像分割等问题。" AgglomerativeClustering: principle: "层次聚类通过将相似度较高的样本逐步合并,最终形成树状结构(树状图)。" advantages: - "无需预先指定簇的数量" - "能够处理任意形状的簇" disadvantages: - "计算复杂度较高,数据量大时效率低" - "容易受到噪声的影响" applicable_scenarios: "适用于不确定簇的数量且簇的形状较复杂的场景。" DBSCAN: principle: "DBSCAN基于密度的聚类方法,通过寻找密集区域来划分簇,对于稀疏区域则标记为噪声点。" advantages: - "能够发现任意形状的簇" - "不需要预先指定簇的数量,能够自动识别噪声" disadvantages: - "对参数设置敏感,尤其是邻域半径和最小样本数" - "不适用于簇大小差异过大的数据集" applicable_scenarios: "适用于具有明显密度差异的数据集,尤其适合处理含有噪声的数据。" GaussianMixture: principle: "高斯混合模型(GMM)假设数据是由多个高斯分布的混合体组成,通过EM算法估计每个数据点的隶属概率。" advantages: - "能够处理重叠的簇" - "可以自动估计每个簇的分布" disadvantages: - "计算复杂度高,容易陷入局部最优解" - "需要预先指定簇的数量" applicable_scenarios: "适用于需要拟合混合高斯分布的数据,尤其适合处理连续数据。" SpectralClustering: principle: "谱聚类通过构造样本之间的相似度矩阵,并计算其特征值与特征向量来实现聚类。" advantages: - "能够处理复杂的簇结构" - "适用于非凸形状的簇" disadvantages: - "计算量大,尤其在大数据集上效率低" - "需要计算样本间的相似度矩阵,存储和计算成本较高" applicable_scenarios: "适用于样本之间相似度较强,但簇形状复杂或非凸的聚类任务。"