主页 > 软件开发  > 

基础工具常用api汇总(机器学习)

基础工具常用api汇总(机器学习)

目录

1.pandas(pd)

1.1数据导入与导出

1.2数据结构创建

1.3数据查看与检查

1.4数据选取与过滤

1.5数据清洗与预处理

1.6数据处理与转换

1.7数据统计与分析

1.8高级功能

2.numpy(np)

2.1数据结构与数组创建

2.2数组属性与操作

2.3数学运算与统计

2.4线性代数(np.linalg模块)

2.5随机数生成(np.random模块)

2.6索引与切片

2.7数据类型与转换

2.8文件与I/O操作

3.matplotlib(plt)

3.1核心模块与对象

3.2子图与布局控制

3.3样式与高级配置

3.4三维与高级绘图

3.5数据处理与集成

3.6文件与输出

3.7动画与交互

4.seaborn(sns)

4.1全局样式与主题配置

4.2数据关系可视化

4.3分类数据可视化

4.4分布可视化

4.5矩阵与网格可视化

4.6高级统计与分面网格

4.7其他实用工具

5.sklearn

5.1模型API(核心算法)

5.2数据预处理(sklearn.preprocessing)

5.3模型评估(sklearn.metrics)

5.4交叉验证与数据集划分(sklearn.model_selection)

5.5其他实用工具


本文包括机器学习领域常用第三方库的常用API,先做汇总,没有代码演示

1.pandas(pd)

import pandas as pd

1.1数据导入与导出 pd.read_csv(): 从CSV文件导入数据,支持自定义分隔符、编码、缺失值标记等 。pd.read_excel(): 读取Excel文件,可指定工作表名称或索引。pd.read_sql(): 从SQL数据库加载数据,需传入查询语句和数据库连接对象。pd.read_json(): 解析JSON格式数据,支持文件路径或JSON字符串 。

df = pd.DataFrame()

df.to_csv(): 导出DataFrame至CSV文件,支持压缩格式和编码设置 。df.to_excel(): 写入Excel文件,可指定工作表名称 。 1.2数据结构创建 pd.DataFrame(): 从字典、列表或NumPy数组创建二维表格 。{pd.DataFrame(columns=)}pd.Series(): 创建一维数据序列,支持自定义索引 。pd.date_range(): 生成时间序列索引,常用于时间序列数据分析 。 1.3数据查看与检查 df.head(n) / df.tail(n): 查看数据的前/后n行 。df.shape: 获取数据维度(行数、列数) 。df.info(): 显示数据类型、非空值统计及内存占用 。df.describe(): 统计数值型列的均值、标准差、分位数等 。{df.describe().T}s.value_counts(): 统计Series中唯一值的频次 。 1.4数据选取与过滤 df[col]: 按列名提取单列,返回Series 。df.loc[] / df.iloc[]: 按标签(loc)或位置索引(iloc)选取行/列,支持布尔索引 。df.query(): 使用字符串表达式筛选数据(如df.query("age > 30"))。df.filter(): 按列名或正则表达式筛选列 。 1.5数据清洗与预处理 df.dropna(): 删除含缺失值的行或列,可设置阈值 。df.drop('columns_name',axis=1,replace=True/False): 删除df中指定的列df.drop(df[df['columns_name'] > 5].index,axis=0,replace=True/False): 删除符合指定条件下的行index - axis=0df.fillna(value): 用指定值或插值方法填充缺失值 。df.rename(): 重命名列名或索引,支持字典映射或函数批量修改 。df.replace(): 替换特定值(如将1替换为'one') 。pd.get_dummies(): 对分类变量进行独热编码 。s.astype(): 转换列数据类型(如字符串转数值) 。 1.6数据处理与转换 df.sort_values(): 按指定列排序,支持升序/降序及多列排序 。df.groupby(): 按列分组,支持聚合操作(如sum()、mean()) 。df.pivot_table(): 创建透视表,支持多维度聚合与自定义函数 。df.apply(): 对行或列应用自定义函数(如标准化处理) 。pd.concat(axis=0/1): 沿轴合并多个DataFrame,支持纵向或横向拼接 。df.join() / pd.merge(): 按列关联多个数据集,支持内连接、左连接等 。 1.7数据统计与分析 df.mean() / df.median(): 计算均值、中位数 。df.corr(): 计算列间相关系数矩阵,用于特征相关性分析 。df.std() / df.var(): 计算标准差和方差 。df.cumsum() / df.cummax(): 计算累计统计量 。df.rolling(): 滑动窗口计算(如移动平均) 。 1.8高级功能 pd.api.types.infer_dtype(): 推断数据类型(如检查是否为分类数据) 。pd.cut() / pd.qcut(): 分箱操作,将连续变量离散化 。df.sample(): 随机抽样,支持按比例或固定数量 。df.memory_usage(): 查看内存占用,优化存储效率 。

