文章目录

1. 机器学习基本概念

1.1. 常用算法

1.2. 基本概念

1.3. 机器学习步骤框架

  1. 把数据拆分为训练集和测试集
  2. 用训练集和训练集的特征向量来训练算法
  3. 用学习来的算法运用在测试集上来评估算法(可能要涉及到调整参数,用验证集)

1.4. 机器学习中分类和预测算法的评估

1.5. 分类与回归问题

机器学习零基础入门(机器学习)(1)

2. sklearn机器学习库

2.1. 定义

2.2. sklearn数据类型

机器学习最终处理的数据都是数字,只不过这些数据可能以不同的形态被呈现出来,如矩阵、文字、图片、视频、音频等。

2.3. sklearn总览

机器学习零基础入门(机器学习)(2)

2.3.1. 数据预处理

机器学习零基础入门(机器学习)(3)

2.3.2. 数据集

机器学习零基础入门(机器学习)(4)

  1. 获取小数据集(本地加载):datasets.load_xxx()
  2. 获取大数据集(在线下载):datasets.fetch_xxx()
  3. 本地生成数据集(本地构造):datasets.make_xxx()
  4. 数据集介绍load_iris( )鸢尾花数据集:3类、4个特征、150个样本load_boston( )波斯顿房价数据集:13个特征、506个样本load_digits( )手写数字集:10类、64个特征、1797个样本load_breast_cancer( )乳腺癌数据集:2类、30个特征、569个样本load_diabets( )糖尿病数据集:10个特征、442个样本load_wine( )红酒数据集:3类、13个特征、178个样本load_files( )加载自定义的文本分类数据集load_linnerud( )体能训练数据集:3个特征、20个样本load_sample_image( )加载单个图像样本load_svmlight_file( )加载svmlight格式的数据make_blobs( )生成多类单标签数据集make_biclusters( )生成双聚类数据集make_checkerboard( )生成棋盘结构数组,进行双聚类make_circles( )生成二维二元分类数据集make_classification( )生成多类单标签数据集make_friedman1( )生成采用了多项式和正弦变换的数据集make_gaussian_quantiles( )生成高斯分布数据集make_hastie_10_2( )生成10维度的二元分类数据集make_low_rank_matrix( )生成具有钟形奇异值的低阶矩阵make_moons( )生成二维二元分类数据集make_multilabel_classification( )生成多类多标签数据集make_regression( )生成回归任务的数据集make_s_curve( )生成S型曲线数据集make_sparse_coded_signal( )生成信号作为字典元素的稀疏组合make_sparse_spd_matrix( )生成稀疏堆成的正定矩阵make_sparse_uncorrelated( )使用稀疏的不相关设计生成随机回归问题make_spd_matrix( )生成随机堆成的正定矩阵make_swiss_roll( )生成瑞士卷曲线数据集
2.3.3. 特征选择

机器学习零基础入门(机器学习)(5)

2.3.4. 特征降维

机器学习零基础入门(机器学习)(6)

2.3.5. 模型构建(1)分类模型

机器学习零基础入门(机器学习)(7)

(2)回归模型

机器学习零基础入门(机器学习)(8)

(3)聚类模型

机器学习零基础入门(机器学习)(9)

2.3.6. 模型评估

机器学习零基础入门(机器学习)(10)

2.3.7. 模型优化

机器学习零基础入门(机器学习)(11)

函数

功能

model_selection.cross_val_score( )

交叉验证

model_selection.LeaveOneOut( )

留一法

model_selection.LeavePout( )

留P法交叉验证

model_selection.GridSearchCV( )

网格搜索

model_selection.RandomizedSearchCV( )

随机搜索

model_selection.validation_curve( )

验证曲线

model_selection.learning_curve( )

学习曲线

3. 评估指标3.1. 各种算法的评估指标

机器学习零基础入门(机器学习)(12)

3.2. 分类任务

二分类问题的混淆矩阵

TP代表正样本中预测正确的样本个数;FN代表正样本中预测错误的样本个数;FP代表负样本中预测错误的样本个数;TN代表父样本中预测正确的样本个数,以下的公式基本都基于混淆矩阵而言。

