自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

清风徐来

Leo_Z

  • 博客(59)
  • 收藏
  • 关注

原创 一种可以识别局部单调的系数

传统的相关性测量方法通常假定X与Y之间的关系是线性的,即X和Y之间的相关性是对称的。然而,新方法的目标是测量Y作为X的函数的程度,因此ξ(X, Y)不一定等于ξ(Y, X)。为了计算ξ,我们首先需要对数据进行排序,使得X的值按从小到大的顺序排列。然后,我们需要计算Y值的秩。pearson和kendall等系数再识别单调的时候,更多是关注整体情况,很多时候,变量和因变量之间非简单的单调关系,局部单调ξ识别。需要注意的是这个系数本质上还是去识别单调,比pearson之类的提升也仅限于局部单调的识别。

2024-06-17 11:52:47 292

原创 python bisect 二分算法工具以及应用

bisect_left/right 方法找到应该插入元素的位置,对于和序列中元素不相同的值。python bisect 工具以及应用。主要用于在顺序固定的序列中查找以及插入。

2024-05-07 15:38:23 310 1

原创 关于loguru一次错误排查记录

在做个性化推荐接口性能测试时,当并发量达到一定量级的情况下,系统会崩溃。loguru 的 logger.add() 方法中,enqueue 参数是一个布尔值,用于指定是否异步地写入日志。当enqueue为True时,这种异步日志记录涉及到进程间通信(IPC),loguru 使用了队列(来自 multiprocessing 模块)来在主程序和日志记录线程之间传递日志消息。

2023-09-13 17:02:27 466 2

翻译 macro, micro and weighted 图解

多分类指标说明

2023-06-16 19:21:03 190

原创 一文解读pandas_udf

pandas_udf 详细介绍

2023-04-18 18:46:16 992

原创 Guass Rank(深度学习数值特征归一化方法)

2.尺度转化为[-1,1], 将该位置的排序除以最大排序,在扩大2倍,本文还增加了一个bound,避免数值为-1或者1从而导致erfinv为无穷。Gauss rank是在学习中见识到的,主要应用于深度学习模型中连续性数值特征归一化的一种方式,可以看出,对最终结果有一定增益。高斯排序变化是将一组连续特征转化为相对的排序特征,在应用中最大的问题就是如果在测试集中出现训练集中没有的数字该怎么处理?而这一问题的解决方案是插值,通过插值的方法拟合相对的数值,从而达到一定的效果。3.调整极值,主要使用的工具是。

2022-10-17 13:30:12 1170

原创 数据内存压缩

主要的思想是改变int和float字段的占位,使用尽量小的占位存储字段。

2022-09-11 11:39:45 199

原创 无监督距离评估

CH指标通过计算类中各点与类中心的距离平方和来度量类内的紧密度,通过计算各类中心点与数据集中心点距离平方和来度量数据集的分离度,CH指标由分离度与紧密度的比值得到。从而,CH越大代表着类自身越紧密,类与类之间越分散,即更优的聚类结果。故名思义,这个方法是衡量不同类和同一类的距离,越大表示同一类越紧密,不同类间距离越大,聚类效果越好。卡方检验的前置表,计算标签和特征的统计量,可以看到不同特征值聚类后的分布情况,人工评估。与前两个一致,也是一个分离度/聚集度评价指标,与之前不一样的是这个指标越小越好。

2022-08-25 15:01:33 529

翻译 Convex Clustering(凸聚类)

通过最小化convex funtion实现,也就是convex名字的由来。简而言之:convex clustering是把每一个观察点划分到一个簇中心中。第一项,衡量观察点和聚类中心的距离,第二项考虑的是距离中心之间的距离。划分到k个簇中,每个簇中的相似度,要比簇间相似度高。是聚类中心cluster centroid,是pair-specific weighs。为0,所以点各自为一类;正无穷则所有点都是一类。是观察点,q是常数项,...

2022-08-12 11:13:49 731

原创 Target Encoding-类别特征编码

