你知道机器学习库sklearn(python)中都有哪些模块吗?
全面了解机器学习库的不同模块是接下来学习机器学习案例的前提。将学到的知识构建按照模块进行归纳记忆是最好的学习方式。
·
Scikit-learn(sklearn)是一个用于机器学习的Python库,它提供了简单高效的工具用于数据分析和建模。以下是scikit-learn的主要模块及其包含内容的体系结构介绍:
1. 数据集模块 (sklearn.datasets)
用于加载和生成各种数据集。
load_*系列:加载小规模的内置数据集,如load_iris、load_boston等。fetch_*系列:从外部来源获取较大规模的数据集,如fetch_20newsgroups、fetch_olivetti_faces等。make_*系列:生成人造数据集用于测试和验证算法,如make_classification、make_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)
用于集成多种模型的方法。
RandomForestClassifier、RandomForestRegressor:随机森林。GradientBoostingClassifier、GradientBoostingRegressor:梯度提升树。AdaBoostClassifier、AdaBoostRegressor:自适应提升算法。VotingClassifier、VotingRegressor:投票分类器/回归器。BaggingClassifier、BaggingRegressor:装袋算法。
7. 线性模型模块 (sklearn.linear_model)
用于线性回归和分类模型。
LinearRegression:线性回归。LogisticRegression:逻辑回归。Ridge、Lasso:带正则化的线性模型。ElasticNet:弹性网络模型。SGDClassifier、SGDRegressor:随机梯度下降。
8. 支持向量机模块 (sklearn.svm)
用于支持向量机算法。
SVC:支持向量分类。SVR:支持向量回归。LinearSVC、LinearSVR:线性支持向量分类/回归。
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_score、f1_score等。 - 回归度量:如
mean_squared_error、r2_score等。 - 聚类度量:如
adjusted_rand_score、silhouette_score等。 - ROC曲线和AUC:如
roc_curve、auc等。
14. 管道模块 (sklearn.pipeline)
用于将多个步骤封装为一个管道。
Pipeline:创建一个流水线对象。FeatureUnion:特征联合。
15. 异常检测模块 (sklearn.ensemble 和 sklearn.covariance)
用于异常检测。
IsolationForest:孤立森林。EllipticEnvelope:椭圆包络法。
16. 高斯过程模块 (sklearn.gaussian_process)
用于高斯过程回归和分类。
GaussianProcessClassifier:高斯过程分类器。GaussianProcessRegressor:高斯过程回归器。kernels:定义和组合高斯过程的内核,如RBF、Matern等。
17. 半监督学习模块 (sklearn.semi_supervised)
用于半监督学习模型。
LabelPropagation:标签传播。LabelSpreading:标签扩散。
18. 多标签和多输出模块 (sklearn.multioutput)
用于多标签和多输出学习任务。
MultiOutputClassifier:用于多标签分类。MultiOutputRegressor:用于多输出回归。ClassifierChain:分类器链。RegressorChain:回归器链。
19. 度量学习模块 (sklearn.neighbors)
用于最近邻算法和度量学习。
KNeighborsClassifier:k近邻分类器。KNeighborsRegressor:k近邻回归器。NearestNeighbors:最近邻搜索。RadiusNeighborsClassifier:半径近邻分类器。RadiusNeighborsRegressor:半径近邻回归器。BallTree、KDTree:空间树数据结构。
20. 协同过滤和推荐系统模块 (sklearn.recommendation)
用于推荐系统的协同过滤方法(在较新版本中逐渐完善)。
NearestNeighbors:基于邻居的推荐方法。
21. 内核密度估计模块 (sklearn.neighbors 和 sklearn.kernel_density)
用于非参数密度估计。
KernelDensity:核密度估计。
22. 朴素贝叶斯模块 (sklearn.naive_bayes)
用于朴素贝叶斯分类算法。
GaussianNB:高斯朴素贝叶斯。MultinomialNB:多项式朴素贝叶斯。BernoulliNB:伯努利朴素贝叶斯。ComplementNB:补充朴素贝叶斯。
23. 决策函数模块 (sklearn.calibration)
用于概率校准和决策函数。
CalibratedClassifierCV:校准后的分类器。
24. 模型持久化模块 (sklearn.externals 和 joblib)
用于模型的持久化和加载。
joblib.dump:保存模型。joblib.load:加载模型。
25. 集成方法的不同组合 (sklearn.ensemble)
用于组合不同的模型。
StackingClassifier、StackingRegressor:堆叠模型。VotingClassifier、VotingRegressor:投票方法。
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.fixes 和 sklearn.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的兼容性。
更多推荐


所有评论(0)