机器学习零基础入门(机器学习)(13)

  1. 准确率:准确率表示的是分类正确的比例(所有样本),但是在样本不平衡的情况下,并不能作为很好的指标来衡量结果。A c c u r a c y = T P T N T P T N F P F N Accuracy=\frac{TP TN}{TP TN FP FN}Accuracy=TP TN FP FNTP TN对应sklearn包
  2. sklearn.metrics.accuracy_score(y_true, y_pred, *, normalize=True, sample_weight=None)
  3. 参数
  4. 参数说明y_true1d array-like, or label indicator array / sparse matrix 真实标签。y_pred1d array-like, or label indicator array / sparse matrix 预测标签,由分类器返回。normalizebool, optional (default=True) 如果为False,则返回正确分类的样本数。否则,返回正确分类的样本的分数。sample_weightarray-like of shape (n_samples,), default=None 样本权重。
  5. 返回值
  6. 返回值说明scorefloat 如果normalize == True,则返回正确分类的样本的分数(浮点数),否则返回正确分类的样本数(整数)。 最佳性能,在normalize == True时,为1;在normalize == False时,为样本数量。
  7. 精确率(查准率):精确率代表的是预测为正样本的样本总体预测正确的占比(正样本)。P r e c i s i o n = T P T P F P Precision=\frac{TP}{TP FP}Precision=TP FPTP​对应sklearn包
  8. sklearn.metrics.precision_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')
  9. 参数
  10. 参数说明y_true1d array-like, or label indicator array / sparse matrix 真实目标值。y_pred1d array-like, or label indicator array / sparse matrix 分类器返回的估计目标。labelslist, optional 当average!='binary’时要包括的一组标签,如果average是None,则为标签的顺序。可以排除数据中存在的标签,例如,以忽略多数否定类的方式计算多类平均值,而数据中不存在的标签将导致宏平均值中的0成分。对于多标签目标,标签是列索引。 默认情况下,y_true和y_pred中的所有标签均按排序顺序使用。 在版本0.17中进行了更改:针对多类问题改进了参数标签。pos_labelstr or int, 1 by default average ='binary’且数据为二进制的报告类。如果数据是多类或多标签的,则将被忽略; 设置labels= [pos_label]和average!='binary’将仅报告该标签的分数。averagestring, [None|‘binary’ (default)| ‘micro’| ‘macro’| ‘samples’|‘weighted’] 对于多类/多标签目标,此参数是必需的。如果为None,则返回每个班级的分数。否则,将根据数据的平均表现确定类型: - 'binary': 仅报告由pos_label指定的类的结果。仅当目标(y_ {true,pred})为二进制时才适用。 - 'micro': 通过计算真正例、假负例和假正例的总数来全局计算指标。 - 'macro': 计算每个标签的指标,并找到其未加权平均值。 没有考虑标签不平衡。 - 'weighted': 计算每个标签的指标,并找到它们受支持的平均权重(每个标签的真实实例数)。这会更改‘macro’以解决标签不平衡的问题;这可能导致F-score不在精确度和召回率之间。 - 'samples': 计算每个实例的指标,并找到它们的平均值(仅对不同于accuracy_score的多标签分类有意义)。sample_weightarray-like of shape (n_samples,), default=None 样本权重。zero_division“warn”, 0 or 1, default=”warn” 设置零分频时返回的值。如果设置为“ warn”,则该值为0,但也会发出警告。
  11. 返回值
  12. 返回值说明precisionfloat (if average is not None) or array of float, shape = [n_unique_labels] 二进制分类中正类的精度,或者多类任务的每个类的精度的加权平均值。
  13. 召回率(查全率):召回率代表的是实际为正样本的样本总体预测正确的占比。精确度与召回率是一对矛盾的度量,一般来说,精确率高的时候,召回率往往偏低;精确率低的时候,召回率往往偏高。R e c a l l = T P T P F N Recall=\frac{TP}{TP FN}Recall=TP FNTP​对应sklearn包
  14. sklearn.metrics.recall_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')
  15. 参数
  16. 参数说明y_true1d array-like, or label indicator array / sparse matrix 真实目标值。y_pred1d array-like, or label indicator array / sparse matrix 分类器返回的估计目标。labelslist, optional 当average!='binary’时要包括的一组标签,如果average是None,则是标签的顺序。可以排除数据中存在的标签,例如,以忽略多数否定类的方式计算多类平均值,而数据中不存在的标签将导致宏平均值中的0成分。对于多标签目标,标签是列索引。 默认情况下,y_true和y_pred中的所有标签均按排序顺序使用。 在版本0.17中进行了更改:针对多类问题改进了参数标签。pos_labelstr or int, 1 by default average ='binary’且数据为二进制的报告类。如果数据是多类或多标签的,则将被忽略; 设置labels=[pos_label]和average!='binary’将仅报告该标签的分数。averagestring, [None|‘binary’ (default)| ‘micro’| ‘macro’| ‘samples’|‘weighted’] 对于多类/多标签目标,此参数是必需的。如果为None,则返回每个类的得分。否则,将根据数据的平均表现确定类型: - 'binary': 仅报告由pos_label指定的类的结果。仅当目标(y_ {true,pred})为二进制时才适用。 - 'micro': 通过计算真正例、假负例和假正例的总数来全局计算度量。 - 'macro': 计算每个标签的度量,并找到其未加权平均值。 这没有考虑标签不平衡。 - 'weighted': 计算每个标签的度量,并找到它们受支持的平均权重(每个标签的真实实例数)。这会更改‘macro’以解决标签不平衡的问题;这可能导致F-score不在精确度和召回率之间。 - 'samples': 计算每个实例的度量,并找到它们的平均值(仅对不同于accuracy_score的多标签分类有意义)。sample_weightarray-like of shape (n_samples,), default=None 样本权重。zero_division“warn”, 0 or 1, default=”warn” 设置零分频时返回的值。如果设置为“ warn”,则该值为0,但也会发出警告。
  17. 返回值
  18. 返回值说明recallfloat (if average is not None) or array of float, shape = [n_unique_labels] 二进制分类中的正例类的召回率或多类别任务的每个类别的召回率加权平均
  19. P-R曲线:以查准率为纵轴,查全率为横轴,就得到了查准率-查全率曲线,又被称为P-R曲线。P-R曲线能直观地显示出学习器在样本总体上的查全率、查准率。如下图,学习器A优于学习器C(学习器A的曲线完全包住学习器C),但是学习器A与B很难比较,因为出现了交叉,平衡点(BEP)也就是查准率等于查全率的时候,对应的坐标值,坐标值大的相对优一点。但BEP过于简化,因此常用F1。
  20. 对应sklearn包
  21. sklearn.metrics.average_precision_score(y_true, y_score, *, average='macro', pos_label=1, sample_weight=None)
  22. 参数
  23. 参数说明y_truearray, shape = [n_samples] or [n_samples, n_classes] 真正的二进制标签或二进制标签指示符。y_scorearray, shape = [n_samples] or [n_samples, n_classes] 目标分数可以是肯定类别的概率估计值,置信度值或决策的非阈值度量(如某些分类器上的“ decision_function”所返回)。averagestring, [None, ‘micro’, ‘macro’ (default), ‘samples’, ‘weighted’] 如果为None,则返回每类的得分。否则,将确定对数据平均表现的类型: - ‘micro’: 通过将标签指标矩阵的每个元素都视为标签来全局计算指标。 - ‘macro’: 计算每个标签的指标,并找到其未加权平均值。此处没有考虑标签不平衡问题。 - ‘weighted’: 计算每个标签的指标,并找到它们的平均值,然后按支持度(每个标签的真实实例数)加权。 - ‘samples’: 计算每个实例的指标,并找到它们的平均值。 当y_true为二进制时将被忽略。pos_labelint or str (default=1) 正向类别的标签。仅适用于二进制y_true。 对于multilabel-indicator y_true,pos_label固定为1。sample_weightarray-like of shape (n_samples,), default=None 样本权重。
  24. 返回值
  25. 返回值说明average_precisionfloat
  26. F值:当需要在精确率与召回率之间进行权衡时,F1曲线同时考虑了两者,可以作为一种评价指标,它是精确率和召回率的调和平均数。当β > 1时,召回率的权重高于精确率,当β < 1时精确率的权重高于召回率,当β = 1时,就变成了F1值。F β = ( 1 β 2 ) ⋅ P r e c i s i o n ⋅ R e c a l l β 2 ⋅ P r e c i s i o n R e c a l l F_\beta=(1 \beta^2)\cdot\frac{Precision \cdot Recall}{\beta^2 \cdot Precision Recall}Fβ​=(1 β2)⋅β2⋅Precision RecallPrecision⋅Recall​F1:F 1 = 2 ⋅ P r e c i s i o n ⋅ R e c a l l P r e c i s i o n R e c a l l F_1=\frac{2\cdot Precision \cdot Recall}{Precision Recall}F1​=Precision Recall2⋅Precision⋅Recall​对应sklearn包
  27. sklearn.metrics.f1_score(y_true, y_pred, *, labels=None, pos_label=1, average='binary', sample_weight=None, zero_division='warn')
  28. 参数
  29. 参数说明y_true1d array-like, or label indicator array / sparse matrix 真实目标值。y_pred1d array-like, or label indicator array / sparse matrix 分类器返回的估计目标。labelslist, optional 当average!='binary’时要包括的一组标签,如果average是None,则是标签的顺序。可以排除数据中存在的标签,例如,以忽略多数否定类的方式计算多类平均值,而数据中不存在的标签将导致宏平均值中的0成分。对于多标签目标,标签是列索引。 默认情况下,y_true和y_pred中的所有标签均按排序顺序使用。 在版本0.17中进行了更改:针对多类问题改进了参数标签。pos_labelstr or int, 1 by default average ='binary’且数据为二进制的要进行报告的类。如果数据是多类或多标签的,则将被忽略;设置labels=[pos_label]及average!='binary’将仅报告该标签的得分。averagestring,[None| ‘binary’(default)| ‘micro’| ‘macro’| ‘samples’| ‘weighted’] 对于多类/多标签目标,此参数是必需的。如果为None,则返回每个类的得分。否则,将确定数据执行的平均类型: - 'binary': 仅报告由pos_label指定的类的结果。仅当目标(y_ {true,pred})为二进制时才适用。 - 'micro': 通过计算真正例、假负例和假正例的总数来全局计算度量。 - 'macro': 计算每个标签的度量,并找到其未加权平均值。 这没有考虑标签不平衡。 - 'weighted': 计算每个标签的度量,并找到它们受支持的平均权重(每个标签的真实实例数)。这会更改‘macro’以解决标签不平衡的问题;这可能导致F-score不在精确度和召回率之间。 - 'samples': 计算每个实例的度量,并找到它们的平均值(仅对不同于accuracy_score的多标签分类有意义)。sample_weightarray-like of shape (n_samples,), default=None 样本权重。zero_division“warn”, 0 or 1, default=”warn” 设置除数为零(即所有预测和标签均为负)时的返回值。如果设置为“warn”,则该值为0,但也会发出警告。
  30. 返回值
  31. 返回值说明f1_scorefloat or array of float, shape = [n_unique_labels] 二进制分类中的正例类的F1分数,或者对于多类别任务,每个类别的F1分数的加权平均值。
  32. G值:是精确率与召回率的另一种评价指标,它是精确率和召回率的几何平均数。G = P r e c i s i o n ⋅ R e c a l l G=\sqrt{Precision \cdot Recall}G=Precision⋅Recall​
  33. ROC曲线和AUC :当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变,即ROC曲线能够很好的消除样本类别不平衡对评估指标产生的影响(把实际中的正样例与负样例分开考虑)。ROC曲线与下方坐标轴围成的面积就是AUC,考虑的是样本预测的排序质量,因此与排序误差有紧密联系,AUC的值应当越大越好。
  34. 对应sklearn包 (AUC):
  35. sklearn.metrics.auc(x, y)
  36. 参数
  37. 参数说明xarray, shape = [n] x坐标。这些必须是单调递增或单调递减。yarray, shape = [n] y坐标。
  38. 返回值
  39. 返回值说明aucfloat
  40. 对应sklearn包(ROC) :
  41. sklearn.metrics.roc_curve(y_true, y_score, *, pos_label=None, sample_weight=None, drop_intermediate=True)
  42. 参数
  43. 参数说明y_truearray, shape = [n_samples] 真正的二进制标签。 如果标签既不是{-1,1}也不是{0,1},则应该明确给出pos_label。y_scorearray, shape = [n_samples] 目标分数可以是正例类的概率估计值,置信度值或决策的非阈值度量(如某些分类器上的“ decision_function”所返回)。pos_labelint or str, default=None 正例类的标签。当pos_label = None时,如果y_true在{-1,1}或{0,1}中,则pos_label设置为1,否则将引发错误。sample_weightarray-like of shape (n_samples,), default=None 样本权重。drop_intermediateboolean, optional (default=True) 是否降低一些未达到最佳阈值的阈值,这些阈值不会出现在绘制的ROC曲线上。 这对于创建较浅的ROC曲线很有用。 版本0.17中的新功能:参数drop_intermediate。
  44. 返回值
  45. 返回值说明fprarray, shape = [>2] 增加假正例率,使得元素i是score >= thresholds[i]预测的假正例率。tprarray, shape = [>2] 增加真正例率,使得元素i是score >= thresholds[i]的预测的真正例率。thresholdsarray, shape = [n_thresholds] 用于计算fpr和tpr的决策函数的阈值递减。 thresholds [0]表示没有实例在预测中,可以任意设置为max(y_score) 1。
  46. 真正率假正率真负率假负率
  47. 真正率:在所有实际正例的样本中,正确判断为正例的概率;
  48. 假正率:在所有实际负例的样本中,错误判断为负例的概率;
  49. 真负率:在所有实际负例的样本中,正确判断为负例的概率;
  50. 假负率:在所有实际正例的样本中,错误判断为正例的概率。T P R = T P T P F N F P R = F P F P T N T N R = T N T N F P F N R = F N F N T P TPR=\frac{TP}{TP FN} \quad FPR=\frac{FP}{FP TN} \quad TNR=\frac{TN}{TN FP} \quad FNR=\frac{FN}{FN TP} \quadTPR=TP FNTP​FPR=FP TNFP​TNR=TN FPTN​FNR=FN TPFN​对应sklearn包
  51. sklearn.metrics.confusion_matrix(y_true, y_pred, *, labels=None, sample_weight=None, normalize=None)
  52. 参数
  53. 参数说明y_truearray-like of shape (n_samples,) 真实目标值。y_predarray-like of shape (n_samples,) 分类器返回的估计目标。labelsarray-like of shape (n_classes), default=None 索引矩阵的标签列表。可用于重新排序或选择标签的子集。如果指定None,则那些在y_true或y_pred中至少出现一次的标签将按照排序使用。sample_weightarray-like of shape (n_samples,), default=None 样本权重。 版本0.18中的新功能。normalize{‘true’, ‘pred’, ‘all’}, default=None 对真实(行),预测(列)条件或所有总体的混淆矩阵进行归一化。 如果为None,则不会对混淆矩阵进行归一化。
  54. 返回值
  55. 返回值说明Cndarray of shape (n_classes, n_classes) 混淆矩阵,其第i行和第j列条目指示真实标签为第i类且预测标签为第j类的样本数。
