机器学习
文章平均质量分 71
ml
sdbhewfoqi
这个作者很懒,什么都没留下…
展开
-
【机器学习】分值融合方法
为了合理地融合图片和文本的预测分数,可以考虑归一化两者的分数,然后使用加权平均、直接相加或相乘的方法进行融合。如果需要更高的预测精度,可以使用集成学习或神经网络等更复杂的模型进行融合。在实际应用中,需要根据数据的具体情况和模型的性能来选择最合适的方法。原创 2024-05-29 11:49:28 · 615 阅读 · 1 评论 -
【机器学习】XGB/LGBM
XGBoost的decision tree用的是pre-sorted based的算法,也就是在tree building之前对各维特征先排序,代表性的算法是SLIQ和SPRINT。SLIQ和SPRINT算法的特点决定了树生长的方式是level-wise(breadth-first)的。而LightGBM的decision tree是histogram based的算法,也就是先将特征离散化,代表性的算法是CLOUDS,Mcrank和Machado。即采用leaf-wise的方式。原创 2023-11-05 23:46:21 · 447 阅读 · 0 评论 -
【Interview】拟牛顿求一个数的平方根
初始化选A点,求切线,与x轴交点 A′ ,改点横坐标 对应B点,再求切线,与x轴交点 B′ ,之后一直进行,会迭代到曲线与x轴的交点。,逐渐迭代收敛到一个数的平方根。我们要求m的平方根,构造函数。牛顿迭代法的思路是通过。原创 2023-10-17 11:50:51 · 212 阅读 · 0 评论 -
【机器学习】XGB如果类别不平衡怎么解决?和深度学习解决办法一样吗?
xgboost-样本类别不平衡 - 知乎分类问题中类别不平衡问题的有效解决方法_多分类问题时 scale_pos_weight-CSDN博客解决样本不平衡问题的奇技淫巧 汇总_数据小样本 同时每天数据都在变_songhk0209的博客-CSDN博客原创 2023-09-15 16:56:10 · 249 阅读 · 0 评论 -
【Python】矩阵乘法3种实现方案
两个张量对应的元素相乘(element-wise),在PyTorch中可以通过 torch.mul 函数(或者∗ *∗运算符)实现。3、一般来说,@ 比.dot()方法要慢一点点。dot是numpy里的函数,主要用于求向量相乘,矩阵乘法,矩阵与向量乘法。两个张量矩阵相乘(Matrix product),在PyTorch中可以通过 torch.matmul 函数实现。点积 对于元素相乘并相加,也就是说会降维。2、用这个 @ 运算符可以不用再使用。的意思,也是dot()的意思。1、@ 符在numpy里就是。原创 2023-07-06 22:02:05 · 1672 阅读 · 0 评论 -
【Faiss】余弦相似分数等于L2归一化再内积
Faiss提供了faiss.METRIC_INNER_PRODUCT 和faiss.METRIC_L2。IndexIVFFlat在参数选择时,使用faiss.METRIC_INNER_PRODUCT。normalize_L2 并 向量的内积 -》 余弦相似性。如果从式子上看 就是分母通分,两个式子是相同的。只需要我们代码加上normalize_L2。说明关于余弦相似性的计算。原创 2023-07-06 21:42:16 · 1527 阅读 · 0 评论 -
【深度学习】classification_report
classification_report() 是python在机器学习中常用的输出模型评估报告的方法。主要参数:y_true:1维数组,或标签指示器数组/稀疏矩阵,目标值。y_pred:1维数组,或标签指示器数组/稀疏矩阵,分类器返回的估计值。labels:array,shape = [n_labels],报表中包含的标签索引的可选列表。target_names:字符串列表,与标签匹配的可选显示名称(相同顺序)。原创 2023-04-10 16:44:05 · 3843 阅读 · 0 评论 -
【机器学习】验证集loss震荡(loss的其他问题)
训练过程中发现,train loss一直下降,train acc一直上升;但是val loss、val acc却一直震荡。loss一会上一会下,但是总体趋势是向下的。“loss震荡但验证集准确率总体下降” 如何解决?原创 2023-03-05 22:59:39 · 7519 阅读 · 2 评论 -
【机器学习】XGB实战—O2O优惠券使用预测
比赛地址:https://tianchi.aliyun.com/competition/entrance/231593/introduction。论坛:https://tianchi.aliyun.com/competition/entrance/231593/forum。数据字段需特别说明的,received_data 点击数据;used_data 消费数据;原创 2022-12-28 16:37:09 · 596 阅读 · 0 评论 -
【机器学习】特征独立性检验-特征太多删特征-删who呢
MvTest独立性分析方法——检验数值型特征与label是否有关系,删除与label无关(独立)的特征;corr协方差函数 相关性分析——找到数值型特征与数值型特征之间相关性高的数值型特征,然后删除(相关性高的数值型特征仅保留1个);卡方检验——检验类别型特征与label是否有关系,删除与label无关的特征(删除卡方值大的类别型特征);原创 2022-12-16 17:30:48 · 1439 阅读 · 0 评论 -
【机器学习】树模型类别特征处理
XgBoost和Random Forest类别特征必须先编码成数值特征;LightGbm和CatBoost,可以直接处理类别特征。原创 2022-12-15 16:56:26 · 284 阅读 · 0 评论 -
【机器学习】onehot编码的各种实现
对于定类类型的数据,建议使用one-hot encoding。定类类型就是纯分类,不排序,没有逻辑关系。比如性别分男和女,男女不存在任何逻辑关系,我们不能说男就比女好,或者相反。再者,中国各省市分类也可以用独热编码,同样各省不存在逻辑关系,这时候使用one-hot encoding会合适些。但注意,一般会舍去一个变量,比如男的对立面肯定是女,那么女就是重复信息,所以保留其中一个变量即可。对于定序类型的数据,建议使用label encoding。定序类型也是分类,但有排序逻辑关系,等级上高于定类。比如,学历原创 2022-12-14 19:34:38 · 2621 阅读 · 0 评论 -
【机器学习】OneHotEncoder编码固定长度
遇见拟合阶段没有看到的数据,在编码时会报错。如果知道有几种类型,就可以在编码时指定长度。由89个特征,编码成1780个特征。原创 2022-12-11 23:22:32 · 749 阅读 · 0 评论 -
【机器学习】GDBT代码说明
gbdt+lr 模型结构分析笔记原创 2022-12-09 18:12:44 · 381 阅读 · 0 评论 -
【机器学习】训练集、验证集与测试集
关于数据集的划分是基本概念,但是有时候看其他人代码时,经常被弄得云里雾里。特作此记录。原创 2022-12-09 12:52:36 · 3407 阅读 · 3 评论 -
【深度学习】softmax with temperture
无原创 2022-01-21 15:47:13 · 3140 阅读 · 0 评论 -
【推荐系统】GBDT总结篇
一、理论回顾前期理论铺垫:【机器学习】GBDT梯度提升树_littlemichelle-CSDN博客二、回归vs. 分类问题GBDT用回归树来处理分类问题例子GBDT用于分类问题 - 1直在路上1 - 博客园机器学习算法GBDT的面试要点总结-上篇 - ModifyBlog - 博客园三、QAQ1、GBDT分类问题中还有残差的概念吗?A1、GBDT处理回归or分类问题都使用CART回归树,CART回归树的loss是平方差损失函数;所以GBDT不论处...原创 2021-12-02 18:25:05 · 821 阅读 · 0 评论 -
【机器学习】log loss、logistic loss与cross-entropy的关系
结论:log loss就是cross-entropy。 二分类时,cross-entropy等价于logistic loss,算是一种特例情况。主要是看预测概览的类别有几种,cross-entropy也可以多分类,logistic loss就是只能二分类。目录一、logistic loss与cross-entropy二、log loss与cross-entropy三、Python 实现一、logistic loss与cross-entropy二分类时,logistic lo.原创 2021-05-12 16:07:38 · 4355 阅读 · 0 评论 -
【机器学习】spark逻辑回归代码
目录1、读取数据2、特征构造3、训练4、总结使用的测试数据为-不同国家的人通过不同的搜索引擎查找访问网站的数据,数据的表头如下:代码如下:1、读取数据from pyspark.sql import SparkSessionspark=SparkSession.builder.appName('log_reg').getOrCreate()# 读取测试数据df=spark.read.csv('Log_Reg_dataset.csv',inferSchema=Tru原创 2021-05-11 15:22:50 · 536 阅读 · 0 评论 -
【机器学习】sampled softmax loss
前置知识损失函数 - 交叉熵损失函数 - 飞鱼Talk的文章 - 知乎 https://zhuanlan.zhihu.com/p/35709485一文详解Softmax函数 - 触摸壹缕阳光的文章 - 知乎 https://zhuanlan.zhihu.com/p/105722023softmax 介绍 + 公式 + 代码sampled softmax如何通俗理解sampled softmax机制? - 知乎 https://www.zhihu.com/quest...原创 2021-04-29 16:41:28 · 2417 阅读 · 0 评论 -
【机器学习】nce_loss
目录一、前置知识二、理论回顾Logistic Regression三、Noise Contrastive Estimation举例四、特别注意五、NCE in tensorflow一、前置知识【机器学习】tf.nn.softmax【机器学习】sampled softmax loss因为我觉得nce loss是这几个里面最难理解的。Noise-contrastive estimationnce loss 与 sampled softmax loss 到底原创 2021-04-29 10:19:57 · 10791 阅读 · 3 评论 -
【机器学习】tf.nn.softmax
1、概念softmax是一个激活函数。tf.nn.softmax( logits, # 输入:全连接层(往往是模型的最后一层)的值,一般代码中叫做logits axis = None, name = None dim = None)作用:softmax函数的作用就是归一化。 输入:全连接层(往往是模型的最后一层)的值,一般代码中叫做logits 输出:归一化的值,含义是属于该位置的概率,一般代码叫做probs,例如输出[0.4, 0.1, 0.2, 0..原创 2021-04-29 10:18:03 · 4355 阅读 · 0 评论 -
【机器学习】特征类型总结
id类特征类别型特征原创 2021-04-09 00:29:00 · 6944 阅读 · 0 评论 -
【机器学习】数学概念
一、内积(点乘/数量积)定义概括地说,向量的内积(点乘/数量积)。对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b:a和b的点积公式为:这里要求一维向量a和向量b的行列数相同。注意:点乘的结果是一个标量(数量而不是向量)定义:两个向量a与b的内积为a·b= |a||b|cos∠(a, b),特别地,0·a=a·0= 0;若a,b是非零向量,则a与b****正交的充要条件是a·b= 0。=向量内积的几何意义内积...原创 2021-04-08 11:38:43 · 1051 阅读 · 0 评论 -
【机器学习】AUC计算(Python实现)
目录1、sklearn中计算AUC值的方法2、编写函数实现 auc_calculateAUC理论请看【机器学习】POC & AUC1、sklearn中计算AUC值的方法from sklearn.metrics import roc_auc_scoreauc_score = roc_auc_score(y_truth,y_pred)y_pred即可以是类别,也可以是概率。roc_auc_score直接根据真实值和预测值计算auc值,省略计算roc的过程。.原创 2020-10-19 11:39:49 · 27199 阅读 · 2 评论 -
【机器学习】模型保存
目录pickle模块sklearn joblib模块Hive分区表在训练模型后将模型保存的方法,以免下次重复训练。以及大数据里直接将BI模型结果保存在hive表里。pickle模块from sklearn import svmfrom sklearn import datasetsimport pickleclf = svm.SVC()iris = datasets.load_iris()X,y = iris.data, iris.targetclf.fit(X,y)原创 2020-09-10 21:32:34 · 528 阅读 · 0 评论 -
【numpy】reshape 与 resize
(3, )≠(3, 1):前者表示一维数组(无行和列的概念),后者则表示一个特殊的二维数组,也即是一个列向量;这里补充:之前看到(3, ) 不知道含义!实际中遇到0. reshape的参数reshape的参数严格地说,应该是tuple类型(tuple of ints),似乎不是tuple也成(ints)。>>> x = np.random.rand(2, 3)>>> x.reshape((3, 2)) ...原创 2020-07-09 18:21:45 · 798 阅读 · 0 评论 -
【numpy】维度相关np.newaxis()、ravel()、flatten()、squeeze()
目录ravel()、flatten()、squeeze() 降维numpy.ravel() vs numpy.flatten()np.squeeeze()reshape(-1)np.newaxis() 升维ravel()、flatten()、squeeze() 降维numpy中的ravel()、flatten()、squeeze()都有将多维数组转换为一维数组的功能,区别:ravel():如果没有必要,不会产生源数据的副本 flatten():返回源数据的副本 sq.原创 2020-07-09 17:55:55 · 1026 阅读 · 0 评论 -
【numpy】关于numpy的axis=0和1及高维tensor
关于numpypython中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:import pandas as pddf = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \columns=["col1", "col2", "col3", "col4"])print(df) col1 col2 col3 col40 1 1 1 11原创 2020-07-08 14:12:45 · 2478 阅读 · 1 评论 -
【机器学习】Lightgbm代码实现
原生形式使用lightgbm(import lightgbm as lgb)import lightgbm as lgbfrom sklearn.metrics import mean_squared_errorfrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_split# 加载数据iris = load_iris()data = iris.datatarget =原创 2020-06-30 11:34:30 · 4114 阅读 · 1 评论 -
【机器学习】2019lhy台湾大学课程笔记
异常检测第一课1、分类出的class再加上confidence信心分数。扩展:原创 2019-12-26 20:00:17 · 242 阅读 · 4 评论 -
【机器学习】先验概率与后验概率
从原因到结果的论证称为“先验的”,而从结果到原因的论证称为“后验的”。先验概率是指根据以往经验和分析得到的概率,如全概率公式中的 ,它往往作为“由因求果”问题中的“因”出现。后验概率是指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的“因” 。后验概率是基于新的信息,修正原来的先验概率后所获得的更接近实际情况的概率估计。先验概率和后验概率是相对的。如果以后还有新的信息引入,更新...原创 2019-08-05 16:33:34 · 6739 阅读 · 0 评论 -
【机器学习】Boosting大发!
xgboost怎么给特征打分?如何解决缺失值问题?在训练的过程中,通过(自己有各个GAIN的计算公式)选择分离点的特征,一个特征被选中的次数越多,评分越高。 xgboost对缺失值有默认的处理方法,对于特征的值有缺失的样本,xgboost可以自动学习出它的分裂方向,可以大大的提升算法的效率。 什么是OOB?随机森中OOB如何计算的?(为什么不用交叉验证?) 随机森林采用的baggin...原创 2018-12-26 14:15:55 · 286 阅读 · 0 评论 -
【机器学习】样本不均衡问题
对于二分类问题, 当训练集中正负样本非常不均衡时, 如何处理数据以更好地训练分类模型?这里有个问题是:如何判断数据是否平衡呢?w(゚Д゚)wreal world data经常会面临class imbalance问题,即正负样本比例失衡。根据计算公式可以推知,在testing set出现imbalance时ROC曲线能保持不变,而PR则会出现大变化。基于数据的方法 基于算法的方法...原创 2019-07-20 14:46:23 · 967 阅读 · 0 评论 -
【机器学习】Xgboost(下)近似分位数算法和使用
近似算法对于连续型特征值,当样本数量非常大,该特征取值过多时,遍历所有取值会花费很多时间,且容易过拟合。因此XGBoost思想是对特征进行分桶,即找到l个划分点,将位于相邻分位点之间的样本分在一个桶中。在遍历该特征的时候,只需要遍历各个分位点,从而计算最优划分。从算法伪代码中该流程还可以分为两种,全局的近似是在新生成一棵树之前就对各个特征计算分位点并划分样本,之后在每次分裂过程中都采用近似划分...原创 2019-06-24 18:13:20 · 2035 阅读 · 1 评论 -
【机器学习】常用损失函数总结
损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。损失函数分为经验风险损失函数和结构风险损失函数。经验风险损失函数指预测结果和实际结果的差别,结构风险损失函数是指经验风险损失函数加上正则项。0-1损失函数(zero-one loss)绝对值损失函数绝对值损失函数是计算预测值与目标值的差的绝对值:log对数...原创 2019-07-28 02:08:46 · 766 阅读 · 0 评论 -
【机器学习】交叉熵与KL散度
写在前面的总结:1、目前分类损失函数为何多用交叉熵,而不是KL散度。首先损失函数的功能是通过样本来计算模型分布与目标分布间的差异,在分布差异计算中,KL散度是最合适的。但在实际中,某一事件的标签是已知不变的(例如我们设置猫的label为1,那么所有关于猫的样本都要标记为1),即目标分布的熵为常数。而根据下面KL公式可以看到,KL散度 - 目标分布熵 = 交叉熵(这里的“-”表示裁剪)。所以...原创 2019-08-24 18:34:07 · 1589 阅读 · 1 评论 -
【机器学习】异常检测iForest
iForest (Isolation Forest)孤立森林 是一个基于Ensemble的快速异常检测方法,具有线性时间复杂度和高精准度,是符合大数据处理要求的state-of-the-art算法(详见新版教材“Outlier Analysis”第5和第6章 PDF)。其可以用于网络安全中的攻击检测,金融交易欺诈检测,疾病侦测,和噪声数据过滤等。本文将通俗解释实现方法和日常运用,即无需深厚的数学功...原创 2019-08-12 17:05:10 · 1444 阅读 · 0 评论 -
【机器学习】损失函数MAE
RMSE(均方根误差)、MSE(均方误差)、MAE(平均绝对误差)、SD(标准差)RMSE(Root Mean Square Error)均方根误差衡量观测值与真实值之间的偏差。常用来作为机器学习模型预测结果衡量的标准。MSE(Mean Square Error)均方误差MSE是真实值与预测值的差值的平方然后求和平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。...原创 2019-08-22 14:57:24 · 7737 阅读 · 1 评论 -
【读书笔记】《分布式机器学习》
第二章 2019年10月10日 星期四《推荐系统与深度学习》P83 基于用户的推荐在社交网络中的应用使用Spark中Graphx模块去计算共同好友数量,refers tospark graphx实现共同好友的聚合?数据列表的笛卡尔积怎么理解?,有空学习Spark Graphx 进行团伙的识别(community detection)...原创 2019-10-09 23:42:57 · 484 阅读 · 0 评论