- 博客(368)
- 资源 (15)
- 收藏
- 关注
原创 解决matplotlib中文乱码最简单方案
plt.rcParams['font.sans-serif'] = ['SimHei'] # 散点图标签可以显示中文。1、从电脑中搜索simhei字体,如下示意图是mac检索结果,或者直接搜索simhei.ttf下载字体。plt.annotate('this is 注解', (0.1, 0.1))plt.text(0.5, 0.5, 'this is 文本')plt.xlabel("this is x轴")plt.ylabel("this is y轴")plt.legend() # 显示图例。
2024-09-05 17:33:09 552
原创 深度学习模型预测值集中在某一个值
深度学习模型,训练过程中,经常遇到预测的结果集中在某个值,而且在学习的过程中会变,样例如下。3、输入的数据没有标准化,考虑对输入的特征进行分bin or标准化处理。2、更改随机种子,估计是没有初始化好,或者调整学习率试试。5、使用其他模型的参数,进行权重初始化。
2025-01-02 16:13:58 193
原创 MacOS wine中文乱码问题
8、运行:wine drive_c/Program\ Files/MetaTrader\ 5/terminal64.exe。下载 MicrosoftYaHeiMono.tgz ,解压后拷贝到drive_c/windows/Fonts/6、点击图标进入命令行,执行 wine XXX.exe 安装或者是运行。创建:touch MicrosoftYaHeiMono.reg。1、brew update 执行失败,提示安装如下。11、Mac的系统设置也要改成中文。5、wine 安装完成会有图标。
2024-09-10 07:28:13 1201
原创 matplotlib中文乱码最简单的解决方案
plt.rcParams['font.sans-serif'] = ['SimHei'] # 散点图标签可以显示中文。1、从电脑中搜索simhei字体,如下示意图是mac检索结果,或者直接搜索simhei.ttf下载字体。plt.annotate('this is 注解', (0.1, 0.1))plt.text(0.5, 0.5, 'this is 文本')plt.xlabel("this is x轴")plt.ylabel("this is y轴")plt.legend() # 显示图例。
2024-09-05 17:30:55 270
原创 pandas.concat注意事项
1、可以考虑df.reset_index(drop=True,inplace=True)否则可能报错,只是说数据大小超出内存限制,但是shape没问题,数据记录数多了很多。由于df1和df2有各自的索引,假设都是从0~N。此时df的索引就会有重复,如果不使用索引还好。如果在后面不小心使用索引,此时需要重置索引。
2024-03-20 14:29:18 320 1
原创 python 普通for循环和增强for循环性能差异
第一版使用增强for,第二版使用普通for,增强for性能是普通for循环的6倍。一个简单的小技巧快速优化运行时间。
2024-01-03 19:43:12 451
原创 博客摘录「 LightGBMError:Do not support special JSON characters in feature name」2023年9月28日
其实其中是带有_或者()等特殊字符,于是会存在这个报错。
2024-01-03 16:55:28 546
原创 由pandas.loc引发的未知错误AttributeError: ‘str‘ object has no attribute ‘isna‘
由于data.loc[value]和 data[data.key==value] 这两者之间有一定的差异,第一种方式返回的可能是series,第二种方式返回的是dataframe,所以在做复杂条件筛选的的时候,可能会爆str相关的错误。这个是针对dataframe写的,但是作为series就不适用了。
2023-12-11 13:54:43 730
原创 用户APP安装tfidf&woe特征之间的差异&联系
tfidf=(bad/ttl_bad)/log(good/ttl_good) -- 限制安装该APP。woe =log(bad/ttl_bad)/(good/ttl_good)--不限制用户的APP安装。所以 tfidf跟woe的形式很像,一个是对数的位置,一个是筛选条件,但是表达的含义很相近。idf=1/log(good/ttl_good) --限制APP安装。tf=bad/ttl_bad -- 限制APP安装。
2023-10-13 17:10:07 117
原创 通过二分查找所处区间binary_find_index
param biz_type_thresholds: 阈值降序排序。阈值降序排序,通过二分法查找prob所在的合适位置。
2023-08-28 14:40:37 125
原创 读取pkl文件报错_pickle.UnpicklingError: A load persistent id instruction was encountered
报错的原因可能有好几种,我这里是因为文件格式不是pickle格式,而是parquet格式的。改成pd.read_parquet()即可。
2023-06-25 11:27:24 685
原创 toad.quality报错Input contains NaN, infinity or a value too large for dtype(‘float64‘).
toad计算IV特征为空是不会报错的,要报错的话,应该是label列出现空值问题,解决label列为空的问题即可。
2023-03-24 16:46:36 320
原创 unknown feature type, use i for indicator and q for quantity
这个是在获取feature importance的时候报错,通过排查发现是因为特征名称包含空格,将空格替换掉即可解决。
2023-03-01 12:57:39 206
原创 ModuleNotFoundError: No module named ‘aiohttp‘
发现还是版本的兼容性问题,通过指定版本进行安装。在安装openai的时候,会报错。
2023-02-27 23:15:44 439
原创 chatgpt如何解决模型训练过程中一些未知错误:以xgboot devices_.IsEmpty为例
用chatGPT提高生产力具体背景如下:在训练模型过程中,为了避免资源抢占,我指定了其他的gpu来提高模型训练效率,但是发现训练的时候模型正常,但是在模型预测的时候一直报错,尝试gpu=1,2,3都报错。
2023-02-24 16:53:11 3380
原创 xgboost early_stop_rounds是如何生效的?
如果只有一个数据集,直接以该数据集进行评估,在达到指定的训练轮次之前,如果评估指标在该数据集上已经early_stopping_rounds没有提升,则停止训练,返回最后一轮迭代的模型,(并不是最好的一个),如果发生early_stop,会有额外三个参数: bst.best_score, bst.best_iteration and bst.best_ntree_limit,进行参考。如果是多个数据集,则以最后一个数据集的评估指标作为参考来评估是否要使用early_stop。
2022-11-30 18:35:54 2187
原创 python float和Java float引发的问题
离线特征是python加工出来的,在python中默认也是float类型,java中xgboost相关的api也都是float类型,为啥进行特征比对的时候结果就不一致呢?所以在进行特征&模型结果比对的时候,最好按照这种结论中的形式进行数据精度对齐,保持结果一致。所以float是8个字节是真正的数字,但是float对象是24字节的。1、python中的float是和Java中的double是精度一样的。2、numpy中的float32是和Java中的float是等价的。此外,布尔值是整数的一个子类型。
2022-11-17 18:21:39 765
原创 计算通过率逾期率并绘制通过率逾期率曲线
在信贷领域AUC&KS指标能提现模型的学习效果,但是在评估模型的相对好坏,以及制定使用方案的时候还是需要通过率&逾期率曲线进行评估模型的。横坐标为累计通过率,纵坐标为累计逾期率,此时比较相同的通过率情况下,逾期率越高,曲线位置就越靠近上方。1、可以理解曲线下的面积越小越好,跟AUC曲线是相反的逻辑。2、要看细节部分,在某个局部区间通过率下是否局部更好,是否可以交叉使用3、是否整个曲线都是缠绕的,如果是的话,考虑选择AUC评估指标吧。
2022-11-04 12:48:13 715
原创 RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd
Mac M1 12.3系统安装TensorFlow各种报错,现在的Miniforge3-MacOSX-arm64.sh 默认3.9.X。同时通过指引安装的tf和python3.8不兼容。只能用python 3.9.X进行安装了。默认安装的numpy==1.23.2。和当前的TensorFlow版本不兼容。重新安装1.22.0版本的numpy。
2022-08-21 17:48:19 1438
原创 tf-vsn网络
print('构建embedding', feature_name,len(feature_value)+1,encoding_size)self.model = tf.keras.models.Sequential([ # 使用models.Sequential()来搭建神经网络。x = tf.stack(x, axis=1) # 横向维度扩展。# 画出模型,需要GraphViz包。# 在最后增加一维数据。...
2022-08-17 16:22:26 424
原创 多模态&多目标学习-vsn+transformer
print('构建embedding', feature_name, len(feature_value) + 1, encoding_size)# sigmoid 对应 cross_entropy, softmax sparse_categorical_focal_loss。# @tf.function # 使用autograph机制转换成静态图加速。"""Transformer的Encoder部分""""""Transformer输入的编码层""""""多头Attention"""...
2022-08-15 23:40:47 943
原创 Error: Received a label value of 1 which is outside the valid range of [0, 1)-Python,Keras
由于keras在做二分类损失的时候,激活函数选择的是sigmod,所以此处不能超过1。# 由于此处为二分类问题,此处选择sigmoid作为激活函数。当选择的损失函数对应的取值超出范围的时候就会报错。# 为多分类,此处选择softmax作为激活函数。...
2022-08-03 15:42:22 1170
原创 lightgbm使用multiclass训练二分类模型
由于lgbm.predict_proba输出的结果维度和样本的数据集不一致,导致dataframe进行列赋值的时候报错,下面可以通过修改num_class来验证。如果想要用多分类,来训练二分类目标变量,可以通过如下方法获取概率值。...
2022-07-29 16:54:11 931
原创 机器学习面试题总结
gbdt通过每一轮迭代,降低输出概率值(或者回归连续值)和真实值之间产生的loss,即通过loss降低的梯度方向进行梯度下降,从而降低loss。针对回归只是一个特殊情况即拟合梯度下降的方向正好是残差。拟合残差并不是通用的说法,拟合loss,找到梯度下降的方向,降低loss才是本质。.........
2022-07-26 10:44:15 299
原创 为什么选择弱分类器进行
做模型的目的是为了得到一个强学习器,使得该学习器的性能满足实际需求。但是实际工作中强学习器并不是很容易就能得到,反而是弱学习器很容易得到,于是人们想,是不是可以利用很多弱学习器来得到一个强学习器呢?于是有了基于弱学习器的集成学习。也就是说并不是集成学习要求弱分类器,而是我们只有弱分类器而不得不去做集成学习。 弱分类器,更容易学习到局部的特征,从而达到预测结果的多样性,然后在进行投票。强分类学习能力很强就没必要这么做了。如何产生多样性呢?随机特征+样本随机采样,学习参数差异,,这本身也会导致模型变弱。...
2022-07-13 22:52:11 626
原创 BM13 判断一个链表是否为回文结构
思路:通过找到链表的中点,然后从中点开始进行逆序。同时记录中点的位置,和链表开始的位置同时遍历,如果不一致则返回False具体步骤:1、遍历链表一次,记录链表的长度2、遍历第二次,找到链表的中点,同时记录链表的中间位置要记住前一个节点3、对链表后半部分进行翻转,这个是有套路的。4、从链表的开始位置以及链表的中间位置,同时进行遍历,如果碰到不相同的数值,则返回False链表翻转:场景1、整个链表翻转场景2、链表的后半部分翻转场景3、链表局部位置进行翻转方式很相似:步骤0、记录结果链表的新节点:用一个新的节点p
2022-07-13 11:25:37 133
原创 逆地理编码-离线版-part1
通常为了获取高精度的数据,可以采用百度or高德的逆地理编码接口,但是个人请求量受限,企业版限额会高一些。本文提供一种离线方案,实现经纬转地址信息的方案,精度为乡镇街道粒度,响应速度单核4ms/每条,能满足一般的逆地理编码需求。本文分模块提供如下代码。程序主入口为 getGeoInfo,具体参考如下代码。........................
2022-07-01 12:30:07 2206 1
原创 git拉取远程分支到本地
使用如下git命令查看所有远程分支:git branch -r方法一使用如下命令:git checkout -b 本地分支名x origin/远程分支名x使用该方式会在本地新建分支x,并自动切换到该本地分支x。方式二使用如下命令:git fetch origin 远程分支名x:本地分支名x使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。git branch --set-upstream-to origin/远程分支名 本地分支名参见博文Git
2022-06-28 19:41:26 14756
原创 python多线程并发访问&数据库连接池原理以及代码
在工作中难免会使用数据库,为了能够高效并发访问数据库,数据库连接池必不可少,由于本站copy模式盛行,导致数据库连接池被错误使用,遇到错误甚至追求能跑通就行。本文就数据库链接池的实际使用场景来说明如何应用数据库连接池。在部署机器学习模型时采用的是flask框架,模型预测本身是一个很快的事情,无奈有太多的特征需要通过接口(或者是ots,mysql等)获取,导致响应时效性降低。为了能很好的实现并发性,提升QPS,采用gunicorn进行多进程,异步处理方案。此时单个进程只有一个数据库链接,就会导致异步执行的线程
2022-06-28 14:41:51 5518 10
原创 ABTest效果检验&样本量计算
一、 ABTest显著性检验:1、针对比例型abtest,比如转化率 https://abtestguide.com/calc/2、针对数值型abtest,比如保费均值,参见本文下文 二、 ABTest size1、针对比例型 1)https://abtestguide.com/abtestsize/ 2)https://www.evanmiller.org/ab-testing/sample-size.html 2、数值类计算:需要填写方差1) h...
2022-03-22 19:55:34 4351
原创 少量数据集的情况通过scipy优化来拟合函数
import numpy as npimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fitdef func(x, a, b, c, d): return 1/(1+np.exp(-x*a+b)) # + c*x + dxdata = np.linspace(0, 4, 50)y = func(xdata, 2.5, 1.3, 0.5,0.2)rng = np.randomy_noise = 0....
2022-02-10 14:07:46 421
原创 结合业务场景做好特征工程
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。今天就简单聊聊工作中遇到的一些特征工程中的问题,如果大家有更好的方法论,欢迎留言。1、梳理业务流程这个过程主要是为了了解数据产生的主要环节,每个环节产生的数据有哪些,有哪些数据是有明显的因果关系,提前剔除,避免数据泄露。最好由业务方提供更多的业务场景特征,以及尽可能的将特征入库,如果没有的话先提需求积累数据。2、明确业务目标业务目标为了明确建模的目标变量,目标变量决定了如果加工数据特征。3、确定特征范围经过以上
2022-01-18 00:08:19 603
useragent解析逻辑&手机品牌匹配.txt
2021-11-22
shakespeare.json&logs;.jsonl.gz&accounts;.zip
2018-01-10
kafka-manager 1.3.3.15
2018-01-08
百度网盘 数据仓库工具箱 维度建模权威指南 第3版 全
2017-10-16
数据仓库工具箱 维度建模权威指南 第3版
2017-10-16
IDEA 创建scala工程并打指定的依赖包
2017-08-11
hbase自定义Comparator进行数值比较
2016-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人