![bf591630ad76f86718e9c1c50dc849e5.png](https://img-blog.csdnimg.cn/img_convert/bf591630ad76f86718e9c1c50dc849e5.png)
数据分析,可以分为探索型、验证型与预测型三大类。
探索型数据分析-「画图」
利用Seaborn绘图函数绘制常见图表:barplot、pointplot、distplot、regplot、boxplot、countplot、FacetGrid、stripplot、swarmplot、violinplot 等。
Seaborn绘图背景样式控制:seaborn.set_style('parameter')
- darkgrid 黑色网格
- whitegrid 白色网格
- dark 黑色背景无网格
- white 白色背景无网格
- ticks 白色背景无网格
在Spyder/IPython中(Anaconda会自带这两个IDE)输入seaborn.图类型(
时,会自动跳出可设置调整的参数列表,如:
![b6f7c1f68b90f50a49190ac7d183c76f.png](https://img-blog.csdnimg.cn/img_convert/b6f7c1f68b90f50a49190ac7d183c76f.png)
Seaborn更多用法教程,见官方文档:seaborn: statistical data visualization
其他绘图工具推荐:
- Plotly:Quick Start
- matplotlib:Matplotlib: Python plotting
- ggplot 2:ggplot · PyPI
- 更多Python绘图库推荐
- 更多数据可视化工具推荐
验证型数据分析-「假设检验」
- 提出null nypothesis(和对应的alternative hypothesis)
- 推测null nypothesis下,样本统计量发生的概率P-value(根据统计量所符合的概率分布规律不同,有不同的检验方法)
- 设定拒绝null nypothesis的阈值α(比如5%),p<α则拒绝原假设。
需要掌握的统计学知识:
- 随机抽样(随机抽样方法整理、随机采样方法整理与讲解、选取合适的抽样调查样本进行精准营销)
- 误差error:标准差(总体标准差、样本标准差)、Bootstrap置信区间(Quantile算法等)
- 随机变量与常见的概率分布、概率密度函数
Statsmodels:用于实现统计建模和计量经济学的工具包,主要包括描述统计、统计模型估计和统计推断。StatsModels: Statistics in Python
Scipy:一个数学、科学和工程计算Python工具包,包括统计、优化、整合、线性代数等等与科学计算有关的包。SciPy Documentation
预测型数据分析-「机器学习」
- 回归:预测连续型变量
- 分类:预测离散型变量(类别已知)
- 聚类:根据样本之间的相似性对样本进行分类(类别未知)
常见机器学习算法:线性回归、逻辑回归、k近邻(kNN)、k均值(k-means)、DBSCAN、决策树、随机森林、Adboost、GBDT、Xgboost。了解这些算法的优缺点和适用范围。
- 监督学习:已有一些训练样本(训练集),同时知道X和y,通过这些已知的样本学习得到回归模型。
- 无监督学习:在样本中寻找自然集群,而事先是不知道存在哪些集群的。聚类是无监督学习。
- 集成学习:通俗来讲,就是融合了多种算法,通过综合多个模型的结果,来决定最终的结果,以取得比单个模型更好的性能。集成学习原理小结。
参数优化方法:最小二乘法(OLS)、梯度下降法
- OLS(Ordinary Least Squares)最小二乘法是一种优化方法,用于求得目标函数的最优值。简单的说就是:让我们的预测值
与真实值
总的拟合误差(即总残差)达到最小。损失函数:预测值与真实值总的拟合误差(即总残差)。
- 梯度下降:线性回归与梯度下降算法。
过拟合、欠拟合与高阶模型
- 线性回归模型是经典的拟合模型,但是也有天然的缺陷。当线性回归无论如何都无法很好地拟合数据时,可以尝试使用高阶的多项式来进行拟合。
- 一般来讲,多项式的阶数越高越能完美地拟合数据。
- 了解欠拟合,过拟合及正则化。
- 了解机器学习算法中的过拟合与欠拟合。
- 了解欠拟合、过拟合及其解决方法。
特征选择
- 相关性:考察在我们已有的数据里面的特征x与预测值y的相关度(皮尔逊相关系数r)
- 迭代:确定要使用哪个算法后,选择最合适的训练子集,从而使得模型的效果最好(暴力解法、迭代增加、迭代减少)
- 基于模型:通过模型直接得出每个训练特征的重要性的模型,或者是在进行预测时加入的一些正则化调整,从而筛选出最重要的特征(Gini Importance、Mean Decrease Accuracy、正则化Lasso回归)
用sklearn实现机器学习算法
- sklearn实现线性回归:sklearn.linear_model.LinearRegression
- sklearn实现逻辑回归:sklearn.linear_model.LogisticRegression
- sklearn实现kNN模型回归:sklearn.neighbors.KNeighborsRegressor
- sklearn实现kNN模型分类:sklearn.neighbors.KNeighborsClassifier
- sklearn实现决策树模型回归:sklearn.tree.DecisionTreeRegressor
- sklearn实现决策树模型分类:sklearn.tree.DecisionTreeClassifier
- sklearn实现随机森林模型回归:sklearn.ensemble.RandomForestRegressor
- sklearn实现随机森林模型分类:sklearn.ensemble.RandomForestClassifier
- sklearn实现k-均值模型聚类:sklearn.cluster.KMeans
- sklearn实现DBCSAN模型聚类:sklearn.cluster.dbscan
- sklearn进行交叉检验:Cross-validation: evaluating estimator performance
- scipy.stats.pearsonr
- sklearn.preprocessing.LabelEncoder
- Feature importances with forests of trees
模型性能评估方法
交叉检验
- k-folds(k折交叉验证法):将初始数据集分割成 k 份,其中1份被保留作为验证模型的数据,其他 k-1 份用来训练。交叉验证重复 k 次,每份数据作为验证集验证一次,平均 k 次的结果或者使用其它结合方式,最终得到一个单一估测
- leave-one-out(留一交叉验证法):只使用原本样本中的一项来当做验证集, 而剩余的则留下来当做训练集。 这个步骤一直持续到每个样本都被当做一次验证数据
分类算法的评估方法主要有:ROC,AUC,confusion matrix等。
聚类模型的性能指标主要分为内部指标(Internal Index)和外部指标(External Index)两类。内部指标适用于无标注数据,根据聚类结果中簇内相似度和簇间分离度进行聚类质量评估;而外部指标适用于有标注数据,将聚类结果与已知类标签进行比较。聚类算法评价指标。