类别特征编码为什么要做类别特征编码类别编码的原因主要是计算机处理不了非数值形式的特征,常见的类别特征编码主要有两种,LabelEncoder和OneHotEncoderLabelEncoder因为是按照一定顺序进行的数字编码:一方面,顺序的数字增加其实对结果拟合而言是缺乏目的性和逻辑性的,另一方面对线性模型而言,还会引入一些本不该存在的偏置(例如某两个类别本来是没有区别的,但是LabelEncoder却有可能会把两个类别编码为0和2);OneHotEncoder可以避免偏置,但是OneHot

2022-08-05 15:36:29 1422

原创 LightFM推荐系统框架学习笔记(二)

一款强大的推荐系统框架,可以处理用户/产品冷启动这一篇主要对基础接口进行一些总结LightFMlightfm.LightFM(no_components=10, k=5, n=10, learning_schedule=‘adagrad’, loss=‘logistic’, learning_rate=0.05, rho=0.95, epsilon=1e-06, item_alpha=0.0, user_alpha=0.0, max_sampled=10, random_state=None)参数:

2022-07-28 11:18:39 717

原创 Spark学习笔记:Spark Streaming流计算引擎

spark 流计算

2022-07-08 10:57:47 410

转载 推荐系统的特征工程

推荐系统中的刀工

2022-06-22 10:50:10 2902

原创 jupyter lab 相关

jupyter相关

2022-06-14 12:54:20 338

原创 FTP安装以及使用以及Filezilla连接

FTP

2022-06-13 16:02:08 371

原创 LightFM推荐系统框架学习笔记

github特点:集成了BPR & WARP ranking losses多线程incorporate both item and user metadata,可以解决用户/产品冷启动

2022-05-26 10:03:47 1405

原创 python logging模块:给程序加个记录

最近需要给自己程序添加一些记录以助于排查bug,所以用到了logging,就此做些记录。logging是python内置的日志模块。1 基本认知1.1 level由严重程序排序依次为CRITICAL>ERROR>WARNING>INFO>DEBUG。下面是介绍【来自于ref3】1.2 logging四大组件logger:暴露接口 (expose the interface that application code directly uses)Handler:安排

2022-04-02 12:27:44 883

原创 python读取图片并且转码成base64

import base64with open("grayimage.png", "rb") as img_file:#对于图片而言read读取的结果是bytes b64_string = base64.b64encode(img_file.read()) return b64_string.decode("utf-8")# decode is used for removing b’ from the prefix of base64 code当然也可以使用opencv读取

2022-03-28 18:35:22 4648

原创 NVIDIA NeMo学习笔记

NeMo可以做以下三个方面的事情:Automatic Speech Recognition (ASR):声纹识别Natural Language Processing (NLP):自然语言处理Text-to-Speech (TTS) models:文本转音频简单来说,里面集成了一些用于以上三个事情的模型和工具,可以拿自己的数据进行迁移使用,就和目标检测里面detectron类似。...

2022-03-21 17:26:28 2676

原创 mongodb入门笔记

下载: docker pull mongo:latest运行:docker run –-name mongodb -p 27017:27017 -v /data/mongo:/data/db -d mongo –auth–name:设置容器名称-p 端口映射,使外部通过主机ip:27017访问mongodb服务-v 容器挂载目录,本机的/data/mongo挂载到/data/db中,作为mongodb存储目录-d 设置容器以守护进程方式运行,docker在后台运行,不会直接把执行命令的结

2022-03-10 15:27:09 2340

原创 optuna调参神器学习笔记(二)

手动添加先验参数optuna提供自动参数搜索,但有时候有一些特定的超参数集要先尝试, 比如初始学习率和叶子数量. 另外, 也有可能在让 Optuna 找到更好的超参数集之前,你已经尝试过一些集合.Optuna 提供 两个API 以应对这种场景:将这些超参数集合传递过去并让 Optuna 对其求值 enqueue_trial()将这些集合的结果标记为已完成的 Trials add_trial()第一个场景: 让 Optuna 对你的超参数求值有一些备选值使用Optuna 有一个 API opt

2022-03-04 12:07:14 1759

原创 调参神器optuna学习笔记

