MGPHPZJ

Hello, friends! Welcome!

使用Python进行机器学习

机器学习 – 数据特征选择

在上一章中,我们详细介绍了如何预处理和准备机器学习数据。在本章中,让我们详细了解数据特征选择及其中涉及的各个方面。 数据特征选择的重要性机器学习模型的性能与用于训练它的数据特征成正比。如果提供给它的数据特征无关紧要,ML模型的性能将受到负面影响。另一方面,使用相关数据功能可以提高ML模型的准确性,尤其是线性和逻辑回归。 现在出现的问题是什么是自动特征选择?它可以被定义为一个过程,借助它我们在数据中选择与我们感兴趣的输出或预测变量最相关的那些特征。它也称为属性选择。 以下是在对数据建模之前自动选择功能的一些好处 : 在数据建模之前执行特征选择将减少过度拟合。在数据建模之前执行特征选择将提高ML模型的准确性。在数据建模之前执行特征选择将减少训练时间。 特征选择技术以下是我们可以用来在Python中建模ML数据的自动特征选择技术。 单变量选择在统计测试的帮助下,这种特征选择技术在选择这些特征时非常有用,与预测变量具有最强的关系。我们可以借助scikit-learn Python库的SelectKBest0class实现单变量特征选择技术。 递归特征消除顾名思义,RFE(递归特征消除)特征选择技术以递归方式移除属性并使用其余属性构建模型。 我们可以借助于scekit-learn Python库的RFE类来实现RFE特征选择技术。 主成分分析(PCA)PCA,通常称为数据简化技术,是非常有用的特征选择技术,因为它使用线性代数将数据集转换为压缩形式。 我们可以借助PCA类的scikit-learn Python库来实现PCA特征选择技术。 我们可以在输出中选择主要组件的数量。 功能重要性 顾名思义,使用特征重要性技术来选择重要性特征。 它基本上使用训练有素的监督分类器来选择特征。 我们可以借助于scikit-learn Python库的ExtraTreeClassifier类来实现这种特征选择技术。

使用Python进行机器学习

机器学习 – 准备数据