3.3. 回归任务
  1. 均方误差(MSE)或L2范数损失:通过计算真实值与预测值的差值的平方和的均值来衡量距离。M S E = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 MSE=\frac{1}{m} \sum_{i=1}^{m}{(f(x_i)-y_i)^2}MSE=m1​i=1∑m​(f(xi​)−yi​)2

对应sklearn包

sklearn.metrics.mean_squared_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average', squared=True)

参数

参数

说明

y_true

array-like of shape (n_samples,) or (n_samples, n_outputs) 真实目标值。

y_pred

array-like of shape (n_samples,) or (n_samples, n_outputs) 预测目标值。

sample_weight

array-like of shape (n_samples,), optional 样本权重。

multioutput

string in [‘raw_values’, ‘uniform_average’] or array-like of shape (n_outputs) 定义多个输出值的汇总。类似数组的值定义了用于平均误差的权重。 - ‘raw_values’: 如果是多输出格式的输入,则返回完整的错误集。 - ‘uniform_average’: 所有输出的误差均以相同的权重平均。

squared

boolean value, optional (default = True) 如果为True,则返回MSE值;如果为False,则返回RMSE值。

返回值

返回值

说明

loss

float or ndarray of floats 非负浮点值(最佳值为0.0)或浮点值数组,每个目标对应一个浮点值。

  1. 均方根误差(RMSE): 通过计算真实值与预测值的差值的平方和的均值的标准差来衡量距离。R M S E = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 RMSE=\sqrt{ \frac{1}{m} \sum_{i=1}^{m}{(f(x_i)-y_i)^2}}RMSE=m1​i=1∑m​(f(xi​)−yi​)2​
  2. 平均绝对误差(MAE)或L1范数损失: 通过计算预测值和真实值之间的距离的绝对值的均值来衡量距离。M A E = 1 m ∑ i = 1 m ∣ y i − f ( x i ) ∣ MAE=\frac{1}{m} \sum_{i=1}^{m}|{y_i-f(x_i)|}MAE=m1​i=1∑m​∣yi​−f(xi​)∣
  3. 对应sklearn包
  4. sklearn.metrics.mean_absolute_error(y_true, y_pred, *, sample_weight=None, multioutput='uniform_average')
  5. 参数
  6. 参数说明y_truearray-like of shape (n_samples,) or (n_samples, n_outputs) 真实目标值。y_predarray-like of shape (n_samples,) or (n_samples, n_outputs) 预测目标值。sample_weightarray-like of shape (n_samples,), optional 样本权重。multioutputstring in [‘raw_values’, ‘uniform_average’] or array-like of shape (n_outputs) 定义多个输出值的汇总。类似数组的值定义了用于平均误差的权重。 - ‘raw_values’: 如果是多输出格式的输入,则返回完整的错误集。 - ‘uniform_average’: 所有输出的误差均以相同的权重平均。
  7. 返回值
  8. 返回值说明lossfloat or ndarray of floats 如果多输出为‘raw_values’,则分别为每个输出返回均值绝对错误。如果多输出是‘uniform_average’或权重的ndarray,则将返回所有输出错误的加权平均值。 MAE输出为非负浮点。最佳值为0.0。