2.numpy(np) 2.1数据结构与数组创建 np.array(): 将列表/元组转换为ndarray对象,支持指定数据类型dtype 。np.arange(): 生成等差序列数组,类似Python的range()但返回ndarray 。np.zeros() / np.ones(): 创建全0或全1数组,可指定形状和数据类型 。np.empty(): 创建未初始化的数组(内容随机) 。np.full(): 创建填充指定值的数组 。np.linspace() / np.logspace(): 生成线性或对数间隔的等长序列 。np.identity() / np.eye(): 创建单位矩阵或对角线矩阵 。np.random.rand() / np.random.randn(): 生成均匀分布或标准正态分布随机数 。 2.2数组属性与操作 ndarray.shape: 获取数组维度信息(如(3,4)表示3行4列)。ndarray.dtype: 查看数组元素的数据类型(如int32, float64)。ndarray.size: 数组元素总数(行数×列数) 。ndarray.reshape(): 改变数组形状(不修改原始数据) 。ndarray.resize(): 就地修改数组形状 。ndarray.flatten(): 将多维数组展开为一维 。ndarray.T: 转置数组(行列互换) 。np.concatenate(): 沿指定轴合并多个数组 。 2.3数学运算与统计 np.add() / np.subtract(): 逐元素加减运算,支持广播机制 。np.multiply() / np.divide(): 逐元素乘除运算 。np.dot() / np.matmul(): 矩阵乘法(后者支持高维数组) 。np.sum() / np.mean(): 计算总和或均值(可指定轴) 。np.std() / np.var(): 计算标准差或方差 。np.max() / np.min(): 返回最大值或最小值 。np.argmax() / np.argmin(): 返回极值的索引 。np.cumsum() / np.cumprod(): 计算累积和或累积积 。 2.4线性代数(np.linalg模块) np.linalg.inv(): 计算矩阵的逆 。np.linalg.det(): 计算矩阵行列式 。np.linalg.eig(): 计算特征值和特征向量 。np.linalg.svd(): 奇异值分解 。np.linalg.solve(): 解线性方程组Ax = B 。np.linalg.norm(): 计算矩阵或向量的范数 。 2.5随机数生成(np.random模块) np.random.randint(): 生成指定范围内的随机整数 。np.random.shuffle(): 打乱数组顺序(就地修改) 。np.random.permutation(): 返回打乱后的数组副本 。np.random.normal(): 生成正态分布随机数 。np.random.uniform(): 生成均匀分布随机数 。np.random.seed(): 设置随机数生成种子(保证可复现性) 。 2.6索引与切片 布尔索引: 通过条件筛选元素(如arr[arr > 5]) 。花式索引(Fancy Indexing): 使用整数数组或布尔数组索引 。多维切片: 使用逗号分隔维度(如arr[1:3, 2:4]) 。 2.7数据类型与转换 ndarray.astype(): 转换数组数据类型(如float转int) 。np.where(): 根据条件返回新数组(类似三元表达式) 。np.isnan() / np.isinf(): 检测缺失值或无穷值 。np.unique(): 返回数组的唯一值并排序 。 2.8文件与I/O操作 np.loadtxt() / np.savetxt(): 读写文本文件(如CSV) 。np.load() / np.save(): 读写二进制文件(.npy格式) 。np.savez(): 保存多个数组至压缩文件(.npz格式) 。

3.matplotlib(plt) 3.1核心模块与对象 matplotlib.pyplot (隐式API)

import matplotlib.pyplot as plt

plt.plot(): 绘制折线图,支持多维数据与样式参数(如linestyle, color)

plt.scatter(): 绘制散点图,可设置点大小(s)、颜色映射(cmap)

plt.bar() / plt.barh(): 绘制垂直/水平条形图,支持分组与堆叠

plt.hist(): 绘制直方图,用于数据分布分析

