机器学习
文章平均质量分 62
MusicDancing
这个作者很懒,什么都没留下…
展开
-
反欺诈与异常点检测
qaxsw原创 2024-01-21 16:08:45 · 630 阅读 · 0 评论 -
样本处理之SMOTE算法
112233原创 2024-01-21 15:41:02 · 1155 阅读 · 0 评论 -
ML流程标准规范汇总
1122原创 2023-12-12 11:24:47 · 869 阅读 · 0 评论 -
常见统计学习方法特点总结
1122原创 2023-12-08 15:19:24 · 448 阅读 · 0 评论 -
决策树学习
1122原创 2023-11-24 16:50:37 · 900 阅读 · 0 评论 -
k-NN算法简介
k近邻法(k-nearest neighbor)是一种基本分类与回归方法。给定一个训练集,其中的实例类别已定,分类时,对新的实例,根据其k个最邻近的训练实例的类别,通过多数表决等方式进行预测。(给定一个训练集,对于新输入的实例,在训练数据集中找到与该实例最近邻的k个实例,这k个实例的多数属于某个类,就把该实例分为这个类。因此,k近邻法不具有显示学习过程。knn实际上利用训练数据集,并作为其分类的“模型”。原创 2023-04-07 16:13:15 · 392 阅读 · 0 评论 -
朴素贝叶斯
1122原创 2023-04-07 11:49:15 · 262 阅读 · 0 评论 -
Simhash算法及python实现
11原创 2022-06-24 15:51:52 · 3353 阅读 · 0 评论 -
线性回归Demo
1. 相关包导入# -*- coding: utf-8 -*-import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerfrom sklearn.linear_model import LinearRegressionfrom sklearn.metrics import me原创 2022-05-23 10:11:19 · 213 阅读 · 0 评论 -
ML基础知识
1. NFL 无论哪种学习算法,它们的期望性能是相同的。但其前提是:“问题”出现的机会相同|所有问题同等重要。2. 奥卡姆剃刀 若有多个假设与观察一致,选最简单的那个。...原创 2021-12-28 22:02:02 · 298 阅读 · 0 评论 -
FE经验总结
1. 特征工程的构建1. 皮尔逊相关系数的应用(可以看feature和target之间的相关程度,太弱的可以直接舍弃)。2. 选择一些强相关的feature,通过一些运算构造一些新的feature。3. 结合业务场景构造一些业务中常用的指标。4. 进行特征选择,去除冗余feature(可以用xgb或gbdt这种有feature_importances方法的,对训练完的模型特征,根据评分进行sort,以此选择一些比较好的feature)。...原创 2021-09-22 16:14:03 · 130 阅读 · 0 评论 -
性别年龄冷启动
1. 性别冷启动1.1 模型描述性别冷启动包括两个版本:1.1.1 v1 版本性别冷启动此版本提供给lx和wx,分别以特征文件的方式提供给业务方,统计截取后的全量的applist和mobile;1.1.2 v2 版本性别冷启动此版本提供给zx,统计top-N的applist和mobile(建议全量特征参与训练,然后取权重绝对值最大的top-N特征),两版本均采用lr模型。 ...原创 2021-09-15 15:43:44 · 114 阅读 · 0 评论 -
常见的几种梯度下降
1. 随机梯度下降 每次使用一个样本点更新参数,使sgd会跳到新的和潜在更好的局部最优解,但会使得收敛到局部最优解的过程更加复杂。2. 批量梯度下降 会获得全局最优解,但在更新每个参数的时候需要遍历所有的数据,计算量很大,参数更新很慢。3. 小批量梯度下降结合了sgd和batch gd的优点,每次更新时使用部分n个样本,减少了参数更新的次数,可以达到更加稳定的收敛结果。(DL中常用)...原创 2021-09-15 14:49:23 · 837 阅读 · 0 评论 -
PCA降维小Demo
11from sklearn.pipeline import Pipeline, FeatureUnionfrom sklearn.model_selection import GridSearchCVfrom sklearn.svm import SVCfrom sklearn.datasets import load_irisfrom sklearn.decomposition import PCAfrom sklearn.feature_selection import SelectK原创 2021-09-14 20:58:23 · 143 阅读 · 0 评论 -
随机森林RF、GBDT、XGBoost的区别
1. 随机森林1.1 定义RF是一个用随机方式建立的,包含多个决策树的集成分类器,其输出类别由各个树投票而定(回归树取平均)。1.2 生成过程假设样本总数为n,特征数为a。1. 从原始样本中采用有放回抽样(bagginhg)的方法选取n个抽样。2. 对n个样本选取a个特征重的随机k个,用于建立决策树的方法,获得最佳分割点。3. 重复m次,获得m个决策树。4. 对输入样例进行预测时,每个子树都产生一个结果,采用多数投票机制输出。1.3 优点1. 实现简单,训练速度原创 2021-08-14 23:41:09 · 4869 阅读 · 1 评论 -
支持向量机SVM简介
1. 定义SVM是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器。适合小样本(非线性、高维模式)学习。模型 -----> 分离平面;策略 -----> 间隔最大化;学习算法 -----> 凸二次优化;3. 线性可分SVM的对偶算法针对原始问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。优点:1. 对偶问题往往更容易求解;2. 自然引入核函数,进而推广到非线性分类问题。定义拉格朗日函数(拉...原创 2021-08-14 22:23:28 · 3534 阅读 · 0 评论 -
逻辑回归LR模型简介
4. LR与线性回归的区别1. 都是广义的线性回归,但LR可用于分类,在feature到结果的映射中加入了sigmoid(),实现了非线性。2. 损失函数: 线性回归 --> 平方损失函数; LR --> 似然函数3. 预测范围: 线性回归 --> 整个实数域(敏感度一致); LR --> [0,1]...原创 2021-08-04 10:13:23 · 6356 阅读 · 0 评论 -
Wilson Score 排序算法
威尔逊得分(Wilson Score)排序算法,用于质量排序,针对含有好评和差评的数据,综合考虑评论数与好评率,得分越高质量越高。 u:正例数(好评) v:负例数(差评) n:实例总数(评论总数) p:好评率 z:是正态分布的分位数(一般取值2即可,即95%的置信度) S:表示最终的威尔逊得分。...原创 2021-07-20 10:07:23 · 3387 阅读 · 6 评论 -
使用SVM实现iris花瓣预测
PCA降维单特征选择网格搜索from sklearn.datasets import load_irisfrom sklearn.decomposition import PCAfrom sklearn.feature_selection import SelectKBestfrom sklearn.svm import SVCfrom sklearn.pipeline import Pipeline, FeatureUnionfrom sklearn.model_selection i.原创 2021-06-30 10:50:10 · 180 阅读 · 0 评论 -
模型训练常用的一些diy functions
1.1 打印特征重要性print(get_feature_importance_pair(gbm))save_feature_importance_pair(feature_list, gbm)或importances = pd.Series(gbm.feature_importance('gain'), index=feature_list).sort_values(ascending=False)1.2 给训练样本增加权重from woe.eval import eval_segment_原创 2021-06-29 11:08:45 · 131 阅读 · 0 评论 -
搭建flask接口,提供模型打分服务
搭建打分接口,供服务端调用1. 组织目录.server2.配置文件config.ini原创 2021-06-28 16:23:00 · 230 阅读 · 0 评论 -
xgboost 2分类(sex predict)
11# -*- coding: utf-8 -*-import numpy as npimport xgboost as xgbfrom xgboost import plot_importancefrom sklearn.model_selection import train_test_splitfrom sklearn import metricsfrom sklearn import preprocessing# from matplotlib import pyplot as pl原创 2021-06-25 16:06:28 · 2029 阅读 · 1 评论 -
xgboost 多分类(六段age predict)
1. 相关包导入# -*- coding: utf-8 -*-import numpy as npimport xgboost as xgbfrom xgboost import plot_importancefrom sklearn import preprocessingfrom sklearn.model_selection import train_test_splitfrom sklearn import metricsfrom matplotlib import pyplot a原创 2021-06-25 15:55:47 · 421 阅读 · 0 评论 -
贝叶斯优化BayesianOptimization
神经网络有很多超参数(学习率,正则等等)。如何寻找最好的超参数组合,穷举搜索 Grid Search 效率太低;随机搜索比穷举搜索好一点;目前比较好的解决方案是贝叶斯优化。1.贝叶斯优化的优点 贝叶斯调参采用高斯过程,考虑之前的参数信息,不断地更新先验;网格搜索未考虑之前的参数信息; 贝叶斯调参迭代次数少,速度快;网格搜索速度慢,参数多时易导致维度爆炸; 贝叶斯调参针对非凸问题依然稳健;网格搜索针对非凸问题易得到局部优最。2. 贝叶斯初步优化安装 相关包pip in...原创 2021-05-19 10:31:13 · 5491 阅读 · 1 评论 -
LabelEncoder 特征编码
11import pandas as pdfrom sklearn.preprocessing import LabelEncoderclass MultiColumnLabelEncoder: def __init__(self, columns=None): self.columns = columns # array of column names to encode def fit(self, X, y=None): return.原创 2021-05-10 09:57:08 · 1585 阅读 · 0 评论 -
过拟合与欠拟合
1. 原因训练误差持续降低,测试误差却可能上升。2.解决方案2.1 早停(early stopping)将数据分成训练集和验证集,训练集用来计算梯度、更新连接权重和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权重和阈值。2.2 正则化(regularization)在损失函数中增加一个用于描述模型复杂度的部分,如权重与阈值的平方和。...原创 2021-03-04 16:39:55 · 915 阅读 · 2 评论 -
正则化与L0,L1,L2范数简介
1.稀疏性(sparsity)问题本质上对应了L0范数的优化,这在通常条件下是NP难问题。LASSO通过L1范数来近似L0范数,是求取稀疏解的重要技术。原创 2021-02-24 17:58:34 · 1705 阅读 · 0 评论 -
精准率,召回率,auc
1. 混淆矩阵 真实情况 预测结果 正例 反例 正例 TP(真正例) FN(假反例) 反例 FP(假正例) TN(真反例) 精准率P (Percision 查准率)召回率R (Recall 查全率)...原创 2021-02-18 16:13:48 · 797 阅读 · 1 评论 -
样本不均衡处理及采样方法
1. 对负样本采样应遵循原则:(1)对每个用户,要保证正负样本的平衡(数目相似)。(2)对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。一般认为,很热门而用户却没有行为更加代表用户对这个物品不感兴趣。因为对于冷门的物品,用户可能压根没在网站中发现这个物品,所以谈不上是否感兴趣。...原创 2021-02-18 16:02:18 · 873 阅读 · 1 评论 -
python 实现lgb训练及模型预测
使用训练好的lightgbm对测试集打分,并保留预测结果。# coding:utf-8import pandas as pdimport lightgbm as lgbimport sysTHRESHOLD = 0.28 # 设定截断阈值data_input_path = sys.argv[1] # 数据输入路径data_output_path = sys.argv[2] # 数据输出路径model_file_path = sys.argv[3] # 模型路径# 1.加载测试数据.原创 2020-11-27 19:56:23 · 5190 阅读 · 3 评论 -
Python 实现LogisticRegression小Demo
1. 加载数据(以csv格式,从本地文件导入)# -*- coding: utf-8 -*-import numpy as npimport sysimport matplotlib.pyplot as pltimport pandas as pdfrom sklearn import metricsfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import Standar.原创 2020-11-30 10:48:27 · 501 阅读 · 2 评论 -
打印模型特征重要性
以lightgbm模型为例1. 获得特征重要性信息def get_feature_importance_pair(gbm_model): feature_name_list = gbm_model.feature_name() importance_list = list(gbm_model.feature_importance()) feature_importance_pair = [(fe, round(im, 2)) for fe, im in zip(featu.原创 2020-12-29 14:09:36 · 1772 阅读 · 0 评论 -
模型的保存与加载
1.from pypmml import Modelmodel = Model.fromFile("lightgbm.pmml")model.predict(X_test)原创 2020-12-18 21:07:50 · 457 阅读 · 1 评论 -
LightGBM 模型上线Pipeline
一、模型预测Pipeline1. model_pipeline.shhive表拉取预测数据 预测数据切分 模型打分 打分数据整合 数据上传# 1.从hive表中拉去预测数据到本地(模型工程目录)/app/hadoop/hive/bin/hive -e "use db_name;set hive.cli.print.header=false;set hive.resultset.use.unique.column.names=false;select phone,up_cnt原创 2020-12-18 11:32:52 · 503 阅读 · 0 评论 -
决策树二分类Demo&画树
1.# -*- coding: utf-8 -*-from sklearn.externals.six import StringIOimport pydotplusfrom sklearn import treefrom sklearn.tree import _treefrom sklearn.tree import DecisionTreeClassifierimport pandas as pdimport osfrom sklearn.metrics import roc_原创 2020-12-17 14:18:14 · 317 阅读 · 0 评论 -
单特征auc分析
以单个特征训练一个决策树模型,统计各个特征与auc的关系。import pandas as pdfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.metrics import roc_auc_scorefeature_names = ['feature1', 'feature2', 'feature3', 'feature4']if __name__ == "__main__": model = Decision原创 2020-12-17 14:05:39 · 1683 阅读 · 0 评论 -
特征0-N编码
1. 0-N编码在做数据预处理时,往往需要对特征进行编码,0-N编码,one-hot编码等等。这里介绍一下0-N编码我们拿到的原始数据往往像上图这样(手机品牌,手机型号),没法直接输入模型,需要进行人工编码。2. 特征分布分析首先统计一下某一字段的数据分布情况,以手机品牌为例,按每个品牌手机数量从高到低排序。hive -e "select *from ( select phone_brand,count(1) as cnt from tablename原创 2020-12-15 21:26:55 · 361 阅读 · 0 评论 -
机器学习小笔记
1. LightGBM算法原理、训练与预测https://zhuanlan.zhihu.com/p/143249716原创 2020-12-15 19:58:46 · 83 阅读 · 0 评论