自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (8)
  • 收藏
  • 关注

原创 集成学习-模型融合学习笔记(附Python代码)

 1 集成学习概述集成学习(Ensemble Learning)是一种能在各种的机器学习任务上提高准确率的强有力技术,其通过组合多个基分类器(base classifier)来完成学习任务。基分类器一般采用的是弱可学习(weakly learnable)分类器,通过集成学习,组合成一个强可学习(strongly learnable)分类器。所谓弱可学习,是指学习的正确率仅略优于随机猜测的多...

2018-09-04 12:57:03 19582 8

原创 hive统计页面停留时间

有如下字段用户uid、动作时间戳time、页面名称pn、动作名称action。思路:以用户维度按时间进行升序排列,通过lag函数找到上一个时间动作last_pn。之后统计停留时间就可以只看label =1的日志之间的时间差即可,全部代码如下,1、背景:通过业务埋点数据,统计用户在页面的停留时间。rn排序的作用是找到最后一个动作,然后进行剔除。然后将发生页面变化的节点进行标记,样例数据,样例数据存入表tmp,

2023-10-08 19:50:54 420

原创 mac版sublime安装SqlBeautifier

安装步骤步骤1:Tools -> Install Package Control 稍等片刻; 步骤2:Sublime Text -> Preferences ->Package Control -> install package-> 搜索SQL Beautifier 稍等片刻; 步骤3:重启Sublime;使用方式先按ctrl+K,再按ctrl+F,即可格式化SQL。但是由于网络问题,以上方案可能失败,下面是离线版本sublime插件安装方案https:/

2021-12-10 17:37:24 1941

原创 A left join B join C 和 A left join (B join C)有什么区别

