- 博客(31)
- 收藏
- 关注
原创 《统计学习方法》线性模型的读书笔记
逻辑回归:基本原理:1)正负样本为1和0:预测函数:将输入特征x乘以线性回归系数w(可以增加截距b),得到z=wTx+b。选择f(z)=1/(1+exp(z))函数作为sigmoid函数,作为预测类别为正样本的概率值h(x),负样本概率值为1-h(x),将正负样本概率值求商之后再取对数,即概率比值对数ln(h(x)/(1-h(x)))=wTx为一个线性模型。如何求解最优的w:首先要构造目标...
2020-03-05 08:15:27
375
原创 liblinear用于求解LR和SVM的目标函数
liblinear是一个求解线性分类器目标函数的算法包,可用于比较高效快速地求解LR和SVM大规模数据集的目标函数。具体如下:
2020-03-04 07:46:28
333
原创 numpy中ndarray取单行样本的小贴士
当我们切分好训练集、测试集后,如果想取单行样本放进模型中预测或者训练,需要注意ndarray的维度是否正确。有几种reshape方式:1、如果我们直接用x_test[0]的方式,取出来的numpy数组是形如(64,)这种格式,需要通过reshape(1,64)或者reshape(1,-1)(不限制列数,只限制转换后的行数)对单行数据进行reshape。2、也可以直接使用切片引用的方式,取出来的...
2020-03-02 07:27:20
644
转载 求订单等时间间隔技巧
使用dataframe.shift函数,将dataframe记录往下一行平移后,再做相减差分,再做相隔天数的统计。order_diff = grouped_user.apply(lambda x:x.order_dt - x.order_dt.shift())order_diff.head(10)order_diff.describe()(order_diff / np.timedelta...
2020-02-11 13:18:13
735
原创 对dataframe使用apply方法小贴士
当apply函数处理的不是单个元素,而是整个dataframe行或者列时,为保证apply方法最终返回dataframe,可以在定义操作函数返回值时,将返回值设定为与原来dataframe相同列和index的series类型。...
2020-02-11 12:37:50
518
原创 将dataframe中的datetime列转成月份的格式
1、先将dataframe列转成ndarray再做类型强制转换成月份为单位:user_min=user_grouped[‘min’].values.astype(‘datetime64[M]’)。2、把转换后的ndarray用pd.DataFrame方法转成dataframe类型:user_month=pd.DataFrame(user_min,columns=[‘min’])。...
2020-02-11 11:13:39
1501
转载 sql笔记-计算每月累计销售额
1、先计算店铺每月的销售额,店铺、月份、销售额,建立临时表a。2、通过自连接的方式将表a自连接,以店铺名为匹配条件,得到每个店铺每个月与该店铺其他月份的连接结果。得到表b。3、筛选表b中某店铺前一个月份列大于等于后一个月份列的记录,对金额做sum聚合,得到该店铺该月份的累计值,group by字段为店铺名、前一个月份列、当月金额值。得到结果表c。1)按照商店名称和月份进行分组统计:crea...
2020-02-04 10:27:23
5037
原创 hive sql常见问题
1、列转行问题。某一列的值为固定分隔符的数组,需要先将数组值用split切分成数组,再将数组值用explode拆分出来配合lateral view使用,与原表形成笛卡尔联结的表。2、行转列问题。先判断需要转成的列,每一行记录应用case when对所有列进行判断赋值。...
2020-02-03 19:43:39
227
原创 设计SQL语句的思路
1、首先判断SQL统计的计算逻辑,看看涉及到哪些表和哪些字段。2、涉及到的表和字段关联在一起以后,用于聚合的每一行记录是怎么样的?有哪些原始字段和中间加工字段?是否需要分步来匹配聚合?3、编写SQL语句。4、再考虑SQL的优化。...
2020-02-03 13:42:59
709
原创 SQL笔记
应用group by进行分组时,可以通过函数对表中某一个字段进行加工后,以函数结果来进行分组。eg:Selectleft(imp_date,6) 月份,count(distinct imp_date) 每月领取天数,count(distinct qimei) 每月用户数,sum(add_money)/count(distinct qimei) 每月人均领取金额,co...
2020-02-02 22:44:17
131
原创 boosting方法学习笔记(一)
Adaboost:通过不断迭代计算不同的训练集权重分布下的基分类器和分类器的系数,最后将分类器通过线性组合的方式构成最终的分类器。迭代更新的系数通过每一轮迭代的分类误差率计算。核心思想是根据训练误差调整训练集的权重分布和基分类器的系数。GBDT(提升树):采用加法模型(基分类器的线性组合)与前向分步算法。前向分布算法即是每一步只学习一个基函数和系数,从前向后相加,逐步逼近优化目标函数,每一次拟合...
2019-12-29 22:12:58
185
原创 关于《统计学习方法》中回归问题的提升树算法的通俗理解
在每一轮迭代中,拟合上一轮回归函数与真实值y之间的残差,形成这一轮的回归树,并将这一轮拟合的回归树加上上一轮的回归函数形成这一轮的预测回归函数,以使这一轮的预测函数更逼近真实值y,然后不断迭代循环逼近。...
2019-12-23 21:16:33
185
原创 pandas.corr()相关检验方法的选择
连续变量之间的检验,用pearson系数(服从正态分布);离散变量或非正态分布连续变量之间的检验,用spearman或者kendall系数;连续与离散变量之间,可以考虑Kendall、卡方检验。spearman相关系数范围:0.2-0.4弱正相关,0.4-0.6算是中等相关,0.6-0.8达到强正相关。pearson相关系数范围:0.8-1.0 极强相关0.6-0.8 强相...
2019-12-16 10:50:17
896
1
转载 共线性对决策树和随机森林有影响吗
决策树和随机森林的预测能力不受多重共线性影响。但是数据的解释性会被多重共线性影响。随机森林可以返回特征的重要性(importantce),当有多重共线性时,importance会被影响。一些具体多重共线性的特征的重要性会被相互抵消,从而影响我们解释和理解特征。比如说,特征A和B完全一样,我们在用随机森林时,它们的重要性应该非常接近(考虑到随机性)。如果我们在训练前删除特征B,那么特征A的重要性...
2019-12-15 21:51:11
3560
原创 sklearn中OneHotEncoder使用注意事项——sparse参数
初始化OneHotEncoder实例时,默认sparse参数为True,编码后返回的是一个稀疏矩阵的对象,如果要使用一般要调用toarray()方法转化成array对象。若将sparse参数设置为False,则直接生成array对象,可直接使用。...
2019-11-18 22:02:56
4554
1
原创 聚类之前要做相关性检验
聚类之前要对各指标做相关性检验,对于相关性大的指标可以考虑予以剔除,否则相关性大的指标在分析时会加重他们的权重,影响真实的聚类效果。
2019-11-18 21:28:06
3807
1
原创 pd.read_csv读取文件时注意路径名问题
pd.read_csv读取文件时,要注意转义字符\的问题。有几种路径编写格式:1、路径名字符串之前加r,data=pd.read_csv(r’C:\AI\代码文档\工作\feature\fea_hfx4.csv’)。2、文件路径中的\改成/或者\。不然可能会提示编码错误。...
2019-11-14 17:36:58
7718
1
原创 dataframe通过列运算生成新列注意事项
要注意在进行列之间的运算时要避免使用输入参数仅为数值的函数,如float、math.log等,类型转换的话使用astype对整个序列进行操作。
2019-11-12 22:24:04
1614
原创 math.log函数和numpy.log函数区别
math.log函数只能对某个数值进行处理,无法对列表、序列等进行处理,需要通过循环的方式解决。numpy.log函数可以对数值或者列表、序列等进行对数运算,比较适用于在对dataframe、series整列做数据处理的场景。...
2019-11-12 22:18:21
3038
转载 Python中reload重新设置编码
转载:https://www.cnblogs.com/fengff/p/8857360.htmlpython为什么需要reload(sys)后设置编码python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0x?? in positio...
2019-11-02 17:07:42
639
转载 集成算法原理:Adaboost
博客园有位前辈总结得很清晰有条理,借鉴一下:https://www.cnblogs.com/pinard/p/6133937.html简单把里面我自己要备忘的要点概括一下:1)基本原理:Boosting算法的工作机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,使得这些误差率高的点在后面的弱学...
2019-07-29 20:46:36
129
转载 决策树算法要点梳理(摘选)
拜读了博客园的文章后将自己认为比较有用的决策树算法的知识点梳理一下作为备忘,贴上原始链接:https://www.cnblogs.com/pinard/p/6050306.html#4307680https://www.cnblogs.com/pinard/p/6053344.htmlscikit-learn中决策树使用的分类树算法是CART算法,使用基尼系数来代替信息增益比(基尼系数越小越...
2019-07-29 07:08:04
220
原创 模型评估方法metrics类、模型类常用属性
1)AUC:metrics.roc_auc_score(y_true, y_score, average=’macro’, sample_weight=None, max_fpr=None))y_true:测试集样本的真实类别标签;y_score:正样本的预测概率2)ACC(准确率):accuracy_score(y_true, y_pred, normalize=True, sample_w...
2019-07-28 18:08:34
1501
原创 决策树分类器sklearn.tree.DecisionTreeClassifier的使用
sklearn.tree.DecisionTreeClassifier(criterion=’gini’, splitter=’best’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_...
2019-07-28 12:34:48
2420
原创 用train_test_split进行训练集和测试集的随机切分
X_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(sample_data,sample_target,test_size=0.25, train_size=None,random_state=0,stratify=y_train)train_data:所要划分的样本特征集train_target:...
2019-07-28 10:52:58
2136
原创 preprocessing进行数据标准化处理
sklearn.preprocessing.scale(X, axis=0, with_mean=True, with_std=True, copy=True)with_mean:去均值的中心化(均值变为0)with_std:方差的规模化(方差变成1)
2019-07-27 22:07:39
899
原创 数据的拼接pd.concat
pd.concat(objs, axis=0, join=‘outer’, join_axes=None, ignore_index=False,keys=None, levels=None, names=None, verify_integrity=False)主要参数说明:objs:需要拼接的对象。axis:默认为0,按行拼接;如果设成1,则是按照列进行拼接。join:拼接的方式,默...
2019-07-27 21:36:02
1399
原创 pandas中get_dummies用法
pandas.get_dummies(data,prefix = None,prefix_sep =’’,dummy_na = False,columns = None,sparse = False,drop_first = False,dtype = None )参数含义:data : array-like,Series或DataFrameprefix :string,字符串列表或字符串d...
2019-07-27 18:30:55
1339
原创 dataframe字段的数据类型转换
pd.DataFrame.astype(self, dtype, copy=True, errors=‘raise’, **kwargs)参数说明:dtype:如果是某数据类型的字符串,则将df所有的字段转换成这一类型;如果是字典形式,{‘列名’:‘数据类型’},则将指定字段转换成特定的类型。copy:默认为True,当为真时,返回一个副本。error:默认为raise,即当有错误时将触发...
2019-07-27 18:28:56
12796
原创 pandas读取文件函数
read_csvread_excelread_table常用参数设置:path(路径)、sep/delimiter(分隔符)、header(默认为0,即以第一行作为列名。如果没有列名,可设置为None)、names(指定列名,可将header设成None)、index_col(用作行索引的列编号或列名。可以是单个名称/数字或有多个名称/数字组成的列表(层次化索引))...
2019-07-27 18:26:44
505
转载 python注释多行
代码选中的条件下,同时按住 Ctrl+/,被选中行被注释,再次按下Ctrl+/,注释被取消。来源:卡卡罗纳 - 博客园https://www.cnblogs.com/kakaln/p/8192996.html
2019-07-25 21:51:46
1368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人