自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 收藏
  • 关注

原创 电商订单异常检测实战

虽然是类别,但是有点多,所以需要根据某种特征进行聚合,比如一线城市,省份,等。enumerate生成器,打开需要用*

2024-04-26 12:38:07 74

原创 随机森林在巨量数据上的增量学习warm_start

2024-04-17 16:02:34 83

原创 集成学习-Bagging与随机森林回归

【代码】集成学习-Bagging与随机森林回归。

2024-04-17 10:08:50 349 1

原创 模型融合1

一、模型融合:与集成算法一样,都是训练多个评估器,并将多个评估器以某种方式结合起来解决问题的机器学习办法。但是区别是模型融合能够再经典集成模型的基础上进一步提升分数,使用模型融合ji融合:与集成算法一样,都是训练多个评估器,并将多个评估器以某种方式结合起来解决问题的机器学习办法。但是区别是模型融合能够再经典集成模型的基础上进一步提升分数,使用模型融合。

2024-04-14 13:59:28 155

原创 数组之间的合并

2022-05-17 19:12:46 186

原创 SAS 宏

sas宏语言详细教程在这里插入图片描述

2022-05-04 10:36:03 782

原创 EXCEL数据透视表

1、显示报表筛选页,汇总每个城市的项目,然后按照每个城市分页1、

2022-04-18 17:48:57 221

原创 sas字符数字转

知乎以下内容原地址SAS中变量可以分为数值型变量和字符型变量,我们希望一些特定的变量是数值型的,尤其对于连续型变量,比如年龄,身高,体重等,以便于进行数值运算。试想,如果身高是字符型变量,我们是无法计算其均值的。同时,我们也希望一些特定变量是字符型的,比如身份证号码,我们只希望其是一个标识,并不需要对其进行运算;如果身份证号码是以数值型变量出现,由于其比较长,除非特别设定format格式,不然SAS中往往不能完整的展示出来。实际数据分析中,将字符型变量转换为数值型变量最为常见。但是在实际导入excel数

2022-03-25 12:00:06 7615

原创 SAS字符数字转换

SAS数值型变量与字符型变量之间的转换·之前写过一篇字符变量转换为数值型变量的文章,这次算是总结上次的,在加上一个数值转字符的方法。在一般的情况下,前者用到的可能性药大一点,因为有时候在进行各种不同类型的数据库之间转移的时候经常会出现意外,或者在数据录入的时候的意外字符混入。字符型变量转数值型变量这里提供2种方法:1. 使用运算符转换原理就是字符型加上一个0,sas就会默认的把这个计算得到的变量设为数值型。例 字符自动转数值data b;input x y$;

2022-03-25 11:33:02 6600

原创 时间格式特征处理

#转化成时间格式for data in [data_train, data_test_a]: data['issueDate'] = pd.to_datetime(data['issueDate'],format='%Y-%m-%d') startdate = datetime.datetime.strptime('2007-06-01', '%Y-%m-%d') #构造时间特征 data['issueDateDT'] = data['issueDate'].apply(l

2022-01-13 13:32:42 121