3.4. 无监督任务

轮廓系数:适应于实际类别信息未知的情况。对于单个样本,设a是与它同类别中其它样本的 平均距离,b是与它距离最近不同类别中样本的平均距离,定义为:S = b − a m a x ( a , b ) S=\frac{b-a}{max(a,b)}S=max(a,b)b−a​对应sklearn包

sklearn.metrics.silhouette_score(X, labels, *, metric='euclidean', sample_size=None, random_state=None, **kwds)

参数

参数

说明

X

array [n_samples_a, n_samples_a] if metric == “precomputed”, or, [n_samples_a, n_features] otherwise 样本之间的成对距离数组或特征数组。

labels

array, shape = [n_samples] 每个样本的预测标签。

metric

string, or callable 计算特征阵列中实例之间的距离时使用的度量。如果metric是字符串,则它必须是metrics.pairwise.pairwise_distances允许的选项之一。如果X是距离数组本身,则使用metric=“precomputed”。

sample_size

int or None 在数据的随机子集上计算轮廓系数时要使用的样本大小。如果sample_size为None,则不使用采样。

random_state

int, RandomState instance or None, optional (default=None) 确定用于选择样本子集的随机数生成。当sample_size不为None时使用。在多个函数调用之间传递int以获得可重复的结果。请参阅词汇表。