plt.boxplot(x: 输入数据(一维数组或列表,labels: 箱线图的标签,notch: 是否在箱体上显示缺口(表示中位数的置信区间),vert: 是否垂直显示(True为垂直,False为水平)):绘制箱线图,用于了解数据的集中趋势、分散程度、异常值及分布形态,特别适用于多组数据的比较与探索性数据分析

plt.imshow() 或 sns.heatmap():绘制热力图

plt.imshow(): 显示图像或二维数组,常用于热力图与矩阵可视化

plt.xlabel() / plt.ylabel(): 设置坐标轴标签

plt.title() / plt.legend(): 添加标题和图例

面向对象API(显式)

Figure类: 代表整个画布,控制全局属性(如figsize, dpi)

Axes类: 坐标系对象,包含绘图方法(如ax.plot(), ax.scatter())及坐标轴控制

SubplotSpec与GridSpec: 定义子图布局,支持复杂网格划分

3.2子图与布局控制 plt.subplots(): 创建多个子图,返回Figure和Axes对象数组,用于批量绘图plt.subplot(): 按行列索引创建单个子图(如plt.subplot(2,2,1))fig.add_subplot(): 显式添加子图到指定位置GridSpec模块: 自定义子图布局(如跨行列合并) 3.3样式与高级配置 全局样式

plt.style.use(): 应用预定义主题(如'ggplot', 'seaborn')

rcParams配置: 修改默认参数(如字体、颜色循环)

# 设置全局字体为支持中文的字体(如SimHei) plt.rcParams['font.family'] = 'sans-serif' # 字体族 plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定具体字

颜色与标记

plt.cm模块: 提供颜色映射(如viridis, coolwarm)

marker参数: 设置数据点标记样式(如'o', '*')

注释与标注

ax.annotate(): 添加箭头注释

ax.text(): 在指定位置添加文本

3.4三维与高级绘图 mpl_toolkits.mplot3d模块Axes3D类: 创建3D坐标系,支持plot_surface(), scatter3D()等3D绘图等高线与填充plt.contour(): 绘制等高线 plt.contourf(): 填充等高区域 3.5数据处理与集成 plt.errorbar(): 绘制带误差线的折线图plt.boxplot(): 绘制箱线图,用于离群值检测plt.pcolor(): 伪彩色网格图,适用于矩阵数据可视化与第三方库集成pandas.DataFrame.plot(): 直接调用Matplotlib绘图 3.6文件与输出 plt.savefig(): 保存图像至文件(支持PNG、PDF等格式)plt.show(): 显示图像(在非交互式环境中必须调用) 3.7动画与交互 animation.FuncAnimation: 创建动态图,支持帧更新事件处理plt.connect(): 绑定键盘/鼠标事件(如点击回调)

4.seaborn(sns) 4.1全局样式与主题配置 sns.set_theme(): 设置全局绘图主题、调色板及字体等参数,支持style(主题样式)、palette(颜色方案)、context(画布尺寸适配)等配置项sns.set_style(): 指定绘图背景样式,可选darkgrid(默认)、whitegrid、dark、white、ticks,影响网格线与背景色sns.set_palette(): 设置颜色映射方案,内置选项包括deep、pastel、bright等,支持自定义颜色列表sns.set_context(): 调整图表元素尺寸,支持paper(小图)、notebook(默认)、talk(演讲)、poster(海报)等场景适配 4.2数据关系可视化 sns.relplot(): 高级接口绘制关系图(散点图、折线图),支持kind参数指定图表类型,hue/size/style添加多维度分组sns.scatterplot(): 绘制基础散点图,支持hue(颜色分组)、size(点大小映射)、alpha(透明度)等参数sns.lineplot(): 绘制折线图,自动计算统计量(如均值),支持误差带(errorbar参数)与多变量分组sns.lmplot(): 绘制回归拟合图,支持线性/非线性模型(order参数)及分组回归线对比 4.3分类数据可视化 sns.catplot(): 高级接口绘制分类图(箱线图、柱状图、小提琴图等),通过kind参数指定具体类型(如box、bar、violin)sns.boxplot(): 箱线图,展示数据分布的四分位数与离群值,支持hue分组与横向显示(orient参数)sns.violinplot(): 小提琴图,结合核密度估计与箱线图,展示数据分布形状,支持split参数分割对比组sns.barplot(): 柱状图,默认显示均值及置信区间,支持estimator参数自定义聚合函数(如sum、median)sns.stripplot(): 分类散点图,使用抖动(jitter)减少重叠,适合小规模数据分布展示 4.4分布可视化 sns.displot(): 高级接口绘制分布图(直方图、核密度图),支持kind参数指定类型(hist、kde、ecdf)sns.histplot(): 直方图,支持多变量叠加(hue)、堆叠(multiple)与二元分布(bivariate)sns.kdeplot(): 核密度估计图,展示连续变量分布,支持fill填充与levels多等高线绘制sns.ecdfplot(): 经验累积分布函数图,直接展示数据累积比例 4.5矩阵与网格可视化 sns.heatmap(): 热力图,展示矩阵数据(如相关系数矩阵),支持annot(数值标注)、cmap(颜色映射)与聚类分析(cluster参数)sns.clustermap(): 聚类热力图,结合层次聚类算法对行列重新排序sns.pairplot(): 矩阵散点图,展示多变量间两两关系,支持diag_kind(对角线图表类型)与hue分组sns.jointplot(): 双变量联合分布图,结合散点图与边缘直方图/密度图,支持kind参数扩展(如hex、kde) 4.6高级统计与分面网格 sns.FacetGrid: 分面网格控制器,支持row/col参数按分类变量分面绘制子图,配合map方法应用自定义绘图函数sns.PairGrid: 多变量网格图控制器,自定义网格对角线与非对角线图表类型sns.JointGrid: 双变量联合分布网格控制器,支持自定义主图与边缘图类型 4.7其他实用工具 sns.color_palette(): 生成颜色序列,支持命名调色板(如husl、Set2)或自定义颜色列表sns.rugplot(): 轴须图,在坐标轴边缘标记数据分布位置,常与核密度图结合sns.residplot(): 绘制回归残差图,用于验证模型拟合效果

5.sklearn 5.1模型API(核心算法)

线性模型(sklearn.linear_model)

LinearRegression: 普通最小二乘线性回归,用于连续值预测,支持非负约束(positive=True)Ridge / RidgeCV: 岭回归(L2正则化),防止过拟合,RidgeCV支持自动交叉验证调参(参数α)Lasso / LassoCV: 套索回归(L1正则化),生成稀疏模型用于特征选择,LassoCV内置交叉验证调参ElasticNet / ElasticNetCV: 弹性网络(L1+L2正则化),结合岭回归和套索回归的优势,适用于高维共线性数据LogisticRegression: 逻辑回归,支持二分类/多分类任务,可调整正则化参数(C)及惩罚类型(penalty)

树模型(sklearn.tree)

DecisionTreeClassifier / DecisionTreeRegressor: 决策树模型,支持分类与回归任务,可配置最大深度(max_depth)及分裂标准(criterion)

集成模型(sklearn.ensemble)

RandomForestClassifier / RandomForestRegressor: 随机森林,通过Bootstrap采样与特征子集选择降低过拟合 GradientBoostingClassifier / GradientBoostingRegressor: 梯度提升树,通过迭代优化损失函数提升模型性能 5.2数据预处理(sklearn.preprocessing) StandardScaler: 标准化处理(均值0,方差1),适用于高斯分布特征MinMaxScaler / MaxAbsScaler: 归一化至指定范围(如[0,1]),适用于无异常值的数据PolynomialFeatures: 生成多项式特征(如交互项),用于非线性关系建模,支持设置阶数(degree)与是否仅保留交互项(interaction_only)OneHotEncoder: 对分类变量进行独热编码,处理离散特征SimpleImputer: 缺失值填充,支持均值、中位数、众数等策略 5.3模型评估(sklearn.metrics)

分类任务

confusion_matrix: 生成混淆矩阵,计算TP/FP/FN/TNprecision_score / recall_score / f1_score: 计算查准率、查全率及F1值,支持多分类(average参数)roc_auc_score: 计算ROC曲线下面积(AUC),评估分类器排序能力average_precision_score: 计算PR曲线下面积(AP),适用于类别不平衡场景

回归任务

mean_squared_error / mean_absolute_error: 计算均方误差(MSE)与平均绝对误差(MAE)r2_score: 计算R²系数,衡量模型解释方差的比例

聚类任务

adjusted_rand_score: 调整兰德指数,评估聚类与真实标签的相似性。silhouette_score: 轮廓系数,衡量聚类紧密度与分离度。 5.4交叉验证与数据集划分(sklearn.model_selection) train_test_split: 随机划分训练集与测试集,支持分层抽样(stratify参数) cross_val_score: K折交叉验证评估模型性能,支持自定义评分指标(scoring参数) cross_validate: 多指标交叉验证,返回训练/测试得分及时间统计KFold / StratifiedKFold: 生成K折索引,后者保持类别分布平衡ShuffleSplit: 随机划分数据集多次,生成训练/测试索引对GridSearchCV / RandomizedSearchCV: 超参数调优工具,前者遍历参数网格,后者随机采样参数组合 5.5其他实用工具 Pipeline: 将预处理与模型训练封装为流水线,简化流程joblib: 模型持久化工具,支持快速保存与加载(dump/load)
标签:

基础工具常用api汇总(机器学习)由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“基础工具常用api汇总(机器学习)