当前位置: 首页 > news >正文

宁波seo网站建设费用千万别自学软件编程

宁波seo网站建设费用,千万别自学软件编程,wordpress 精彩,如何百度收录我的网站异常点检测(Outlier detection)#xff0c;⼜称为离群点检测#xff0c;是找出与预期对象的⾏为差异较⼤的对象的⼀个检测过程。这些被检测出的对象被称为异常点或者离群点。异常点#xff08;outlier#xff09;是⼀个数据对象#xff0c;它明显不同于其他的数据对象。异…异常点检测(Outlier detection)⼜称为离群点检测是找出与预期对象的⾏为差异较⼤的对象的⼀个检测过程。这些被检测出的对象被称为异常点或者离群点。异常点outlier是⼀个数据对象它明显不同于其他的数据对象。异常点检测的应用也十分广泛例如信用卡反欺诈、工业损毁检测、广告点击反作弊、刷单检测和羊毛党检测等等。 一般异常检测是无监督学习因为它不是二分类而是多分类问题。 **问题1**为什么要用无监督异常检测方法 很多场景没有标签或者标签很少不能进行监督训练而且样本总是在发生变化。 目前主流的异常检测方法的基本原理都是基于样本间的相似度距离、密度、角度、隔离所需的难度和簇等等。 常见的异常检测有 Z-Score检验——统计学方法Local Outlier Factor孤立森林 Z-Score检验 通过ZScore将正态分布的数据转化为标准正态分布数据公式下 Z s c o r e ( x − u ) σ Zscore \frac{(x-u)}{\sigma} Zscoreσ(x−u)​ 如果符合正态分布则有68%的数据在± σ \sigma σ之间95%的数据在±2 σ \sigma σ之间有99.7%的数据在±3 σ \sigma σ之间。 但大部分场景的数据都不满足正态分布的数据。 Local Outlier Factor(LOF算法) LOF算法是基于密度的异常检测算法它会为每个数据点计算一个分数通过分数的大小来判断数据是否异常。 LOF算法的流程如下 1⾸先对样本空间进⾏去重分别计算每⼀个样本到样本空间内其余点的距离。 2将步骤1中的距离升序排列。 3指定近邻样本个数k对于每个样本点寻找其k近邻样本然后计算LOF分数作为异常分数。 LOF例子 还是以评分卡模型数据为例。 from pyod.models.lof import LOF import pandas as pd from sklearn.linear_model import LogisticRegression from sklearn.metrics import roc_auc_score,roc_curve,auc,recall_scoredata pd.read_csv(Bcard.txt) feature_lst [person_info,finance_info,credit_info,act_info] # 划分数据 train data[data.obs_mth ! 2018-11-30].reset_index().copy() val data[data.obs_mth 2018-11-30].reset_index().copy() x train[feature_lst] y train[bad_ind] # 使用lof进行异常点检测 lof_clf LOF(n_neighbors20,algorithmauto) lof_clf.fit(x) out_pred lof_clf.predict_proba(x)[:,1] train[out_pred] out_pred # 确定得分边界值 key train[out_pred].quantile(0.95) lof_x train[train.out_predkey][feature_lst] lof_y train[train.out_predkey][bad_ind] val_x val[feature_lst] val_y val[bad_ind]# 训练模型 lr_model LogisticRegression(C0.1,class_weightbalanced) lr_model.fit(lof_x,lof_y)# 训练集 print(lof异常检测后训练集的ks值) y_pred lr_model.predict_proba(lof_x)[:,1] #取出训练集预测值 fpr_lr_train,tpr_lr_train,_ roc_curve(lof_y,y_pred) #计算TPR和FPR train_ks abs(fpr_lr_train - tpr_lr_train).max() #计算训练集KS print(train_ks : ,train_ks)#验证集 y_pred lr_model.predict_proba(val_x)[:,1] #计算验证集预测值 fpr_lr,tpr_lr,_ roc_curve(val_y,y_pred) #计算验证集预测值 val_ks abs(fpr_lr - tpr_lr).max() #计算验证集KS值 print(lof异常检测后验证集的ks值) print(val_ks : ,val_ks)from matplotlib import pyplot as plt plt.plot(fpr_lr_train,tpr_lr_train,label train LR) plt.plot(fpr_lr,tpr_lr,label evl LR) plt.plot([0,1],[0,1],k--) plt.xlabel(False positive rate) plt.ylabel(True positive rate) plt.title(ROC Curve) plt.legend(loc best) plt.show()Isolation Forest(IF算法) IF是采用二叉树的方法对数据进行切分数据点在二叉树中的数据深度反应了该条数据的‘疏离’程度。整个过程也是训练跟预测两个步骤 训练抽取多个样本构建多棵二叉树预测综合多棵二叉树的结果计算每个数据点的异常值 我们以一维数据来进行简单理解IF算法的思想我们有一个一维数据想将A和B点切分出来 1现在最大值和最小值之间随机选择一个x值将大于x值和小于x值的数据分为两组 2在两组数据中重复以上步骤直到数据不可分因为B点跟其他数据更远所以只要比较少次数就能分离 3A点由于跟其他数据比较近所以需要更多的次数才能切分出来。 我们不必了解它的公式我们直到它最后的分值即可 如果数据x在多个二叉树的平均路径长度都比较短得分比较接近1则数据x越异常如果数据x在多个二叉树的平均路径长度都比较长则得分更接近0则数据x越正常如果数据x在多个二叉树的平均路径长度是平均值则得分为0.5。 IF例子 同LOF使用一样的数据 from pyod.models.iforest import IForestdata pd.read_csv(Bcard.txt) feature_lst [person_info,finance_info,credit_info,act_info] # 划分数据 train data[data.obs_mth ! 2018-11-30].reset_index().copy() val data[data.obs_mth 2018-11-30].reset_index().copy() x train[feature_lst] y train[bad_ind]if_clf IForest(behaviournew, n_estimators500, n_jobs-1) if_clf.fit(x) out_pred if_clf.predict_proba(x,methodlinear)[:,1] train[out_pred] out_predif_x train[train.out_pred0.7][feature_lst] if_y train[train.out_pred0.7][bad_ind] val_x val[feature_lst] val_y val[bad_ind]# 训练模型 lr_model LogisticRegression(C0.1,class_weightbalanced) lr_model.fit(if_x,if_y)# 训练集 print(参数调整前的ks值) y_pred lr_model.predict_proba(if_x)[:,1] #取出训练集预测值 fpr_lr_train,tpr_lr_train,_ roc_curve(if_y,y_pred) #计算TPR和FPR train_ks abs(fpr_lr_train - tpr_lr_train).max() #计算训练集KS print(train_ks : ,train_ks)#验证集 y_pred lr_model.predict_proba(val_x)[:,1] #计算验证集预测值 fpr_lr,tpr_lr,_ roc_curve(val_y,y_pred) #计算验证集预测值 val_ks abs(fpr_lr - tpr_lr).max() #计算验证集KS值 print(val_ks : ,val_ks)from matplotlib import pyplot as plt plt.plot(fpr_lr_train,tpr_lr_train,label train LR) plt.plot(fpr_lr,tpr_lr,label evl LR) plt.plot([0,1],[0,1],k--) plt.xlabel(False positive rate) plt.ylabel(True positive rate) plt.title(ROC Curve) plt.legend(loc best) plt.show()验证集的KS值有一定的上升。 原数据的ks值如下
http://www.pierceye.com/news/460051/

