有哪些数据分析的模板和案例( 二 )
【有哪些数据分析的模板和案例】 使用Python的Pandas包的数据框的describe()方法对数据集的各个特征进行进行简单统计学描述,可统计的数据描述有count、mean、std、min及max等,如下图所示。若某特征的标准差接近于0,则该特征可以舍去。
使用数据框Series的value_counts()方法,对类别型特征进行频率统计,输出如下图所示。若特征中某标签频率非常低,则该频率对应的标签可以删除或者几个频率较低的标签合并成一个新的标签。
2.缺失值的填充
一般采用均值或中位数代替,对于正常分布的数据可以使用均值代替,否则使用中位数可能更好;若缺失值数量较小,并且是随机出现的,可选用将缺失值样本直接删除。所用到的相关方法有Series的fillna(),mean(),median()等。-999替换缺失值在业务场景中暂未用到。
3.非线性转换及异常值的处理
如果数值型数据较为离散或数值较大,可通过取log等非线性转换方法转换数据。如果数据服从正态分布,异常值为一组测定值中与平均值的偏差超过3倍标准差的值,以此来进行替换或删除。如果数据不符合正态分布,则适当提高标准差筛选倍数来选择异常值进行替换或删除。所用到的相关方法有数据框Series的mean(),std(),numpy的log1p等。
4.使用pandas.get_dummies()转换类别变量为哑变量
使用pandas.get_dummies()能快速将类别型变量转换为哑变量,由此先前数据将全部转换为数值型数据,才可以进行以后的相关运算。该过程使用到的函数或方法有pandas.get_dummies(),pandas.cut()等。
5.数据分割
从sklearn.cross_validation里选择train_test_split进行数据分割,一般随机选择25%的数据作为测试集。
6.数据标准化
若涉及距离相关的模型,比如SVM或KNN,应从sklearn.preprocessing里导入StandarScaler,并对测试集和训练集进行标准化。
7.根据简单经验模型对数据进行训练
根据业务场景,选择KNN等经验模型对数据进行预先训练,若效果较好将考虑其他高级模型。该过程需要从sklearn.neighbors里导入分类器KNeighborsClassifier,然后使用K近邻分类器对测试数据进行类别预测,再使用分类器KNeighborsClassifier的score()评估函数进行准确性(accuracy)评估,并使用sklearn.metrics中的classification_report模块对预测结果做precision、recall、f1_score等指标的分析。
8.GBDT或Xgboost模型的训练
若清洗数据后数据集在简单经验模型中训练效果良好,则考虑使用集成模型,在实际工作中大多数情况下采用GBDT和Xgboost。
以GBDT分类模型的训练为例,从sklearn.ensemble中导入分类器GradientBoostingClassifier,然后步骤依次为定义一个GradientBoostingClassifier分类器,fit训练数据和predict测试数据。在GBDT模型参数选择上,采用5折或10折交叉验证评分法(非官方名称),例如选择GradientBoostingClassifier中的max_features为要训练的参数,先根据经验选出几个值(例如为0.1,0.3,0.5,0.7,0.9,0.99),然后从sklearn.cross_validation中导入cross_val_score,将max_features几个经验值遍历带入新定义的GradientBoostingClassifier分类器,cross_val_score将新定义的分类器进行5折或10折交叉验证并输出得分列表,然后将cross_val_score输出得分列表求平均将平均值存入另一个列表,以此获得在不同max_features参数值下经过交叉验证的该模型的评分信息,并导入matplotlib.pyplot模块对准确率和所取的max_features参数值进行画图。如下图所示,在该图中max_features取值越高,准确率越高,则选择max_featuresd值为0.99或1。类似的,交叉验证评分法用于n_estimators、learning_rate、max_depth、min_samples_split等参数的选取。一般在工作中先选取迭代次数n_estimators和树深max_depth,再选择learning_rate,接着验证min_samples_split、min_samples_leaf及max_features等。
推荐阅读
- 医院|感染艾滋病毒初期有哪些征兆?可以自行检查吗?共用马桶会传染吗
- 玩游戏花钱最多的有哪些游戏,哪些人
- 旅行|需要准备哪些物品?全面冬季出游清单,建议收藏带宝宝出门旅行
- 红米手机通过QQ空间的成功营销,给涉足社会化营销的企业有哪些启示
- 互联网在线音乐行业有哪些可能的盈利模式
- 直播会成为品牌传播的另一个途径么有哪些可行的方法感觉有戏又没头绪好捉急。
- 侧重业务逻辑的产品需求规格说明书,需要有哪些要点
- 大学|上海大学第8,前10名有哪些高校?上海市30所大学排名
- 学图像处理有哪些不错的书推荐
- 新浪微博创新基金投资了哪些团队