k折交叉验证法python实现_Python数据分析初级技能包整理(未完)

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

Seaborn更多用法教程,见官方文档:seaborn: statistical data visualization

其他绘图工具推荐:

  • Plotly:Quick Start
  • matplotlib:Matplotlib: Python plotting
  • ggplot 2:ggplot · PyPI
  • 更多Python绘图库推荐
  • 更多数据可视化工具推荐

验证型数据分析-「假设检验」

  1. 提出null nypothesis(和对应的alternative hypothesis)
  2. 推测null nypothesis下,样本统计量发生的概率P-value(根据统计量所符合的概率分布规律不同,有不同的检验方法)
  3. 设定拒绝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(留一交叉验证法):只使用原本样本中的一项来当做验证集, 而剩余的则留下来当做训练集。 这个步骤一直持续到每个样本都被当做一次验证数据

分类算法的评估方法主要有:ROCAUCconfusion matrix等。

聚类模型的性能指标主要分为内部指标(Internal Index)和外部指标(External Index)两类。内部指标适用于无标注数据,根据聚类结果中簇内相似度和簇间分离度进行聚类质量评估;而外部指标适用于有标注数据,将聚类结果与已知类标签进行比较。聚类算法评价指标。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值