首页 > 后端开发 > Python教程 > Python的机器学习简介

Python的机器学习简介

William Shakespeare
发布: 2025-02-27 11:18:20
原创
983 人浏览过

机器学习是使计算机能够在不明确编程的情况下学习的能力。这是通过向计算机提供数据并将数据转换为决策模型的数据来完成的,然后将其用于未来的预测。

>

在本教程中,我们将讨论机器学习以及开始机器学习所需的一些基本概念。我们还将设计一些python示例来预测某些元素或事件。

机器学习介绍

机器学习是一种旨在从经验中学习的技术。例如,作为人类,您可以通过观察其他人下棋来学习如何下棋。以同样的方式,计算机是通过为它们提供的数据来编程的,然后能够从中预测未来的元素或条件。您可能会发现编写这样的程序很容易,它将给出所需的结果,但您可能还会发现该程序对大型数据集没有有效的作用。这是机器学习开始发挥作用的地方。

在机器学习中涉及各种步骤:

数据收集数据
  1. >
  2. 分析数据
  3. algorithm培训
  4. algorithm培训

Machine learning uses different kinds of algorithms to find patterns, and these algorithms are classified into two groups:

supervised learning

unsupervised learning

Supervised Learning

    Supervised learning is the science of training a computer to recognize elements by giving it sample data.然后,计算机从中学习,并可以基于学到的数据来预测未来的数据集。 Facebook,根据某个描述搜索图像。现在,您可以在Facebook上搜索图像,其中描述了照片的内容。由于社交网站已经具有字幕图像的数据库,因此可以搜索并匹配描述与照片中的特征,以一定程度的准确性。
  • 在监督学习中只涉及两个步骤:
  • >