**kwds

optional keyword parameters 任何其他参数都直接传递给距离函数。如果使用scipy.spatial.distance度量,则参数仍取决于度量。有关用法示例,请参见scipy文档。

返回值

返回值

说明

silhouette

float 所有样本的平均轮廓系数。

4. 机器学习用到的python库4.1. Numpy

创建数组

np.array()

用于创建一维或多维数组

np.arange()

在给定的间隔内返回具有一定步长的整数

np.linspace()

创建一个具有指定间隔的浮点数的数组

np.random.randint()

在一个范围内生成n个随机整数样本

np.zeros()

创建一个全部为0的数组

np.ones()

创建一个全部为1的数组

np.full()

创建一个单独值的n维数组

数组操作

np.min()

返回数组中的最小值

np.max()

返回数组中的最大值

np.mean()

返回数组的平均数

np.median()

返回数组的中位数

np.np.sort()

对数组排序

4.2. Pandas4.3. Matplotlib

Figure:是指整个图形,也就是一张画布,包括了所有的元素,如标题,轴线等;Axes:绘制 2D 图像的实际区域,也称为轴域区,或者绘图区;Axis:是指图形的水平轴和垂直轴,包括轴的长度、轴的标签和轴的刻度等;

xlabel、ylabel: 设置横轴、纵轴标签及大小

xticks、yticks: 设置坐标轴刻度的字体大小

plt.legend():添加图例

plt.scatter():函数用于生成一个scatter散点图

plt.plot(x, y, format_string, **kwargs) :绘制函数曲线(绘制坐标图)

,