数据表Aid city 1 a 2 b 3 c 4 d 表Bcity name a x1 b x2 c x3 表Cname amount x1 100 x2 200 WITH tmp1 AS (SELECT 1 AS id, 'a' AS cityUNION ALLSELECT 2 AS id, 'b' AS cityUNION ALLSE...

2021-03-24 19:45:01 6325

转载 PySpark将Vector拆分为列

一种可能的方法是转换为RDD和从RDD转换:from pyspark.ml.linalg import Vectorsdf = sc.parallelize([ ("assert", Vectors.dense([1, 2, 3])), ("require", Vectors.sparse(3, {1: 2}))]).toDF(["word", "vector"])def extract(row): return (row.word, ) + tuple(row.v.

2020-12-24 13:52:04 4345

原创 利用pyspark进行建模及调参

利用pyspark进行建模及调参过程如下,from sklearn import datasetsimport pandas as pd from pyspark.ml.evaluation import BinaryClassificationEvaluatorfrom pyspark.ml.tuning import ParamGridBuilder, CrossValidatorfrom pyspark.ml import Transformer,Pipelineimport pysp

2020-12-16 23:32:13 1263

原创 hive通过经纬度计算两地距离

start_point_lng 为起点 longitude (经度)start_point_lat 为起点 latitude(纬度)end_point_lng 为起点 longitude (经度) end_point_lat 为终点 latitude(纬度)6378137*2*ASIN(SQRT(POWER(SIN((ta.start_point_lat-ta.end_point_lat)*ACOS(-1)/360),2) +COS(ta.start_point_lat*ACOS(-1)/1..

2020-11-13 12:38:54 4984 1

原创 HIVE中使用union报错缺少all

使用HIVE进行union操作,select col1,col2 from table_name1unionselect col1,col2 from table_name2在运行时报错,错误信息为:ERRORError while compiling statement: FAILED: ParseException line 3:0 missing ALL at 'select' near ''提示少了ALL。通过查询官方union的用法说明知,Hi...

2020-09-23 11:05:08 1340

原创 hive抽取类数组型数据

数据样式,user apps X123 ["123,微信,abc","234,QQ,bcd"] 抽取apps字段中的“微信”和“QQ”,目标数据如下,user apps X123 QQ,微信 思路:按","将apps字段进行拆分成行,然后在按,进行分割后取第二部分,select user,concat_ws(',', collect_set(split(app, '\\,')[1])) AS applist --从0开始计数,第二部分标号为1fro

2020-09-15 10:45:07 3231

原创 hive实现行转列

示例,name label 张三 A 张三 B 张三 C hive逻辑,select name ,CONCAT_WS(',', SORT_ARRAY(COLLECT_SET(label))) as label_arrfrom table_name group by name 结果如下,name label_arr 张三 A,B,C

2020-08-26 16:11:41 2391

原创 hive累计求和

需求:part为地区,amount为消费金额,按amount降序排列并对amount累计求和。造一批数据,SELECT '1' AS part, 11 AS amountUNION ALLSELECT '2' AS part, 33 AS amountUNION ALLSELECT '3' AS part, 22 AS amountUNION ALLSELECT '4' AS part, 55 AS amountUNION ALLSELECT '5' AS part, 44 AS

2020-08-25 18:33:04 3189

原创 hive中解析json数组

字段类型如下,字段名 类型 id String orderinfo String 数据示例如下,id orderinfo 1 [{"Name":"王朝","orderDate":"2020-08-14"},{"Name":"马汉","orderDate":"2020-08-14"}] 2 [{"Name":"张龙","orderDate":"2020-08-14"},{"Name":"赵虎","orderDate":"2020-08-14"}]

2020-08-14 16:10:19 737

原创 excel中批量将unix时间转为北京时间

unix时间和北京时间的转换公式为:=(unix时间+8*3600)/86400+70*365+19

2020-08-12 10:46:57 813

原创 利用python通过站长之家查询ip地址归属地

import sysimport osimport requestsfrom bs4 import BeautifulSoupimport socketimport reimport pandas as pdimport random import time#匹配ip地址def matchip (ip): url = "http://ip.chinaz.com/" try: url = url+str(ip) except: p.

2020-07-28 13:01:07 1889

原创 network定制顶点颜色

import networkx as nximport matplotlib.pyplot as plt#添加顶点和边plt.figure(figsize=(10, 10))G_test = nx.Graph();G_test.add_node('A')G_test.add_node('B')G_test.add_node('C')G_test.add_node('D')G_test.add_edge('A','B',weight=1)G_test.add_edge('C','B',w.

2020-06-16 14:17:56 4222 1

原创 sparkDF与pandasDF相互转化并将sparkDF存入hive

import pandas as pdfrom pyspark.sql import SparkSessionspark= SparkSession\ .builder \ .appName("Dataframe") \ .getOrCreate()data=pd.DataFrame([[1,2],[3,4]],columns=['a','b'])data_values=data.values.tol.

2020-06-14 11:13:37 3110

原创 用户留存率问题计算详解

数据分析工作中经常会遇到计算用户留存的相关问题,例如我们现在遇到这样一个场景,某APP,它的新增用户的次日留存、7日留存、30日留存为60%、30%、15%,请模拟出来,每天如果日新增5万用户,那么30天后,它的日活数会达到多少?根据问题,我们已知次留,7留和月留,可以在excel里生成一个留存率预估模型。通过现有数据插入图表,然后点击图表,选择“添加元素”→“趋势线”→“指数”,针对...

2020-04-30 21:03:34 3756

原创 SQL中如何统计员工最大连续打卡天数

针对员工最大连续打卡天数等类似问题SQL求解,思路如下,示例数据如下,id date success 1 2020/4/2 1 1 2020/4/3 1 1 2020/4/4 1 1 2020/4/5 0 1 2020/4/6 1 1 2020/4/7 1 2 2020/4...

2020-04-13 16:52:12 3708 1

原创 利用python获取身份证号中年龄和性别信息

import datetimeclass GetInformation(object): def __init__(self,id): self.id = id self.birth_year = int(self.id[6:10]) self.birth_month = int(self.id[10:12]) ...

2019-05-29 15:57:50 19237

原创 Python随机数

这里只涉及random库。import random1、随机生成 0 到 1 之间的浮点数,random.random() 方法会返回 [0.0, 1.0) 之间的浮点数。random.random()0.73177820974426632、随机生成 a 与 b 之间的整数,使用 random.randint(a , b) 方法,你可以生成一个 a 与 b 之间的随机整数...

2019-04-16 15:10:25 2592

转载 PSI指标

公式: psi = sum((实际占比-预期占比)* ln(实际占比/预期占比))举个例子解释下,比如训练一个logistic回归模型,预测时候会有个类概率输出,p。在你的测试数据集上的输出设定为p1,将它从小到大排序后将数据集10等分(每组样本数一直,此为等宽分组),计算每等分组的最大最小预测的类概率值。现在你用这个模型去对新的样本进行预测,预测结果叫p2,利用刚才在测试数据集上得到的10等...

2019-02-02 15:49:17 8023

转载 Gini和AUC的关系(Gini=2AUC-1真的成立吗?)

在做信用评分卡研究时,除了用KS/AUC指标,还经常见到基尼系数(gini coefficient)。gini系数通常被用来判断收入分配公平程度。  图.洛伦茨曲线与基尼系数 Gini coefficient 是指绝对公平线(line of equality)和洛伦茨曲线(Lorenz Curve)围成的面积与绝对公平线以下面积的比例,即gini coefficient = A面积 ...

2019-01-25 14:47:45 2434

原创 利用python 计算百分位数实现数据分箱

对于百分位数,相信大家都比较熟悉,以下解释源引自百度百科。百分位数,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数。可表示为:一组n个观测值按数值大小排列。如,处于p%位置的值称第p百分位数。因为百分位数是采用等分的方式划分数据,因此也可用此方法进行等频分箱。import pandas as pdimport numpy a...

2019-01-25 12:25:44 9027

转载 关于模型检验的ROC值和KS值的异同_ROC曲线和KS值

问题:ROC曲线是累计坏占比曲线(图中蓝色曲线)下面的面积(>0.5),KS值是累计坏占比曲线-累计好占比曲线差值(图中红色曲线)的最大值。实际上他们都是一样的? 解答:ROC(Receiver Operating Characteristic Curve):接受者操作特征曲线。ROC曲线及AUC系数主要用来检验模型对客户进行正确排序的能力。ROC曲线描述了在一定累计好客...

2019-01-16 14:29:26 4695

原创 利用Python实现数据透视表和交叉表

1、透视表 pivot table pd.pivot_table(data,values=None,index=None,columns=None,aggfunc='mean',fill_value=None,margins=False,dropna=True,margins_name='ALL')其中,data:DataFrame对象values:要聚合的列或列的列表in...

2019-01-16 11:37:01 4229

原创 将excel批量转为csv文档

 import pandas as pdimport os #查找符合文件类型的文件def file_name(file_dir,source_type): L=[] for root, dirs, files in os.walk(file_dir): for file in files: if os.pa...

2019-01-02 21:01:07 1504

原创 利用python 获取当前文件夹下所有文件名

这里通过os下的两个函数实现,os.walk()和os.listdir()。import os def file_name(file_dir): for root, dirs, files in os.walk(file_dir): print(root) #当前目录路径 print(dirs) #当前路径下所有子目录 ...

2018-12-18 14:18:01 1030

原创 sklearn中的交叉验证

1 数据集的划分训练集、验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用。在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train set),验证集(validation set),测试集(test set)。那为什么要进行数据集划分呢?这是为了防止模型的过拟合,如果我们把所有数据都用来训练模型的话,...

2018-12-14 10:55:19 2544 1

原创 Hyperopt入门

当我们创建好模型后,还要调整各个模型的参数,才找到最好的匹配。即使模型还可以,如果它的参数设置不匹配,同样无法输出好的结果。 常用的调参方式有Grid search 和 Random search ,Grid search 是全空间扫描,所以比较慢,Random search 虽然快,但可能错失空间上的一些重要的点,精度不够。 而Hyperopt是一种通过贝叶斯优化来调整参数的工具,该方法较快的速...

2018-12-05 15:51:51 21755 8

原创 Hyperopt报错HyperoptEstimator.fit报错[Errno 22] Invalid argument的解决办法

在使用Hyperopt测试下面官方的例子时,报错[Errno 22] Invalid argumentfrom hpsklearn import HyperoptEstimator, any_classifier,any_preprocessingfrom sklearn.datasets import load_irisfrom hyperopt import tpeimport n...

2018-12-04 11:11:00 1181

原创 关于python 中出现 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)的解决办法

由于python默认是ascii编码当python尝试转换为其他编码的时候,要先把它转换为unicode编码,再转成目标编码但是,Unicode编码最大只有128那么长,因此超出了长度就会报这个错误。方法1:改变python文件的默认编码方式import sysdefaultencoding = 'utf-8'if sys.getdefaultencoding() != ...

2018-12-04 10:08:55 10307 1

原创 box-cox转换及变换参数lambda估算方法

我们进行数据转换的原因是:除了小样本可以考虑非参数,大部分的统计原理和参数检验都是基于正态分布推得。关于box-cox转换的基础内容请看:BoxCox-变换方法及其实现运用.pptx了解极大似然估计:极大似然估计思想的最简单解释通过上面的内容可以知道, boxcox1p变换中y+c的+c是为了确保(y+c)>0,因为在boxcox变换中要求y>0 python...

2018-12-03 14:45:34 18003 2

原创 偏度与峰度(附python代码)

1 矩对于随机变量X,X的K阶原点矩为X的K阶中心矩为期望实际上是随机变量X的1阶原点矩,方差实际上是随机变量X的2阶中心矩 变异系数(Coefficient of Variation):标准差与均值(期望)的比值称为变异系数,记为C.V 偏度Skewness(三阶) 峰度Kurtosis(四阶)2 偏度与峰度   3 利用matplotlib模拟偏度和峰度...

2018-12-03 11:06:22 30602 1

原创 Dataframe求众数的解决方法

Pandas在实际使用过程中,遇到如下问题。有如下一个Dataframe,打算对A的每一个类别求B的众数,但是不能使用Dataframe.groupby('A').mode(),报如下错误。>>import pandas as pd>>df = pd.DataFrame({'A':['a','a','a','a','b','b','b','b','b'],'B'...

2018-11-26 15:01:00 10159

原创 np.newaxis知识点整理

做kaggle比赛时,看到有方法中用到np.newaxis,现将知识点整理如下。>>import numpy as np>>type(np.newaxis)NoneType>>np.newaxis == NoneTrue可以发现np.newaxi等价于 None。1>>x = np.array([0, 1, 2])>...

2018-11-23 10:41:43 228

转载 Python数据可视化-seaborn

详细介绍可以看seaborn官方API和example galler。1  set_style( )  set( )set_style( )是用来设置主题的,Seaborn有五个预设好的主题: darkgrid , whitegrid , dark , white ,和 ticks  默认: darkgriimport matplotlib.pyplot as plt  impor...

2018-11-22 17:29:31 1433

转载 seaborn.heatmap操作手册

本文转自seaborn.heatmap官方操作手册:http://seaborn.pydata.org/generated/seaborn.heatmap.htmlheatmap很好,很强大!seaborn.heatmapseaborn0.9.0seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, r...

2018-11-22 16:33:19 5680 1

原创 回归评价指标:MSE、RMSE、MAE、R2、Adjusted R2

我们通常采用MSE、RMSE、MAE、R2来评价回归预测算法。1、均方误差:MSE(Mean Squared Error)其中,为测试集上真实值-预测值。2、均方根误差:RMSE(Root Mean Squard Error)可以看出,RMSE=sqrt(MSE)。3、平均绝对误差:MAE(Mean Absolute Error)以上各指标,根据不同业务,会有不...

2018-11-22 14:36:01 145656 23

原创 关于XGB.booster()报错TypeError: 'str' object is not callable的解决方法

 当使用XGB想得到特征重要性时报错,代码及报错如下,model = XGBRegressor( learning_rate = 0.1, n_estimators = 300, max_depth = 7, min_child_weight = 3, subsample = 0.8, colsample_bytree = 0.8, s...

2018-11-22 10:02:07 4205 1

原创 Selenium+Python爬取房天下二手房数据

注意!注意!注意!本文中大图较多,建议使用PC查看,手机端效果较差!在上篇“Selenuim+Python网络爬虫基础讲解”博文中讲了一些Selenium的基础知识,接下来就要开始实战了。其实使用Selenium爬取网页的思路很简单,首先梳理一下爬取流程。打开二手房珠海地区首页http://zh.esf.fang.com/,首先会出现一个屏蔽页,我们需要点击“我知道了”,才能继续点击其...

2018-11-16 12:07:49 3478 5

quakers关系网络数据源

包含quakers数据,networkx学习使用,练手的珍贵数据。

2020-06-16

2018Pycharm汉化包

本压缩包主要解决pycharm2018.2汉化后无法打开设置的问题,使用方法就是把解压出来的jar包直接放到lib文件夹下即可!

2019-01-17

Wine数据集

UCI标准数据集中的Wine数据集,可以用来数据分析或机器学习

2018-11-12

吴恩达机器学习训练手册

吴恩达机器学习训练手册,详细讲解了如何进行训练,和训练中需要注意的要点。

2018-10-26

混淆矩阵、ROC、AUC

利用Python随机生成测试数据,计算混淆矩阵,绘制ROC和AUC

2018-09-29

关于北京pm2.5数据

北京的美国大使馆记录了4年的北京pm2.5数据,包括8个特征

2018-09-20

Beijing PM2.5 Data Set

Beijing PM2.5 Data Set(UCI Machine Learning Repository数据集)常用于时序预测问题。

2018-09-20

python词云进阶——三国版

掌握了初步的词云制作流程。出于对三国历史的喜爱,因此想制作一个关于《三国演义》版的词云,以一个新的角度去看这段历史。但由于本人掌握的数据分析技术有限,直接处理原版的《三国演义》难度很大(因为原版中很多简称,例如“公”、只称名不称姓等),因此文本内容使用的是《白话三国》(电子赵括 著)的TXT版本。

2018-08-13

空空如也

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

TA关注的人

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