相关文章:

  • 怎么给餐饮店做网站用织梦做企业网站
  • 技术支持 创思佳网站建设如何制作自己的网站
  • 济南网站建设公司晟创未来wordpress xml插件
  • 前端做商城网站需要多久实训课网站开发个人小结
  • 南宁网站seo排名优化手机网站制作架构
  • 亿唐网不做网站做品牌案例分析seo 推广服务
  • 深圳网站建设服务器如何编写一份网站开发需求文档
  • 营销网站策划wordpress主题在线汉化插件下载
  • 深圳市网站开发个人养老保险金怎么交
  • 超炫html5网站模板新手做网站怎么上传系统
  • 一个网站的二级目录在另一台服务器上_怎么做网络营销工程师前景
  • 个人网站推广软件企业网站建设变相收取等级保护费6
  • 有没有一些网站可以做问卷个人网站 服务器
  • 网站前端WordPress怎么自定义页眉
  • 常州企业免费建站秦皇岛市住房公积金管理中心
  • 网站建设网站需要什么软件有哪些使用wordpress开发一个页面
  • 贵溪市城乡建设局网站手机网站推荐
  • wordpress多站点的路径深圳龙岗区宝龙街道
  • 做外贸免费发布产品的网站装修软件app哪个好
  • 网站注册系统医疗器械分类目录2021
  • 珠海建设网站百度收录有什么好处
  • 二手网站专业做附近人的有吗免费申请网站永久
  • 校园二手市场网站开发网站文章优化流程方案
  • 手机网站的必要性衡水网站设计费用
  • 厦门市建设安全管理协会网站网站登录模板下载
  • 江苏启安建设集团有限公司网站wordpress图标字体不显示不出来
  • 网络营销网站规划建设实训作业免费云空间
  • 杭州建设网站官网想学做宝宝食谱上什么网站
  • 用自己服务器做网站乡镇信息公开网站建设制度
  • 网站建设平台简介电子商务网站模版