介绍机器学习算法完全依赖于数据,因为它是使模型训练成为可能的最重要方面。另一方面,如果我们无法理解这些数据,那么在将其提供给ML算法之前,机器将是无用的。简而言之,我们总是需要以正确的比例,格式和包含有意义的特征来提供正确的数据,即数据,以解决我们希望机器解决的问题。这使得数据准备成为ML过程中最重要的一步。数据准备可以定义为使我们的数据集更适合ML过程的过程。 为什么要进行数据预处理?在为ML训练选择原始数据之后,最重要的任务是数据预处理。从广义上讲,数据预处理会将所选数据转换为我们可以使用的形式,或者可以提供给ML算法。我们总是需要预处理我们的数据,以便它可以按照机器学习算法的预期。 数据预处理技术我们有以下数据预处理技术可应用于数据集以生成ML算法的数据 - 缩放很可能我们的数据集包含具有不同规模的属性,但是我们不能将这样的数据提供给ML算法,因此它需要重新缩放。数据重新缩放可确保属性具有相同的比例。通常,属性被重新调整为0和1的范围.ML算法(如梯度下降和k-最近邻)需要缩放数据。我们可以借助MinMaxScaler类的scikit-learn Python库重新调整数据。 正常化另一种有用的数据预处理技术是规范化。这用于将每行数据重新调整为长度为1.它主要用于稀疏数据集,其中我们有很多零。我们可以借助于scikit-learn Python库的Normalizer类来重新调整数据。 规范化的类型在机器学习中,有两种类型的归一化预处理技术如下: L1归一化L2标准化 二值化顾名思义,这是我们可以使数据二进制化的技术。我们可以使用二进制阈值来制作数据二进制文件。高于该阈值的值将转换为1,低于该阈值将转换为0。 例如,如果我们选择阈值= 0.5,那么它上面的数据集值将变为1,低于此值将变为0.这就是为什么我们可以将其称为二值化数据或对数据进行阈值处理。当我们在数据集中有概率并希望将它们转换为清晰值时,此技术非常有用。 我们可以借助于scarit-learn Python库的Binarizer类来对数据进行二值化。 标准化另一种有用的数据预处理技术,主要用于使用高斯分布转换数据属性。 它将平均值和SD(标准偏差)与标准高斯分布相区别,平均值为0,SD值为1.此技术在ML算法中非常有用,如线性回归,逻辑回归假设输入数据集中的高斯分布并且产生更好 重新调整数据的结果。 我们可以借助StandardScaler类的scikit-learn Python库来标准化数据(mean = 0和SD =…

使用Python进行机器学习

ML – 用可视化理解数据

介绍在上一章中,我们讨论了机器学习算法数据的重要性以及一些Python配方,以便用统计数据来理解数据。 还有另一种称为可视化的方法来理解数据。 借助数据可视化,我们可以看到数据的外观以及数据属性所保持的相关性。 这是查看功能是否与输出相对应的最快方法。 借助以下Python配方,我们可以通过统计数据来理解ML数据。 单变量图:独立理解属性最简单的可视化类型是单变量或“单变量”可视化。 借助单变量可视化,我们可以独立地理解数据集的每个属性。 以下是Python中用于实现单变量可视化的一些技术。 单变量图和描述 1.直方图 直方图将数据分组到箱中,是了解数据集中每个属性分布的最快方法。 2.密度图 获取每个属性分布的另一种快速简便的技术是密度图。 3.盒和晶须图 Box和Whisker图,简称为boxplots,是审查每个属性分布的分布的另一种有用技术。 多变量图:多个变量之间的相互作用另一种可视化是多变量或“多变量”可视化。 借助多变量可视化,我们可以理解数据集的多个属性之间的交互。 以下是Python中用于实现多变量可视化的一些技术。 多变量图和描述 1.相关矩阵图 相关性表示两个变量之间的变化。 2.Scatter Matrix…

使用Python进行机器学习

ML – 用统计学理解数据 介绍

介绍在处理机器学习项目时,通常我们忽略了两个最重要的部分,称为数学和数据。 这是因为,我们知道ML是一种数据驱动方法,我们的ML模型只会产生与我们提供给它的数据一样好或坏的结果。在上一章中,我们讨论了如何将CSV数据上传到我们的ML项目中,但在上传之前了解数据会很好。 我们可以通过统计和可视化两种方式来理解数据。在本章中,借助以下Python配方,我们将使用统计数据来理解ML数据。 看原始数据 第一个方法是查看原始数据。 查看原始数据非常重要,因为我们在查看原始数据后将获得的洞察力将增加我们更好地预处理以及处理ML项目数据的机会。 检查数据的尺寸对于我们的ML项目,了解行数和列数方面的数据总是一个好习惯。 背后的原因是 假设我们有太多的行和列,那么运行算法和训练模型需要很长时间。假设如果我们的行和列太少,那么我们就没有足够的数据来训练模型。 获取每个属性的数据类型知道每个属性的数据类型是另一个好习惯。 背后的原因是,根据要求,有时我们可能需要将一种数据类型转换为另一种数据类型。 例如,我们可能需要将字符串转换为浮点或int以表示分类或序数值。 我们可以通过查看原始数据来了解属性的数据类型,但另一种方法是使用Pandas DataFrame的dtypes属性。 在dtypes属性的帮助下,我们可以对每个属性数据类型进行分类。 数据统计摘要 我们已经讨论了Python配方来获取数据的行数和列数,但很多时候我们需要查看数据形状的摘要。 它可以在Pandas DataFrame的describe()函数的帮助下完成,该函数进一步提供了每个数据属性的以下8个统计属性: 计数 意思 标准偏差 最低价值…

使用Python进行机器学习

ML项目的数据加载

假设您想要启动ML项目,那么您需要的第一件也是最重要的事情是什么?这是我们为启动任何ML项目而需要加载的数据。对于数据,ML项目最常见的数据格式是CSV(逗号分隔值)。 基本上,CSV是一种简单的文件格式,用于存储表格数据(数字和文本),例如纯文本的电子表格。在Python中,我们可以使用不同的方式加载CSV数据,但在加载CSV数据之前,我们必须注意一些注意事项。 加载CSV数据时的注意事项 CSV数据格式是ML数据最常见的格式,但在将这些格式加载到ML项目中时,我们需要注意以下主要注意事项。 文件头 在CSV数据文件中,标题包含每个字段的信息。我们必须对头文件和数据文件使用相同的分隔符,因为它是指定数据字段应如何解释的头文件。 以下是必须考虑的与CSV文件头相关的两种情况: 案例I:当数据文件具有文件头时 - 如果数据文件具有文件头,它将自动为每列数据分配名称。情况II:当数据文件没有文件头时 - 如果数据文件没有文件头,我们需要手动为每列数据分配名称。 在这两种情况下,我们必须明确指定天气我们的CSV文件是否包含标题。 评论 任何数据文件中的注释都具有其重要性。在CSV数据文件中,注释由行开头的散列(#)表示。我们需要在将CSV数据加载到ML项目时考虑注释,因为如果我们在文件中有注释,那么我们可能需要指示,取决于我们选择加载的方法,是否期望这些注释。 分隔符 在CSV数据文件中,逗号(,)字符是标准分隔符。分隔符的作用是分隔字段中的值。在将CSV文件上传到ML项目时考虑分隔符的作用非常重要,因为我们还可以使用不同的分隔符,例如制表符或空格。但是在使用与标准分隔符不同的分隔符的情况下,我们必须明确指定它。 行情 在CSV数据文件中,双引号(“”)标记是默认引号字符。在将CSV文件上传到ML项目时考虑引号的作用非常重要,因为我们还可以使用其他引号字符而不是双引号。但是如果使用与标准字符不同的引号字符,我们必须明确指定它。 加载CSV数据文件的方法 在处理ML项目时,最关键的任务是将数据正确加载到其中。 ML项目最常见的数据格式是CSV,它有各种各样的风格和不同的解析难度。在本节中,我们将讨论Python中加载CSV数据文件的三种常用方法。 使用Python标准库加载CSV…

使用Python进行机器学习

用Python机器学习 – 方法

有各种ML算法,技术和方法可用于构建模型,以通过使用数据解决实际问题。 在本章中,我们将讨论这些不同类型的方法。 不同类型的方法,以下是基于某些广泛类别的各种ML方法 基于人的监督无监督学习半监督学习强化学习 适合机器学习的任务 下图显示了适用于各种ML问题的任务类型 基于学习能力 在学习过程中,以下是一些基于学习能力的方法 - 批量学习 在许多情况下,我们有端到端机器学习系统,我们需要使用整个可用的训练数据一次训练模型。 这种学习方法或算法称为批处理或离线学习。 它被称为批处理或离线学习,因为它是一次性程序,模型将在一个批处理中使用数据进行训练。 以下是批量学习方法的主要步骤: 步骤1 ,我们需要收集所有训练数据以开始训练模型。 步骤2,通过一次性提供整个训练数据开始模型训练。 步骤3,一旦获得满意的结果/表现,就停止学习/培训过程。 步骤4,将这个训练有素的模型部署到生产中。 在这里,它将预测新数据样本的输出。 在线学习它与批处理或离线学习方法完全相反。 在这些学习方法中,训练数据以多个增量批次(称为小批量)提供给算法。 以下是在线学习方法的主要步骤:…

使用Python进行机器学习

机器学习与Python – 生态系统

Python简介Python是一种流行的面向对象编程语言,具有高级编程语言的功能。 它易于学习的语法和可移植性使它现在很受欢迎。 Python由Guido van Rossum在荷兰的Stichting Mathematisch Centrum开发。它被编写为名为“ABC”的编程语言的继承者。它的第一个版本于1991年发布。Guido van Rossum在一个名为Monty Python的飞行马戏团的电视节目中挑选了Python这个名字。它是一种开源编程语言,这意味着我们可以自由下载并使用它来开发程序。 它可以从www.python.org下载..Python编程语言具有Java和C两者的特性。 它具有优雅的“C”代码,另一方面,它具有类似Java的类和对象,用于面向对象的编程。它是一种解释型语言,这意味着Python程序的源代码首先会被转换为字节码,然后由Python虚拟机执行。 Python的优点和缺点每种编程语言都有一些优点和缺点,Python也是如此。 优势根据研究和调查,Python是第五大最重要的语言,也是机器学习和数据科学最流行的语言。正是因为Python具有以下优势: 易于学习和理解 - Python的语法更简单;因此,即使对于初学者来说,学习和理解语言也相对容易。多用途语言 - Python是一种多用途编程语言,因为它支持结构化编程,面向对象编程以及函数式编程。大量模块--Python拥有大量模块,可以涵盖编程的各个方面。这些模块易于使用,因此使Python成为可扩展的语言。支持开源社区 - 作为一种开源编程语言,Python由一个非常大的开发人员社区提供支持。因此,Python社区可以轻松修复错误。这一特性使Python非常强大和自适应。可伸缩性 - Python是一种可伸缩的编程语言,因为它提供了一种改进的结构,用于支持大型程序而不是shell脚本。…

使用Python进行机器学习

使用Python进行机器学习 – 基础知识

我们生活在“数据时代”,它具有更好的计算能力和更多的存储资源。这些数据或信息日益增加,但真正的挑战是理解所有数据。企业和组织正试图通过使用数据科学,数据挖掘和机器学习的概念和方法构建智能系统来应对它。其中,机器学习是计算机科学中最激动人心的领域。如果我们将机器学习称为为数据提供意义的算法的应用和科学,那就没有错。 什么是机器学习? 机器学习(ML)是计算机科学领域,借助于该计算机科学计算机系统可以以与人类相同的方式提供数据感知。 简单来说,ML是一种人工智能,它通过使用算法或方法从原始数据中提取模式。 ML的主要焦点是允许计算机系统从经验中学习而无需明确编程或人为干预。 需要机器学习 在这个时刻,人类是地球上最聪明,最先进的物种,因为他们可以思考,评估和解决复杂的问题。另一方面,人工智能仍处于起步阶段,在许多方面都没有超越人类智慧。那么问题是什么需要让机器学习?这样做的最合适的理由是“根据数据,效率和规模做出决策”。 最近,组织正在大力投资人工智能,机器学习和深度学习等新技术,以便从数据中获取关键信息,以执行多项实际任务并解决问题。我们可以将其称为机器采用的数据驱动决策,尤其是自动化流程。在不能编程的问题中,可以使用这些数据驱动的决策,而不是使用编程逻辑。事实是,我们离不开人类的智慧,但其他方面是我们都需要以大规模的效率解决现实问题。这就是为什么需要机器学习的原因。 为什么以及何时机器学习? 我们已经讨论过机器学习的必要性,但另一个问题是,在什么情况下我们必须让机器学习?在某些情况下,我们需要机器以高效率和大规模的方式采取数据驱动的决策。以下是使机器学习更有效的一些情况。 缺乏人文专业知识 我们希望机器学习并采取数据驱动决策的第一种情况可能是缺乏人类专业知识的领域。示例可以是未知地区或空间行星的导航。 动态场景 有些情况本质上是动态的,即它们随时间不断变化。在这些场景和行为的情况下,我们希望机器学习并采取数据驱动的决策。一些示例可以是组织中的网络连接和基础架构的可用性。 难以将专业知识转化为计算任务 可能存在人类拥有其专业知识的各种领域;但是,他们无法将这些专业知识转化为计算任务。在这种情况下,我们想要机器学习。这些例子可以是语音识别,认知任务等领域。 机器学习模型 在讨论机器学习模型之前,我们必须要了解米切尔教授给出的以下ML的正式定义 。 “据说计算机程序可以从经验E中学习某些任务T和绩效指标P,如果它在T中的任务中的表现,由P测量,则随经验E而提高。” 上述定义主要关注三个参数,也是任何学习算法的主要组成部分,即任务(T),性能(P)和经验(E)。在这种情况下,我们可以将此定义简化为ML是一个AI领域,由学习算法组成 。 提高他们的表现(P)…

使用Python进行机器学习

使用Python进行机器学习

使用Python教程进行机器学习 借助于机器学习(ML)可以与人类大致相同的方式提供对数据的感知。 简单来说,ML是一种人工智能,它通过使用算法或方法从原始数据中提取模式。 ML的关键重点是允许计算机系统从经验中学习而无需明确编程或人为干预。 机器学习(ML)基本上是计算机科学领域,借助于该计算机科学计算机系统可以以与人类大致相同的方式提供对数据的感知。简单来说,ML是一种人工智能,它通过使用算法或方法从原始数据中提取模式。 ML的关键重点是允许计算机系统从经验中学习而无需明确编程或人为干预。 听众本教程对于对该科目感兴趣或将该科目作为其课程一部分的毕业生,研究生和研究生非常有用。读者可以是初学者或高级学习者。本教程是为学生和专业人士准备的,可以快速提升。本教程是您的机器学习之旅的踏脚石。 先决条件读者必须具备人工智能的基本知识。他/她还应该了解Python,NumPy,Scikit-learn,Scipy,Matplotlib。如果您不熟悉这些概念,我们建议您在深入研究本教程之前先阅读有关这些主题的教程。