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

文昌网站建设全包免费的网站开发平台

文昌网站建设全包,免费的网站开发平台,网站类推广软文怎么写,用手机能建网站吗本教程是ML系列的一部分。在此步骤中#xff0c;你将学习什么是data leakage及如何预防它。 What is Data Leakage 数据泄漏是数据科学家需要理解的最重要问题之一。 如果您不知道如何防止它#xff0c;则会频繁出现泄漏#xff0c;并且会以最微妙和危险的方式破坏您的模…本教程是ML系列的一部分。在此步骤中你将学习什么是data leakage及如何预防它。  What is Data Leakage 数据泄漏是数据科学家需要理解的最重要问题之一。 如果您不知道如何防止它则会频繁出现泄漏并且会以最微妙和危险的方式破坏您的模型。 具体而言泄漏会导致模型看起来准确当您开始使用模型做出决策模型则变得非常不准确。 本教程将向您展示泄漏是什么以及如何避免泄漏。 泄漏有两种主要类型Leaky Predictors and a Leaky Validation Strategies。 Leaky Predictors 当您的预测因素包含无法使用的数据时就会发生这种情况。 例如假设您想预测谁会患上肺炎。 原始数据的前几行可能如下所示 got_pneumoniaageweightmaletook_antibiotic_medicine...False65100FalseFalse...False72130TrueFalse...True58100FalseTrue... 人们在患肺炎后服用抗生素药物才能康复。 因此原始数据显示了这些列之间的紧密关系。 但是确定了got_pneumonia的值后take_antibiotic_medicine经常被改变。 这是目标泄漏。 该模型将发现对于take_antibiotic_medicine而言任何具有False值的人都没有肺炎。 验证数据来自同一来源因此模式将在验证中重复模型将具有很好的验证或交叉验证分数。 但随后在现实世界中部署时该模型将非常不准确。 为防止此类数据泄漏应排除在目标值实现后更新或创建的任何变量。 因为当我们使用此模型进行新的预测时该数据将无法使用。 Leaky Validation Strategy 当您不小心区分训练数据和验证数据时会发生不同类型的泄漏。 例如如果在调用train_test_split之前运行预处理比如为缺失值拟合Imputer就会发生这种情况。 验证旨在衡量模型对之前未考虑过的数据的影响。 如果验证数据影响预处理行为您可以以微妙的方式破坏此过程。最终结果 您的模型将获得非常好的验证分数让您对它充满信心但在部署它以做出决策时表现不佳。 Preventing Leaky Predictors 没有一种解决方案可以普遍地防止泄漏的预测因素。 它需要有关您的数据特定案例检查和常识的知识。 然而泄漏预测因素通常与目标具有高度统计相关性。 所以要记住两个策略 要筛选可能的泄漏预测因素请查找与目标统计相关的列。     如果您构建模型并发现它非常准确则可能存在泄漏问题。 Preventing Leaky Validation Strategies 如果您的验证基于简单的train-test-split则从任何类型的拟合中排除验证数据包括预处理步骤的拟合。 如果您使用scikit-learn Pipelines这会更容易。 使用交叉验证时使用管道并在管道内进行预处理更为重要。 Example 我们将使用一个关于信用卡应用程序的小数据集我们将构建一个模型来预测哪些应用程序被接受存储在一个名为card的变量中。 以下是数据 [1] import pandas as pddata pd.read_csv(../input/AER_credit_card_data.csv, true_values [yes],false_values [no]) print(data.head()) card reports age income share expenditure owner selfemp \ 0 True 0 37.66667 4.5200 0.033270 124.983300 True False 1 True 0 33.25000 2.4200 0.005217 9.854167 False False 2 True 0 33.66667 4.5000 0.004156 15.000000 True False 3 True 0 30.50000 2.5400 0.065214 137.869200 False False 4 True 0 32.16667 9.7867 0.067051 546.503300 True False dependents months majorcards active 0 3 54 1 12 1 3 34 1 13 2 4 58 1 5 3 0 25 1 7 4 2 64 1 5 我们使用data.shape看到这是一个小数据集1312行所以我们应该使用交叉验证来确保模型质量的准确精度。 [2] data.shape(1319, 12) [3] from sklearn.pipeline import make_pipeline from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import cross_val_scorey data.card X data.drop([card], axis1)# Since there was no preprocessing, we didnt need a pipeline here. Used anyway as best practice modeling_pipeline make_pipeline(RandomForestClassifier()) cv_scores cross_val_score(modeling_pipeline, X, y, scoringaccuracy) print(Cross-val accuracy: %f %cv_scores.mean())Cross-val accuracy: 0.979528 根据经验您会发现找到98的精确模型是非常罕见的。它发生了但我们应该更仔细地检查数据以确定它是否是目标泄漏。 以下是数据摘要您也可以在数据选项卡下找到它 card: Dummy variable, 1 if application for credit card accepted, 0 if notreports: Number of major derogatory reportsage: Age n years plus twelfths of a yearincome: Yearly income (divided by 10,000)share: Ratio of monthly credit card expenditure to yearly incomeexpenditure: Average monthly credit card expenditureowner: 1 if owns their home, 0 if rentselfempl: 1 if self employed, 0 if not.dependents: 1 number of dependentsmonths: Months living at current addressmajorcards: Number of major credit cards heldactive: Number of active credit accounts一些变量看起来很可疑。例如expenditure是指支付此卡还是在使用之前卡上的支出 此时基本数据比较可能非常有用 [4] expenditures_cardholders data.expenditure[data.card] expenditures_noncardholders data.expenditure[~data.card]print(Fraction of those who received a card with no expenditures: %.2f \%(( expenditures_cardholders 0).mean())) print(Fraction of those who received a card with no expenditures: %.2f \%((expenditures_noncardholders 0).mean())) Fraction of those who received a card with no expenditures: 0.02 Fraction of those who received a card with no expenditures: 1.00 每个人(card False)都没有支出而card True的人中只有2没有支出。 我们的模型似乎具有高精度并不奇怪。 但这似乎是数据泄露其中支出可能意味着*他们申请的卡上的支出。**。 由于share部分由支出决定因此也应予以排除。 变量activemajorcards有点不太清楚但从描述中看它们听起来很有意义。 在大多数情况下如果您无法追踪创建数据的人员以了解更多信息那么最好是安全而不是抱歉。 我们将运行一个没有泄漏的模型如下 [5] potential_leaks [expenditure, share, active, majorcards] X2 X.drop(potential_leaks, axis1) cv_scores cross_val_score(modeling_pipeline, X2, y, scoringaccuracy) print(Cross-val accuracy: %f %cv_scores.mean())Cross-val accuracy: 0.806677 这种准确性相当低这一方面令人失望。 但是我们可以预期在新应用程序中使用它的时间大约为80而泄漏模型可能会比这更糟糕即使它在交叉验证中的表观得分更高。 Conlusion 在许多数据科学应用中数据泄漏可能是数百万美元的错误。 仔细分离训练和验证数据是第一步管道可以帮助实现这种分离。 泄漏预测因素是一个更常见的问题泄漏的预测因子更难以追踪。 谨慎常识和数据探索的组合可以帮助识别泄漏的预测变量以便从模型中删除它们。 Exercise 查看正在进行的项目中的数据。 有没有可能导致泄漏的预测因子 作为提示来自Kaggle比赛的大多数数据集都没有这些变量。 一旦你通过那些精心策划的数据集这就成了一个常见的问题。
http://www.pierceye.com/news/311167/