培训测试
  • decision trees
  • support vector machines
  • naive Bayes
  • k-nearest neighbor
  • linear regression
  • Machine Learning With the Sklearn Library

    Sklearn is a machine learning library for the Python programming language with a range of features such as multiple analysis, regression,和聚类算法。我们将编写一个简单的程序,以说明监督学习如何使用Sklearn库和Python语言进行。  

    > Sklearn还与Numpy和Scipy库很好地互操作。

    >

    >安装Sklearn

    > SKLEARN安装指南为多个平台提供了一种非常简单的方法。它需要几个依赖性:

    • python(> = 3.6),
    • numpy(最小版1.17.3)
    • scipy(min 1.3.2)
    >

    pip install -U scikit-learn<br>
    登录后复制
    登录后复制

    简单地安装Anaconda。这要照顾所有依赖性,因此您不必担心一个一个一个。

    >

    来测试Sklearn是否正常运行,只需从python解释器中导入它:
     Python 3.9.12 (main, Apr  5 2022, 06:56:58) <br>[GCC 7.5.0] :: Anaconda, Inc. on linux<br>Type "help", "copyright", "credits" or "license" for more information.<br>>>> import sklearn<br>>>> <br>
    登录后复制
    登录后复制

    ,如果不会出现错误,那么您就可以完成了。我们希望能够区分不同动物。因此,我们将设计一种算法,该算法可以专门告诉给定的动物是马还是鸡。

    from sklearn import tree<br>
    登录后复制
    登录后复制
    我们首先需要从每种类型的动物中收集一些样本数据。一些示例数据如下表所示。

    features = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]]<br>
    登录后复制
    登录后复制
    定义要使用的动物分类的功能。

    #labels = [chicken, chicken, horse, horse]<br><br># we use 0 to represent a chicken and 1 to represent a horse<br><br>labels = [0, 0, 1, 1]<br>
    登录后复制
    登录后复制
    >定义每个分类器将提供的输出。鸡的代表为0,而一匹马将以1表示。然后,我们定义基于决策树的分类器。这是预测高度为7英寸,重量为0.6 kg的动物,温度为41:

    classifier = tree.DecisionTreeClassifier()<br>
    登录后复制
    登录后复制
    >以下是如何预测高度38英寸的动物,重量为600 kg,温度为37.5:37.5:37.5:

    >

    classifier.fit(features, labels)<br>
    登录后复制
    登录后复制

    from sklearn import tree<br>features = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]]<br>#labels = [chicken, chicken, horse, horse] 
    labels = [0, 0, 1, 1]
    classif = tree.DecisionTreeClassifier()
    classif.fit(features, labels)
    登录后复制

    from sklearn import tree<br>features = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]]<br>
    #labels = [chicken, chicken, horse, horse]
    labels = [0, 0, 1, 1]
    classif = tree.DecisionTreeClassifier()
    classif.fit(features, labels)
    print(classif.predict([[7, 0.6, 41]]))
    登录后复制

    from sklearn import tree<br>features = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]]<br>#labels = [chicken, chicken, horse, horse]
    labels = [0, 0, 1, 1]
    classif = tree.DecisionTreeClassifier()
    classif.fit(features, labels)
    print(classif.predict([[38, 600, 37.5]]))
    # output
    # [1] or a Horse

    线性回归

    在第二个示例中,我们将使用更大的数据集来执行线性回归。 根据Wikipedia的

    >

    >

    在统计中,

    线性回归是一种线性方法,用于建模标量响应与一个或多个解释性变量之间的关系(也称为相关变量和自变量)。

    >

    可以在此处找到数据集。将CSV文件下载到您的工作目录中

    >让我们开始导入必要的依赖项。

    pip install -U scikit-learn<br>
    登录后复制
    登录后复制

    >接下来,将CSV数据加载到pandas dataframe。输出:

     Python 3.9.12 (main, Apr  5 2022, 06:56:58) <br>[GCC 7.5.0] :: Anaconda, Inc. on linux<br>Type "help", "copyright", "credits" or "license" for more information.<br>>>> import sklearn<br>>>> <br>
    登录后复制
    登录后复制

    ,如上所述,数据包含1960年至2016年不同国家的GDP。下一步是创建x和y维数阵列。型号。

    from sklearn import tree<br>
    登录后复制
    登录后复制
    以下是图:

    >
    features = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]]<br>
    登录后复制
    登录后复制
    >

    #labels = [chicken, chicken, horse, horse]<br><br># we use 0 to represent a chicken and 1 to represent a horse<br><br>labels = [0, 0, 1, 1]<br>
    登录后复制
    登录后复制

    >

    >无监督的学习是当您仅使用一组输入来训练计算机时。然后,机器将能够找到输入数据与您可能想要预测的其他任何其他关系之间的关系。与监督学习不同,在您向机器展示一些可以进行培训的机器的情况下,无监督的学习旨在使计算机查找不同数据集之间的模式或关系。
    classifier = tree.DecisionTreeClassifier()<br>
    登录后复制
    登录后复制

    无监督的学习可以进一步细分为:

    classifier.fit(features, labels)<br>
    登录后复制
    登录后复制

    Python的机器学习简介

    clustering

    • 关联>关联>

      关联是您确定描述大量数据的规则。这种类型的学习可以适用于基于作者或类别的书籍,无论是动机,虚构的还是教育的书籍。

      >

      >一些流行的无监督的学习算法包括:

      • 教程帮助您开始了机器学习。这只是一个介绍 - 机器学习可以覆盖很多,这只是机器学习可以做的一小部分。 Sklearn只是机器学习中使用的库之一。其他库包括Tensorflow和Keras。 此外,
      • >
      ,请随时查看我们可以在Envato Market上出售的东西。

      >

      >您决定使用受监督或无监督的机器学习算法的决定取决于各种因素,例如数据的结构和大小。在预防欺诈方面,在社交媒体网站上个性化新闻源,以适合用户的喜好,电子邮件和恶意软件过滤,天气预报,甚至在电子商务领域,以预测消费者购物习惯。

      >

    以上是Python的机器学习简介的详细内容。更多信息请关注PHP中文网其他相关文章!

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    作者最新文章
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板