原创 无序高基数类别特征(例如城市,省份这样的

‘’‘无序高基数类别特征(例如城市,省份这样的):我们用目标编码,为减小过拟合现象,采用5折交叉验证的思路,转化特征值,见下图’’’def kfold_stats_feature(train, test, feats, k): folds = StratifiedKFold(n_splits=k, shuffle=True, random_state=6666) # 这里最好和后面模型的K折交叉验证保持一致 train['fold'] = None for fold_, (t

2022-01-10 17:37:46 169

原创 excel处理技巧三

2022-01-07 22:02:34 249

原创 sns一些图在乳腺癌上的数据可视化和特征选择

可以具体看一下#数据量纲不一样,是否需要统一量纲进行标准化#小提琴图是箱线图与核密度图的结合,箱线图展示了分位数的位置,核密度图则展示了任意位置的密度,#通过小提琴图可以知道哪些位置的数据点聚集的较多,因其形似小提琴而得名import pandas as pd pd.melt(id_vars=['商品'],value_vars=['广州','上海','北京'],var_name=['城市'],value_name=['销量'])data = pd.melt(data,id_vars="di

2022-01-07 15:53:40 558

原创 11种离散型变量编码方式及效果对比及类别型特征

11种离散变量编码效果对比一、背景当我们预处理数据时,碰到类别型变量,需要将它们编码转换后才能输入进模型当中。按照不同的划分标准,类别型变量有:● 按照类别是否有序:有序和无序的类别特征。● 按照类别数量:高基类和低基类的类别特征。针对不同的类别特征和任务,可选的类别特征编码方法也不一样。本文主要介绍常见且好用的类别编码方法,希望对大家有所帮助。二、方法标签编码(Label Encoder)标签编码就是简单地赋予不同类别,不同的数字标签。属于硬编码,优点是简单直白,网上很多说适用于有序类

2022-01-04 19:43:57 1012

原创 分类型特征 数值型特征-金融贷款违约预测特征工程

参考该博主的特征工程#根据本身的含义进行看是类别变量还是数值变量#根本不是根据object 和int#类别变量:本身不是数值表示的#数值变量,不管是连续还是离散,本身就是用数值表示的#还有一种本身不是数值表示的,但是匿名处理之后用连续数值表示的一些变量#“policyCode”,唯一值,去掉,ID 去掉#首先找出,分类型特征都有哪些cate = Xtrain.columns[Xtrain.dtypes == "object"].tolist()#除了特征类型为"object"的特征们,还有

2021-12-30 21:29:08 417

原创 机器学习中为什么正态分布如此常见

原因真正的原因是中心极限原理:多个独立统计量的和的平均值,符合正态分布根据中心极限原理,如果一个事物受到多种因素的影响,不管每个因素本身是什么分布,他们加总后,结果的平均值就是正态分布许多事物受到多种因素的影响,这导致了正态分布的常见,正态分布是对称的(高个子与矮个子的比例相同),但是很多真实世界的分布是不对称的。正态分布只适合各种因素累加的情况,如果这些因素不是彼此独立的,会互相加强影响,那么就不是正态分布了...

2021-12-25 16:24:36 795

原创 特征类型总结

2.3.5 查看特征的数值类型有哪些,对象类型有哪些特征一般都是由类别型特征和数值型特征组成,而数值型特征又分为连续型和离散型。类别型特征有时具有非数值关系,有时也具有数值关系。比如‘grade’中的等级A,B,C等,是否只是单纯的分类,还是A优于其他要结合业务判断。数值型特征本是可以直接入模的,但往往风控人员要对其做分箱,转化为WOE编码进而做标准评分卡等操作。从模型效果上来看,特征分箱主要是为了降低变量的复杂性,减少变量噪音对模型的影响,提高自变量和因变量的相关度。从而使模型更加稳定‘’'广

2021-12-24 20:49:25 3659

原创 评分卡建模工具scorecardpy全解读

评分卡建模工具说到评分卡建模工具,做过评分卡的应该都能想到谢博士的scorecardpy和专为工业界模型开发设计的Python工具包–Toad,两者相比,scorecardpy更加轻量级,且依赖较少,可以满足大多数场景下的评分卡构建。为了使评分卡建模流程更加便捷,该Python包针对建模中各个关键步骤都提供了现成的函数,如下:数据集划分 (split_df)变量筛选(iv, var_filter)变量分箱(woebin, woebin_plot, woebin_adj, woebin_ply)分

2021-12-23 20:07:13 1040

原创 excel技巧2

快速填充,给出示例,excel自动会进行填充或者ctrl+e,或者下来之后有快速填充选项快速填充的时候要保证附近左边是有数据的,即使是空的一列,但是行标题至少是有的,保证他们是一体的...

2021-12-20 19:34:25 152

原创 excel基础技巧

定义名称indirect间接可以来自两个不同的单元格左边单元格选择西式早餐的时候,右边单元格相应的显示西式种类,分列ctrl+上下左右四个箭头就可以到表格的四个角ctrl+shift+向左的箭头可以选择所有列+向下的箭头就会选择整个表格VLOOKUP HVLOOKUP只能单向查询,且主键只能在最左或者最上,当主键在中间的时候,可以采用index和match配合可以进行多向查询index(在这里插入图片描述m...

2021-12-19 21:39:57 174

原创 SAS数值型函数

/*input将字符型的变量转为数值变量*//*20071001在SAS中默认是yymmdd10.格式,010203默认是yymmdd8.格式*/data a;x1="20071001";x2="010203";y1=input(x1,yymmdd10.);y2=input(x2,yymmdd8.);/*读入什么样的格式*/run;/*input将字符型的变量转为数值变量*//*20071001在SAS中默认是yymmdd10.格式,010203默认是yymmdd8.格式*/data

2021-12-16 16:53:11 1852

原创 SAS字符型函数

528866wmYSJ*```sqldata compress_1;x1=" 1 2 a 3";x2="Abacabbad";x3="134-7596-5241";x4="123***14567";y1=compress(x1," ");y2=compress(x2,"Ab");/*消除的是A 或b不是且的关系*/y3=compress(x3,"0123456789","k");/*消除除了数字外的所有其它字符*/y4=compress(x4,"0123456789","k");

2021-12-14 20:13:40 1503

原创 连续变量类型转换

(1) pd.get_dummies()不指定列如果直接使用pd.get_dummies()而不指定列,则只有那些数据类型为object,也就是str类型的列会被变成onehot当指定了columns时,只有指定的列被处理为onehot,不管这个列数据类型是什么,都可以进行处理tcc[“TotalCharges”]=tcc[“TotalCharges”].astype(float)tcc[“TotalCharges”]有正儿八经总结一下,报这个错通常是因为:要转换成浮点数的字符串中包含 非数字字

2021-12-08 18:58:11 306

原创 如何利用皮尔逊相关系数挑选特征

注意,此处可以通过皮尔逊相关系数进行特征提取的主要原因也是在于我们在特征创建的过程中,将所有特征都默认为连续性变量

2021-12-08 13:12:14 1852

原创 变量相关性分析

变量相关性分析  接下来,我们尝试对变量和标签进行相关性分析。从严格的统计学意义讲,不同类型变量的相关性需要采用不同的分析方法,例如连续变量之间相关性可以使用皮尔逊相关系数进行计算,而连续变量和离散变量之间相关性则可以卡方检验进行分析,而离散变量之间则可以从信息增益角度入手进行分析。但是,如果我们只是想初步探查变量之间是否存在相关关系,则可以忽略变量连续/离散特性,统一使用相关系数进行计算,这也是pandas中的.corr方法所采用的策略。计算相关系数矩阵  当然,首先我们可以先计算相关系数矩

2021-12-02 11:23:14 7417

原创 异常值检测

plt.figure(figsize=(16,6))plt.subplot(121)#1行2列正在绘制第一列plt.boxplot(tcc["MonthlyCharges"])plt.subplot(122)plt.boxplot(tcc["TotalCharges"])plt.figure(figsize=(16,6))plt.subplot(211)#2行1列正在绘制第一列plt.boxplot(tcc["MonthlyCharges"])plt.subplot(212)...

2021-12-01 16:44:42 55

原创 离散变量和连续变量缺失值检验和填补,空格表示缺失值的

我们需要对不同类型字段进行转化。并且在此过程中,我们需要检验是否存在采用别的值来表示缺失值的情况。就像此前所说我们通过isnull只能检验出None(Python原生对象)和np.Nan(numpy/pandas在读取数据文件时文件内部缺失对象的读取后表示形式)对象。但此外我们还需要注意数据集中是否包含采用某符号表示缺失值的情况。r如空格表示缺失值的,首先是离散字段的转化过程:通过对比离散变量的取值水平,我们发现并不存在通过其他值表示缺失值的情况。需要注意的是,如果是连续变量,则无法使用上述方

2021-12-01 16:10:25 2722

原创 时序字段--进行字典编码

时序字段,使用字典编码会损失一部分信息从严格意义上来说,用时间标注的时序字段即不数据连续型字段或离散型字段(尽管可以将其看成是离散字段,但这样做会损失一些信息),因此我们需要重点关注入网时间字段是否是时间标注的字段字段应该是经过字典排序后的离散型字段。所谓字典排序,其本质是一种离散变量的转化方式,有时我们也可以将时序数据进行字典排序,该过程我们可以通过如下示例进行说明...

2021-12-01 11:20:04 144

原创 计算每一列的缺失值及占比

def missing (df):"""计算每一列的缺失值及占比"""missing_number = df.isnull().sum().sort_values(ascending=False) # 每missing_percent = (df.isnull().sum()/df.isnull().count()).sort_values(ascending=Fmissing_values = pd.concat([missing_number, missing_percent], axis=

2021-11-30 10:07:15 761

原创 IBM电信用户流失预警

由于该数据集具备一定的业务背景,并且实际场景中也要求能够提供一些可作为决策依据的结论,因此本次算法建模目标有两个,其一是对流失用户进行预测,其二则是找出影响用户流失的重要因子,来辅助运营人员来进行营销策略调整或制定用户挽留措施。  综合上述两个目标我们不难发现,我们要求模型不仅要拥有一定的预测能力,并且能够输出相应的特征重要性排名,并且最好能够具备一定的可解释性,也就是能够较为明显的阐述特征变化是如何影响标签取值变化的。据此要求,我们首先可以考虑逻辑回归模型。逻辑回归的线性方程能够提供非常好的结

2021-11-30 10:06:07 421

原创 ELO用户忠诚度评分建模

特征选择:可以选择一些重要的数据先建模试一下哪个模型比较好 由于此前创建了数千条特征,若带入全部特征进行建模,势必极大程度延长模型建模时间,并且带入太多无关特征对模型结果提升有限,因此此处我们借助皮尔逊相关系数,挑选和标签最相关的300个特征进行建模。当然此处300也可以自行调整 这里为什么使用皮尔逊相关系数:皮尔逊相关系数是连续变量之间的相关性评估方法,这里有很多离散变量,为什么还要使用呢,因为我们把那些新生成的特征都当做连续变量来看待,因为之前业务统计特征进行一些统计指标,都是对于连续变量的,我们默

2021-11-29 19:51:18 1059

原创 通用组合特征创建---一个主键对应多条记录的时候如何处理和业务特征组建

一、特征工程  首先需要对得到的数据进一步进行特征工程处理。一般来说,对于已经清洗完的数据,特征工程部分核心需要考虑的问题就是特征创建(衍生)与特征筛选,也就是先尽可能创建/增加可能对模型结果有正面影响的特征,然后再对这些进行挑选,以保证模型运行稳定性及运行效率。当然,无论是特征衍生还是特征筛选,其实都有非常多的方法。此处为了保证公开课提供的思路和方法具有通用性,此处列举两种特征衍生的方法,即创建通用组合特征与业务统计特征;并在特征创建完毕后,介绍一种基础而通用的特征筛选的方法:基于皮尔逊相关系数的Fil

2021-11-28 20:30:41 574

原创 ‘2017-01-20 08:52:04‘时间记录的split join提取及处理工作日和周末 上下午晚上和凌晨

# 4、进行时间段的处理,简单起见进行月份、日期的星期数(工作日与周末)、以及# 时间段(上午、下午、晚上、凌晨)的信息提取。transaction['purchase_month'] = transaction['purchase_date'].apply(lambda x:'-'.join(x.split(' ')[0].split('-')[:2]))transaction['purchase_hour_section'] = transaction['purchase_date'].appl.

2021-11-26 16:00:12 94

原创 drop_duplicates去重的操作

去重的操作merchant = merchant.loc[merchant['merchant_id'].drop_duplicates().index.tolist()].reset_index(drop=True)#获得索引然后提取这些索引的数据,#然后再重新设置索引,为什么要tolist()#

2021-11-25 17:26:33 250

原创 离散特征类型为非数值的的进行字典编码以及无穷值的填充

#字典编码函数def change_object_cols(se): value=se.unique().tolist() value.sort() return se.map(pd.Series(range(len(value)),index=value)).values#对于离散值有无穷值,需要对无穷值进行处理,进行显示最大值替换#1,先把无穷值替换成-99,然后再找到最大值merchant["active_months_lag3"]=merchant["active_

2021-11-24 15:46:48 173

原创 删除重复记录并修改索引

merchant = merchant.loc[merchant['merchant_id'].drop_duplicates().index.tolist()].reset_index(drop=True)查看两个表中是否有重复的特征字段duplicate_cols=[]for col in merchant.columns: if col in new_transaction.columns: duplicate_cols.append(col)print(duplica

2021-11-24 15:43:50 155

原创 ELO用户忠诚度评分大赛---异常值的识别和处理

https://www.sohu.com/a/416398396_100103806?sec=wd(2)数据大于±3标准差3σ 原则是在数据服从正态分布的时候用的比较多,在这种情况下,异常值被定义为一组测定值中与平均值的偏差超过3倍标准差的值。在数据处理的时候,按照正态分布的性质,三个标准差以外的数据都可以被看作是错误的数据从而排除掉。import gctrain = pd.read_csv('./eloData/train.csv')test = pd.read_csv('./eloData

2021-11-09 11:41:26 491

原创 SVM3-预测明天是否下雨关于时间和地点(利用经纬度计算不同地点之间的距离)

#先把X和Y分开X=weather.iloc[:,:-1]y=weather.iloc[:,-1]X

2021-07-16 18:49:55 220

原创 svm学习笔记1

#线性SVM可视化from sklearn.datasets import make_blobsfrom sklearn.svm import SVCimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltX,y=make_blobs(n_samples=50,centers=2,random_state=0,cluster_std=0.6)y'''Contour是我们专门用来绘制等高线的函数。等高...

2021-06-29 19:18:57 166 1

原创 kmeans学习笔记轮廓系数以及使用KMeans做矢量量化

from sklearn.cluster import KMeanscluster=KMeans(n_clusters=3,random_state=0).fit(X)y_pred=cluster.labels_color=["red","pink","orange","gray"]#根据聚类结果画图fig,ax1=plt.subplots(1)for i in range(3): ax1.scatter(X[y_pred==i,0],X[y_pred==i,1] ...

2021-06-23 17:21:38 1964 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除