介绍optuna作为调参工具适合绝大多数的机器学习框架,sklearn,xgb,lgb,pytorch等。主要的调参原理如下:1 采样算法利用 suggested 参数值和评估的目标值的记录,采样器基本上不断缩小搜索空间,直到找到一个最佳的搜索空间,其产生的参数会带来 更好的目标函数值。optuna.samplers.TPESampler 实现的 Tree-structured Parzen Estimator 算法optuna.samplers.CmaEsSampler 实现的 CMA-

2022-03-04 11:18:04 7249 4

原创 Spark Low-Level API RDD学习笔记

1 什么是RDDs英文全称Resilient Distributed Datasets,翻译弹性分布式数据集Spark The Definitive Guide中是这么描述的:RDD represents an immutable, partitioned collection of records that can be operated on in parallel,个人的理解,rdd就是一类分布式对象集合,其中每个records就是一个对象,我们可以对这些对象进行分布式的运算。RDDs类型对于

2022-02-22 20:10:43 845

原创 Spark Low level API RDD学习笔记:key_value RDD

常规操作# 创建myCollection = "Spark The Definitive Guide : Big Data Processing Made Simple"\.split(" ")words = spark.sparkContext.parallelize(myCollection, 2)keyword = words.keyBy(lambda word:word.lower()[0])keyword.mapValues(lambda word: word.upper()).co

2022-02-17 16:13:54 697

原创 Spark low API RDD 学习笔记:Distributed Shared Variables

主要包含两种类型:Broadcast variablesaccumulators1.Broadcast Variables广播变量,把变量缓存到集群的各个节点,以便高效的使用.# create rddmyCollection = "Spark The Definative Guide:Make Big Data Proccesing Simple".split(" ")words = spark.sparkContext.parallelize(myCollection, 2)# c

2022-02-16 17:07:58 913

原创 Pandas 错误记录

1.错误发生在从hdfs下载csv文件到本地,利用pandas读取报错出现此错误的原因是因为输入文件的路径是文件夹路径,而不是文件本身。查看本地文件,果然data_rh.csv是个假数据文件打开里面有很多小文件。主要是利用spark df.write.format(“csv”).save("/tmp/myFile.csv") 保存的是一个myFile.csv的文件夹,有两个问题:hadoop fs -get 命令得到是一堆文件。文件都是以snappy格式压缩的第一个问题,可以使用coal

2022-02-15 14:18:46 940

原创 spark rollup和cube的区别

这两个函数在spark中是用来代替spark sql 的GROUPING SETS函数的。主要的作用都是对多列做groupBy。既然spark中已经有了groupBy函数,这两个函数又是用来干啥的?他们之间有什么区别?Spark The Defination Guide书中解释是这样的:cube函数:Rather than treating elements hierarchically, a cubedoes the same thing across all dimensionsro

2022-01-13 12:15:35 1446

翻译 创建带类型的空DataFrame

