你知道机器学习库sklearn(python)中都有哪些模块吗?

Scikit-learn(sklearn)是一个用于机器学习的Python库,它提供了简单高效的工具用于数据分析和建模。以下是scikit-learn的主要模块及其包含内容的体系结构介绍:

1. 数据集模块 (sklearn.datasets)

用于加载和生成各种数据集。

  • load_* 系列:加载小规模的内置数据集,如 load_irisload_boston 等。
  • fetch_* 系列:从外部来源获取较大规模的数据集,如 fetch_20newsgroupsfetch_olivetti_faces 等。
  • make_* 系列:生成人造数据集用于测试和验证算法,如 make_classificationmake_blobs 等。

2. 预处理模块 (sklearn.preprocessing)

用于特征预处理和数据归一化。

  • StandardScaler:标准化数据,均值为0,方差为1。
  • MinMaxScaler:将特征缩放到一个给定的最小值和最大值之间。
  • Normalizer:将每个样本缩放到单位范数。
  • Binarizer:将特征值二值化。
  • OneHotEncoder:将分类特征编码为one-hot格式。

3. 模型选择模块 (sklearn.model_selection)

用于选择和验证模型。

  • train_test_split:拆分数据集为训练集和测试集。
  • cross_val_score:进行交叉验证。
  • GridSearchCV:通过网格搜索进行参数调优。
  • RandomizedSearchCV:通过随机搜索进行参数调优。

4. 特征选择模块 (sklearn.feature_selection)

用于选择重要特征。

  • SelectKBest:选择K个最佳特征。
  • RFE(Recursive Feature Elimination):递归特征消除。
  • SelectFromModel:基于模型选择特征。

5. 降维模块 (sklearn.decomposition)

用于数据降维。

  • PCA(Principal Component Analysis):主成分分析。
  • KernelPCA:核主成分分析。
  • TruncatedSVD:截断奇异值分解。
  • FactorAnalysis:因子分析。

6. 集成方法模块 (sklearn.ensemble)

用于集成多种模型的方法。

  • RandomForestClassifierRandomForestRegressor:随机森林。
  • GradientBoostingClassifierGradientBoostingRegressor:梯度提升树。
  • AdaBoostClassifierAdaBoostRegressor:自适应提升算法。
  • VotingClassifierVotingRegressor:投票分类器/回归器。
  • BaggingClassifierBaggingRegressor:装袋算法。

7. 线性模型模块 (sklearn.linear_model)

用于线性回归和分类模型。

  • LinearRegression:线性回归。
  • LogisticRegression:逻辑回归。
  • RidgeLasso:带正则化的线性模型。
  • ElasticNet:弹性网络模型。
  • SGDClassifierSGDRegressor:随机梯度下降。

8. 支持向量机模块 (sklearn.svm)

用于支持向量机算法。

  • SVC:支持向量分类。
  • SVR:支持向量回归。
  • LinearSVCLinearSVR:线性支持向量分类/回归。

9. 树模型模块 (sklearn.tree)

用于决策树模型。

  • DecisionTreeClassifier:决策树分类器。
  • DecisionTreeRegressor:决策树回归器。

10. 聚类模块 (sklearn.cluster)

用于聚类算法。

  • KMeans:K均值聚类。
  • DBSCAN:基于密度的聚类。
  • AgglomerativeClustering:层次聚类。
  • MeanShift:均值漂移聚类。

11. 神经网络模块 (sklearn.neural_network)

用于神经网络模型。

  • MLPClassifier:多层感知器分类器。
  • MLPRegressor:多层感知器回归器。

12. 核方法模块 (sklearn.kernel_approximation)

用于近似内核方法。

  • RBFSampler:RBF核采样。
  • Nystroem:Nystroem方法。

13. 度量模块 (sklearn.metrics)

用于评估模型性能。

  • 分类度量:如 accuracy_scoref1_score 等。
  • 回归度量:如 mean_squared_errorr2_score 等。
  • 聚类度量:如 adjusted_rand_scoresilhouette_score 等。
  • ROC曲线和AUC:如 roc_curveauc 等。

14. 管道模块 (sklearn.pipeline)

用于将多个步骤封装为一个管道。

  • Pipeline:创建一个流水线对象。
  • FeatureUnion:特征联合。

15. 异常检测模块 (sklearn.ensemblesklearn.covariance)

用于异常检测。

  • IsolationForest:孤立森林。
  • EllipticEnvelope:椭圆包络法。

16. 高斯过程模块 (sklearn.gaussian_process)

用于高斯过程回归和分类。

  • GaussianProcessClassifier:高斯过程分类器。
  • GaussianProcessRegressor:高斯过程回归器。
  • kernels:定义和组合高斯过程的内核,如 RBFMatern 等。

17. 半监督学习模块 (sklearn.semi_supervised)

用于半监督学习模型。

  • LabelPropagation:标签传播。
  • LabelSpreading:标签扩散。

18. 多标签和多输出模块 (sklearn.multioutput)

用于多标签和多输出学习任务。

  • MultiOutputClassifier:用于多标签分类。
  • MultiOutputRegressor:用于多输出回归。
  • ClassifierChain:分类器链。
  • RegressorChain:回归器链。