相关文章:

  • 政务网站建设合同dw个人网站模板下载
  • 广州网站优化服务商企业网站建设一站式服务
  • 蓝海电商怎么做广州短视频seo哪家好
  • 泸州住房和城乡建设厅网站怎么自己做微网站吗
  • 做网站上传图片自己怎么建设网站首页
  • 西安空调销售网站建设wordpress 谷歌地图
  • 网站建设投标书范本wordpress防广告屏蔽
  • 设计个人网站的步骤建设工程合同无效的情形有哪些
  • 网站竞争对手的选定一般参考什么标准的建设网站长沙
  • 通州个人做网站营销型网站建设开发
  • 乌海市网站建设基于asp的网络课程网站开发
  • 关掉自己做的网站网页设计与制作服务公司
  • 视频相亲网站开发成本分类信息网站推广的意义
  • 域名和网站网站开发项目视频
  • 色流网站怎么做东营建筑信息网
  • 做能支付的网站贵吗网络安全工程师考证
  • 下载类网站开发条件环球资源网成立时间
  • 客户如何找到做网站宣传的律师免费虚拟主机空间
  • 点击网站出现微信二维码的链接怎么做网架制造厂
  • 服装网站建设环境分析一家专门做房产特卖的网站
  • 网站推广方式方法品牌建设的阶段和步骤是什么
  • 游戏开发平台seo的定义
  • 北京住房和城乡建设部网站官网可信赖的购物网站建设
  • 网站百度一直没有收录热狗网站关键词优化
  • 视频网站开发价格本地app开发公司电话
  • 网站设计风格介绍北京市建设工程信息网如何登录
  • 怎么创建一个属于自己的网站怎么制作做网站
  • 大学加强网站建设与管理的通知莱芜金点子租房信息港
  • 网站的营销与推广杭州五旋科技网站建设怎么样
  • 莱芜四中网站如何优化网站目录结构