pandas创建空dataframe,如果没有指定列类型则默认为object类型pandas.DataFrame([],columns=['a','b','c']).info()'''输出如下:<class 'pandas.core.frame.DataFrame'>Index: 0 entriesData columns (total 3 columns): # Column Non-Null Count Dtype --- ------ -------------

2021-05-07 15:46:13 820

原创 impala & hive随机抽样方法

记录随机抽样方法:hive:select *col* from *table* where *condition* distribute by rand() sort by rand() limit *number*impala:select *col* from *table* where *condition* order by rand() limit *number*;-- 建立随机id然后按id排序select col,uuid() from table where co

2021-04-14 15:55:05 2058

原创 xgboost和随机森林特征重要性计算方法

随机森林中特征重要性和xgboost不同:随机森林中的特征重要性主要是基于不纯度(也可以叫做Gini importance):对于分类问题的话,就是gini不纯度对于回归问题的话,MSE(Mean Square error)或者MAE(Mean absolute error)sklearn中的解释sklearn源码...

2021-02-19 19:00:14 3395

原创 逻辑回归预测鸢尾花

## 基于鸢尾花lr分类import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.datasets import load_irisiris = load_iris()iris_target = iris.targetiris_data = pd.DataFrame(iris.data,columns=iris.feature_names)i

2021-02-15 00:24:46 771

原创 Jupyterlab 执行时间插件

Jupyterlab 作为退出的notebook进阶版,提供了诸多强大插件。暂时记录下其中可以记录代码执行时间的插件。step1.安装插件前,需要先安装npm和nodejs两个库:pip install npmconda install -c conda-forge nodejsstep2安装完以上两个以后,在jupyterlab界面setting的高级设置(Advanced setting editor)下修改扩展管理step3设置完成后,会显示插件标志,搜索excute time

2021-01-19 09:56:28 5061 5

原创 Pyspark DataFrame操作笔记

spark data frame 基操

2020-10-27 18:28:03 5719

原创 pandas transform:一行代码实现分组计算添加新列

在进行数据分析时,时常需要分组计算,使用groupby+apply组合计算。但是当想原地插入新列时,使用groupby + apply 会发生列不匹配的错误。dat = data[['glass_id','equip_id','unit_id','factory','step_id','label']]dat = dat.drop_duplicates().reset_index()dat['step'] = dat['factory']+'_'+dat['step_id'] dat = dat.

2020-07-29 18:59:59 3983 1

原创 二叉堆和堆排序的python实现

一 二叉堆的实现二叉堆本质上是一种完全二叉数:最大堆:根节点为最大节点,任意的父节点都不小于其所有子节点最小堆:根节点为最小节点,任意的父节点都不大于其所有子节点二叉堆创建:根据原数组,然后从最后一个非叶子节点开始,依次下沉,得到最后序列二叉堆操作:插入节点,位置为最后,然后根据情况上浮调整;删除一般为堆顶的节点,然后最后节点临时补到堆顶位置,然后下沉调整图比较麻烦就不画了,可以参考这篇文章:https://blog.csdn.net/xiao__jia__jia/article

2020-05-12 15:54:05 533

原创 python自动发邮件(嵌入图片,带附件,html内容)-注释详细

# -*- coding: utf-8 -*-"""Created on Thu Apr 2 09:40:33 2020@author: 10102852"""import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.mim...

2020-04-20 11:13:11 2616 2

原创 SQL_中Job相关操作

1.查询 当前库中运行的 job无脑查SELECT t.* FROM dba_jobs t 常用筛选SELECT t.JOB,t.BROKEN,t.INTERVAL,t.what,T.LAST_DATE,T.THIS_DATE,T.NEXT_DATE FROM dba_jobs t WHERE t.LOG_USER='SPOTFIRE'ORDER BY T.JOB DESC2...

2020-04-16 14:35:22 819

转载 python中的赋值,copy(浅复制)与deepcopy(深复制)——图解

对python中的赋值,copy(浅复制)与deepcopy(深复制)的图解,整理后保存。本文介绍了对象的赋值和拷贝,以及它们之间的差异:Python中对象的赋值都是进行对象引用(内存地址)传递使用copy.copy(),可以进行对象的浅拷贝,它复制了对象,但对于对象中的元素,依然使用原始的引用.如果需要复制一个容器对象,以及它里面的所有元素(包含元素的子元素),可以使用copy.dee...

2020-02-22 13:25:28 349

原创 windows10下安装pyspark

安装方法主要参考了一下博文:https://blog.csdn.net/HJXINKKL/article/details/57083549https://blog.csdn.net/HJXINKKL/article/details/81951551安装源:java:https://repo.huaweicloud.com/java/jdk/...

2020-02-18 23:18:04 579

原创 wordcloud库及词云

wordcloud库将词云看做WordCloud()对象,-wordcloud.WordCloud()代表一个文本对应的词云,可以根据文本中词语出现的频率等参数绘制词云。其中,词云形状字体颜色均可以设定。#生成一个词云对象w = wordcloud.WordCloud()方法方法描述w.generate(txt)向WordCloud对象w中添加文本txtw.t...

2020-02-10 01:52:35 581

空空如也

空空如也

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

TA关注的人

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