![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据分析
CristinaM
这个作者很懒,什么都没留下…
展开
-
【特征工程】特征选择Feature Selection
正好在写这部分,就顺带练习一下吧。一如既往地,来源:https://towardsdatascience.com/feature-selection-techniques-1bfab5fe0784数据集:https://www.kaggle.com/uciml/mushroom-classification减少特征数量的好处有:准确性提高。减少过度拟合。加快训练速度。改进数据可视化...原创 2020-01-06 21:42:10 · 446 阅读 · 0 评论 -
【特征工程】处理经纬度的9种方法/技巧(转载)
转载加修改:Feature engineering: all I learnt about Geo-spatial features1. 极坐标法Add two new features of Polar coordinates to the datasetx = Longitude;y = Latituderot_x = x * cosθ + y * sinθrot_y = x *...原创 2019-12-11 17:01:34 · 6439 阅读 · 0 评论 -
【CASE】芝加哥犯罪率数据集(CatBoostClassifier)
参考:top 2% based on CatBoostClassifier导入库与数据import numpy as npimport pandas as pdpd.set_option("display.max_columns", None)from sklearn.preprocessing import LabelEncoder, OrdinalEncoder, OneHotEnc...原创 2019-12-12 15:32:22 · 2759 阅读 · 1 评论 -
【特征处理】Label Encoding与One Hot
其实Catboost自带处理类别数据的功能。但还是学习一下。Label Encoding与One Hot的区别-201805131.两类模型:(A)逻辑回归,SVM。对数值大小是敏感的,即变量间的数值大小本身是有比较意义的。(B)树模型。对数值变化不敏感,数值存在的意义更多的是为了排序,即0.1,0.2,0.3与1,2,3是没有区别的,这部分模型绝大部分是。2.两类类别变量:2.1...原创 2019-12-09 16:01:43 · 448 阅读 · 0 评论 -
【基础概念】什么是benchmark model?
阅读文献的时候提到多次,决定还是存一些资料。What is a benchmark model?Benchmarking Predictive Models基准测试流程可能需要运行多次,并使用一个聚合平滑度量 smoothed measure(如中值median value)进行比较为了Benchmarking Models,set.seed,random.seed等的意义就出现了...原创 2019-12-09 14:56:01 · 4319 阅读 · 0 评论 -
把文本里含有某个关键词的赋值1,其余赋值为0
依旧是芝加哥犯罪的demo:dataset['Block'] = dataset['Address'].str.contains('block', case=False)dataset['Block'] = dataset['Block'].map(lambda x: 1 if x == True else 0)print(dataset.Block.head())0 01 ...原创 2019-12-08 22:36:21 · 750 阅读 · 0 评论 -
【特征处理】时间序列的一些处理
其余几个Demo讲清楚了,其实我就单拎出来。以消费者数据为例#%%import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport numpy as npimport repd.set_option('display.max_columns', 1000)pd.set_option('dis...原创 2019-12-08 21:53:48 · 309 阅读 · 0 评论 -
关于数据泄露
关注这个主要是之前看了nature那篇地震预测的纷争,希望自己以后能绕开。存一些资料。一些文章:你可能过于高估了机器学习算法能力,带你解读鲜为人知的数据泄露问题Kaggle上关于data leakage的详细介绍以及提出的一些避免方法How Data Leakage Impacts Machine Learning Models(一个详细解释)八卦:Nature论文预测余震只是炒作?...原创 2019-12-08 21:11:36 · 165 阅读 · 0 评论 -
芝加哥犯罪率数据集(数据分析与特征处理)
参照:SF-Crime Analysis & PredictionCrime Scene Exploration and Model Fit主要是因为这个数据集包含了时间序列和坐标点。练习一下特征处理。数据分析导入库#%%%matplotlib inlineimport numpy as np import pandas as pdimport mathimport s...原创 2019-12-08 16:42:35 · 6487 阅读 · 1 评论 -
利用Shap解释Xgboost(或者别的)模型
Shap的一些介绍:SHAP包算法解析shap的中文解析知乎的翻译ps,sklearn库的模型可以用lime模块解析本文参考利用SHAP解释Xgboost模型数据集原创 2019-12-07 16:33:07 · 12319 阅读 · 5 评论 -
LabelEncoer,类别特征转换为数值特征,transform的使用
demo参照E-Commerce Data那篇对country类别的处理。换个简单的数据集Demo:import pandas as pdimport numpy as npdf = pd.DataFrame({"Person": ["John", "Myla", "Lewis", "John", "Myla"], ...原创 2019-12-07 10:27:50 · 778 阅读 · 0 评论 -
pandas.Series.str.contains(筛选)
https://blog.csdn.net/weixin_43615654/article/details/103419171这篇里用到了一个Str的contains函数,查了一下用法。pandas.Series.str.containsReturns: Series or Index of boolean valuesA Series or Index of boolean value...原创 2019-12-07 09:42:47 · 920 阅读 · 0 评论 -
Pandas的count()与value_counts()区别
pandas.DataFrame.count函数方法的使用count计算每列或每行的非NA单元格。值None,NaN,NaT和可选的numpy.inf(取决于pandas.options.mode.use_inf_as_na)被视为NA。demo:import pandas as pdimport numpy as npdf = pd.DataFrame({"Person":...原创 2019-12-06 15:44:47 · 6286 阅读 · 0 评论 -
kaggle上面的E-Commerce Data数据集练习(可视化与部分特征工程)
接上篇:https://editor.csdn.net/md/?articleId=103394900Part 2 特征工程及可视化一种处理时间数据的方法data.insert(loc = 2, column='year_month',value=data['InvoiceDate'].map(lambda x:100*x.year+x.month))data.insert(loc = ...原创 2019-12-06 11:27:25 · 1615 阅读 · 1 评论 -
kaggle上面的E-Commerce Data数据集练习(数据处理)
熟练一下pandas和数据处理项目地址参考:Python数据清洗指南Customer Segmentation with XGBoost (97.92%)项目描述:这是一个跨国数据集,包含2010年12月1日至2011年12月9日期间英国注册的非商店在线零售的所有交易。该公司主要销售独特的万能礼品。公司的许多客户都是批发商。Part 1 分析数据和清洗数据导入数据data = pd...原创 2019-12-04 21:46:52 · 3218 阅读 · 0 评论 -
pandas数据处理练习(数据集:犯罪率)
导入库import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport numpy as npdata = pd.read_csv("C:\\Users\\Nihil\\Documents\\pythonlearn\\data\\random\\crimerate.csv")data.drop(...原创 2019-12-04 17:30:34 · 771 阅读 · 1 评论 -
宝可梦数据集的练习(预测模型)
仍然是参照:https://www.kesci.com/home/project/5b02bf4b57e80961e67c3b06先根据原文做,之后再做改动吧预测模型采用算法:1)Logistic Regression2)Support Vector Machines(Linear and radial)3)Random Forest4)K-Nearest Neighbours5)...原创 2019-11-30 17:18:17 · 3110 阅读 · 0 评论 -
数据共线性处理——用seaborn的方式(1),顺便也存些seaborn的资料
参考:https://zhuanlan.zhihu.com/p/50736139https://www.jiqizhixin.com/articles/2019-01-30-15https://lanpeihui.top/2018/09/27/%E7%89%B9%E5%BE%81%E9%80%89%E6%8B%A9%E5%AE%9E%E8%B7%B5/http://codingdict.co...原创 2019-11-28 11:29:43 · 419 阅读 · 0 评论 -
宝可梦数据集的练习(数据和特征的分析)
不想干正事练习点别的。来自kaggle项目:Visualizing Pokémon Stats with SeabornEDA-Pokemon目录Part1: 探索性数据分析:1)特征分析.2)发现特征间的关系和趋势Part2: 特征工程和数据清洗:1)移除多余的特征2)数据类型的转换Part3: 预测模型1)基本算法2)交叉验证3)集成算法4)重要特征抽取Par...原创 2019-11-27 22:16:30 · 5016 阅读 · 0 评论 -
特征输出重要性的排序
几个参考:模型输出特征重要性排序在 Python 中使用 XGBoost 的特征重要性和特征选择关于seaborn作图barplot&countplot&pointplotPython Seaborn综合指南1.用matplotlibimport pandas as pdfrom xgboost import XGBClassifierfrom xgboost i...原创 2019-11-27 20:51:46 · 5146 阅读 · 0 评论 -
数据不平衡的处理方法
资料收集SMOTE__简单原理图示_算法实现及R和Python调包简单实现类别不平衡问题之SMOTE算法(Python imblearn极简实现)【机器学习】如何解决数据不平衡问题How to fix an Unbalanced Dataset个人喜好:在算法上做选择。也要学学从数据上分,还是采用昨天的数据,因为这个数据也比较不平衡导入数据集import pandas as p...原创 2019-11-27 17:27:53 · 863 阅读 · 0 评论 -
超参数的调优(lightgbm)
参考原文超参数的优化过程:通过自动化目的:使用带有策略的启发式搜索(informed search)在更短的时间内找到最优超参数,除了初始设置之外,并不需要额外的手动操作。实践部分贝叶斯优化问题有四个组成部分:目标函数:我们想要最小化的对象,这里指带超参数的机器学习模型的验证误差域空间:待搜索的超参数值优化算法:构造代理模型和选择接下来要评估的超参数值的方法结果的...翻译 2019-11-25 21:55:29 · 7361 阅读 · 5 评论 -
Pipeline资料收集
pipeline的运用sklearn中的Pipline(流水线学习器)待用原创 2019-11-24 21:29:31 · 98 阅读 · 0 评论 -
使用 Hyperopt 对Xgboost进行参数调优(自己踩坑)
主要参考:https://www.jianshu.com/p/35eed1567463什么是超参数?超参数是无法通过算法学习得到参数;超参数需要人为预先设置,而每组超参数会产生结构不同的模型;超参数需要一定的调整去适应不同的应用场景;选择参数的方法网格搜索尝试检查每种可能的参数组合,当有一种组合优化了你的标准时(比如损失函数达到最小值),就停止搜索。随机搜索随机检查超参数空间,...原创 2019-11-23 18:43:44 · 2616 阅读 · 2 评论 -
XGboost调参_自己练习
主要参考:https://blog.csdn.net/kicilove/article/details/78413112#comments开始:导入库,加载数据import pandas as pdimport numpy as npimport xgboost as xgbfrom xgboost.sklearn import XGBClassifierfrom sklearn ...原创 2019-11-18 11:27:23 · 597 阅读 · 0 评论 -
几种调参方法的对比
参照:https://www.cnblogs.com/mfryf/p/11393669.htmlGird Search.优点是实现简单暴力,如果能全部遍历的话,结果比较可靠。缺点费时间。Random SearchBengio在Random Search for Hyper-Parameter Optimization中指出,Random Search比Gird Search更有效。实际操...原创 2019-11-17 15:52:06 · 1057 阅读 · 0 评论 -
LightGBM调参练习——使用自带数据集
基本参考:https://blog.csdn.net/u012735708/article/details/83749703调参流程1.选择较高的学习率,大概0.1附近,为了加快收敛速度。2.对决策树基本参数调参3.正则化参数调参4.降低学习率,为了最后提高准确率。1.学习率和迭代次数learning_rate = 0.1→boosting/boost/boosting_type,...原创 2019-11-16 22:40:17 · 2801 阅读 · 0 评论 -
Catboost用泰坦尼克号数据训练
source:https://github.com/catboost/tutorials/blob/master/python_tutorial.ipynb导入数据Catboost里自带了一些数据集from catboost.datasets import titanicimport numpy as nptrain_df,test_df = titanic()print(train...翻译 2019-11-15 17:23:09 · 1772 阅读 · 2 评论 -
XGBoost调参基本流程
source:http://rongzijing.win/index.php/archives/133/1.模型评估(重点看一下)主要评估指标包括:开发的模型评估模块:支持输出ROC曲线,AP曲线以及特征重要度柱状图等.生成的特征重要度柱状图,可以看到不同特征的权重,排名越高说明该特征对决策影响越大。此外,评估特征好坏还有一个小trick,即观察该柱状图的边界是否平滑,这个弧线越平滑,说明...原创 2019-11-14 11:21:48 · 627 阅读 · 0 评论 -
XGboost-网格调参法(转载与测试)
一、原理一篇好文:https://www.jianshu.com/p/7467e616f227二、网格调参用xgboost既可以用来做二分类、多分类,也可以用来做回归预测数值,除了特征之外,影响模型的是如何调参了,一般是按一定的步骤、网格搜索最优参数,如下两篇文章一个是用来分类,一个是用来预测数值的案例,并且详细给出了调参的步骤和代码:https://blog.csdn.net/han_...原创 2019-11-14 11:22:25 · 1905 阅读 · 0 评论 -
Fine-tuning XGBoost in Python
source:https://towardsdatascience.com/fine-tuning-xgboost-in-python-like-a-boss-b4543ed8b1e首先正确地完成了特性工程的工作。特别是分类特性,因为XGBoost在输入中不接受分类特性。1. Train-test split, evaluation metric and early stoppingdes...原创 2019-11-14 11:22:38 · 626 阅读 · 0 评论 -
在XGBoost中通过Early Stop避免过拟合(练习)
来源:https://www.jianshu.com/p/f0ffa8a933271.首先先计算在调用model.fit()函数时,可以指定测试数据集和评价指标,同时设置verbose参数为True,这样就可以在训练过程中输出模型在测试集的表现。e.g通过下面的方法在使用XGBoost训练二分类任务时输出分类错误率(通过“error”指定):eval_set = [(X_tes...原创 2019-11-14 11:22:47 · 1871 阅读 · 0 评论 -
数据集:自杀率,目标:分析数据
(7)自杀率与男女的关系grouop_data = data.groupby(['Age','Gender'])['SuicidesNo'].sum().unstack()grouop_data = grouop_data.reset_index().melt(id_vars='Age')grouop_data_female = grouop_data.iloc[:6,:]grouo...原创 2019-04-21 16:48:44 · 4636 阅读 · 0 评论