19. 度量学习模块 (sklearn.neighbors)

用于最近邻算法和度量学习。

  • KNeighborsClassifier:k近邻分类器。
  • KNeighborsRegressor:k近邻回归器。
  • NearestNeighbors:最近邻搜索。
  • RadiusNeighborsClassifier:半径近邻分类器。
  • RadiusNeighborsRegressor:半径近邻回归器。
  • BallTreeKDTree:空间树数据结构。

20. 协同过滤和推荐系统模块 (sklearn.recommendation)

用于推荐系统的协同过滤方法(在较新版本中逐渐完善)。

  • NearestNeighbors:基于邻居的推荐方法。

21. 内核密度估计模块 (sklearn.neighborssklearn.kernel_density)

用于非参数密度估计。

  • KernelDensity:核密度估计。

22. 朴素贝叶斯模块 (sklearn.naive_bayes)

用于朴素贝叶斯分类算法。

  • GaussianNB:高斯朴素贝叶斯。
  • MultinomialNB:多项式朴素贝叶斯。
  • BernoulliNB:伯努利朴素贝叶斯。
  • ComplementNB:补充朴素贝叶斯。

23. 决策函数模块 (sklearn.calibration)

用于概率校准和决策函数。

  • CalibratedClassifierCV:校准后的分类器。

24. 模型持久化模块 (sklearn.externalsjoblib)

用于模型的持久化和加载。

  • joblib.dump:保存模型。
  • joblib.load:加载模型。

25. 集成方法的不同组合 (sklearn.ensemble)

用于组合不同的模型。

  • StackingClassifierStackingRegressor:堆叠模型。
  • VotingClassifierVotingRegressor:投票方法。

26. 数据转换模块 (sklearn.compose)

用于数据转换和组合。

  • ColumnTransformer:对特定列应用不同的预处理器。
  • TransformedTargetRegressor:在回归目标值上应用转换器。
  • make_column_transformer:方便地创建列变换器。
  • make_column_selector:选择特定类型的列。

27. 检查器和验证模块 (sklearn.utils.validation)

用于输入数据和模型的验证。

  • check_X_y:验证特征矩阵和目标向量。
  • check_array:验证单个数组。
  • check_is_fitted:检查估计器是否已拟合。

28. 仿真模块 (sklearn.utils.estimator_checks)

用于测试自定义估计器是否符合scikit-learn的接口标准。

  • check_estimator:对估计器进行一系列一致性检查。
  • parametrize_with_checks:参数化测试自定义估计器。

29. 数学工具模块 (sklearn.utils.extmath)

用于提供数学工具和计算功能。

  • safe_sparse_dot:安全处理稀疏矩阵的点积运算。
  • row_norms:计算行的范数。
  • density:计算稀疏矩阵的密度。

30. 优化模块 (sklearn.utils.optimize)

用于提供优化工具。

  • linear_sum_assignment:求解线性和分配问题。
  • broyden1:Broyden的第一种方法,用于非线性方程组求解。

31. 图工具模块 (sklearn.utils.graph)

用于图操作和工具。

  • single_source_shortest_path_length:计算单源最短路径长度。
  • graph_laplacian:计算图拉普拉斯矩阵。

32. 稀疏矩阵模块 (sklearn.utils.sparsefuncs)

用于稀疏矩阵的函数。

  • inplace_csr_row_normalize_l1:L1规范化CSR格式的稀疏矩阵。
  • inplace_csr_row_normalize_l2:L2规范化CSR格式的稀疏矩阵。

33. 调试和性能模块 (sklearn.utils.fixessklearn.utils.parallel)

用于性能优化和并行计算。

  • delayed:延迟函数的执行。
  • parallel_backend:指定并行后端。
  • sklearn.utils.fixes:修复不同版本之间的兼容性问题。

34. 实验性功能模块 (sklearn.experimental)

用于实验性功能和模块,这些功能可能会在未来版本中稳定。

  • enable_hist_gradient_boosting:启用直方图梯度提升。
  • enable_iterative_imputer:启用迭代插补。

35. 图形绘制模块 (sklearn.tree.export)

用于导出决策树的图形表示。

  • export_graphviz:导出决策树为Graphviz格式。
  • plot_tree:绘制决策树。

36. 隐私保护和差分隐私模块 (sklearn.diff_privacy)

用于实现差分隐私保护(在较新版本中逐渐完善)。

  • DifferentialPrivacyLogisticRegression:带有差分隐私的逻辑回归。

37. 实验性预测模块 (sklearn.experimental.enable_halving_search_cv)

用于实验性的逐步搜索交叉验证。

  • HalvingGridSearchCV:逐步网格搜索。
  • HalvingRandomSearchCV:逐步随机搜索。

38. 扩展库和接口 (sklearn.externals)

用于与外部库的接口和集成。

  • joblib:用于模型持久化和并行计算。
  • six:用于Python 2和Python 3的兼容性。

猜你喜欢

转载自blog.csdn.net/qq_28413709/article/details/139637083