独家 | 手把手教你用Python 3创建用于机器学习开发的Linux虚拟机(附安装教程&代码)

Linux是使用Python进行机器学习开发的极佳环境。这些工具能够被简便快捷地安装,并且您可以直接开发和运行大型模型。

在本教程中,您将了解如何使用Python创建和安装用于机器学习的Linux虚拟机。完成本教程后,您将知道:


如何下载和安装VirtualBox来管理虚拟机
如何下载和安装Fedora Linux
如何在Python 3中为机器学习安装一个SciPy环境


如果您的电脑操作系统是Windows、Mac OS X和Linux。那么本教程是适合您的。

Linux虚拟机的好处

您可能有很多原因想要使用Linux虚拟机来进行Python机器学习开发。例如,下面列出了使用虚拟机的5大好处:

  • 使用在本机系统上不可用的工具(如果您的操作系统是Windows)
  • 在不影响本地环境的情况下安装和使用机器学习工具(例如:使用Python 3工具)
  • 为不同的项目(Python2和Python3)提供高度定制的环境
  • 为了节省机器的状态,并准确地找出你离开的地方(从机器转跳到机器)
  • 与其他开发人员共享开发环境(创建一次,多次重用)

也许最有利的一点是第一点,能够很容易地使用不受环境支持的电脑操作系统,使用机器学习工具。

我是一个OS X用户,尽管机器学习工具可以使用BREW和MacPorts安装,我还是认为为机器学习开发安装和使用Linux虚拟机更容易。

概述

本教程分为三个部分:

  1. 下载并安装VirtualBox
  2. 下载并在虚拟机中安装Fedora Linux
  3. 安装Python机器学习环境

1. 下载并安装VirtualBox

VirtualBox是一个用于创建和管理虚拟机的免费开源平台。

一旦安装好,你就可以创建所有你喜欢的虚拟机,只要你有ISO映像或者CD就可以安装。

  • 访问VirtualBox.org
  • 点击“下载VirtualBox”来访问下载页面

  • 为您的虚拟机选择二进制文件
  • 为您的系统安装软件,并遵循安装说明

  • 打开VirtualBox软件并批准它的工作

2.下载并安装Fedora Linux

我选择了Fedora Linux,因为我认为和其他的Linux相比,它更亲切、更温和。对于面向虚拟机和开发人员的RedHat Linux来说,它具有领先优势。

2.1下载Fedora ISO映像

让我们从下载Fedora Linux的ISO开始。Fedora 25为64位版本。

  • 访问getfedora.org
  • 单击“Workstation”访问虚拟机页面
  • 点击“立刻下载”来访问下载页面
  • 在“其他下载”下,点击“64位1.3 GB实时镜像”

  • 您现在应该有一个具有名字的ISO文件: “Fedora-Workstation-Live-x86_64-25-1.3.iso“

现在我们已经准备好在VirtualBox中创建VM了。

2.2创建Fedora虚拟机

现在,让我们在VirtualBox中创建Fedora虚拟机。

  • 打开VirtualBox软件
  • 点击“NEW”按钮
  • 选择名称和操作系统  

          名称:Fedora25

          类型:Linux

          版本:Fedora (64-bit)

          点击:“Continue”

  • 配置内存大小

          2048

  • 配置硬盘

          现在创建一个虚拟硬盘。

          硬盘文件类型。

          VDI(VirtualBox磁盘镜像)。

          物理硬盘上的存储。

          动态分配

          文件位置和大小:10G

现在我们已经准备好从ISO映像安装Fedora。

2.3 Fedora Linux 安装

现在,让我们在新的虚拟机上安装Fedora Linux。

  • 选择新的虚拟机并点击“开始”按钮
  • 单击文件夹图标,选择Fedora ISO文件

          “Fedora-Workstation-Live-x86_64-25-1.3.iso”

  • 点击“开始按钮”
  • 选择第一个选项“Start Fedora-Live-Workstation-Live 25”并按下回车键
  • 点击“ESC”键跳过检查
  • 选择“实时系统用户”
  • 选择“安装到硬盘驱动器”

  • 完成“语言选择”(英语)
  • 完成“安装目标”(“ATA VBOX硬盘”)

          您可能需要等一分钟才能让VM创建硬盘

  • 点击“开始安装”
  • 设置root密码
  • 创建你自己的一个用户

            记下用户名和密码(以便以后可以使用)

            勾选“让这个用户为管理员”(这样您就可以安装软件)

  • 等待安装完成。(大约5分钟)
  • 点击“退出”,点击右上方的电源图标,选择“关机”

2.4 Fedora Linux安装完成

Fedora Linux已经安装;让我们完成最后的安装,使它可以使用。

  • 在VirtualBox选择fedora25 VM,在“存储”下,单击“光盘驱动器”选择“从虚拟驱动器中删除磁盘”,以弹出ISO镜像
  • 单击“开始”按钮启动Fedora Linux的安装
  • 使用你创建的用户登入系统

  • 完成安装

         选择语言“英语”

         点击“下一步”

         选择键盘为“US”

         点击“下一步”

         配置隐私权

         点击“下一步”

         连接你的网络账户

         点击“跳过”

         点击“开始使用Fedora”

  • 关闭自动启动的帮助系统

现在我们有了Fedora Linux虚拟机,准备安装新的软件。

3.安装Python机器学习环境

Fedora使用Gnome 3作为窗口管理器。Gnome 3与之前的Gnome版本有很大的不同;通过使用内置的帮助系统,您可以学习如何使用它。

3.1 安装Python环境

让我们从为机器学习开发安装所需的Python库开始。

  • 打开终端

         点击“Activities”

         输入:“终端”

         点击图标或者按回车键

  • 确认Python3安装

输入:

python3 --version

  • 安装Python机器学习环境。具体地:

          NumPy

          SciPy

          Pandas

          Matplotlib

          Statsmodels

          Scikit-Learn

DNF是一个软件安装系统,正式的yum。第一次运行DNF时,它将更新包的数据库,这可能需要一分钟。

输入:

sudo dnf install python3-numpy python3-scipy python3-scikit-learn python3-pandas python3-matplotlib python3-statsmodels

当提示时输入您的密码,通过按“y”或“enter”来确认安装。

3.2 确认Python环境

现在已经安装了环境,我们可以通过打印每个必需的库的版本来确认它。

  • 打开:“Gedit”.

          点击:“Activities”

          输入:“gedit“

  • 点击图标或者按回车键

在主目录中将其保存为versions.py

# scipy
import scipy
print('scipy: %s' % scipy.__version__)
# numpy
import numpy
print('numpy: %s' % numpy.__version__)
# matplotlib
import matplotlib
print('matplotlib: %s' % matplotlib.__version__)
# pandas
import pandas
print('pandas: %s' % pandas.__version__)
# scikit-learn
import sklearn
print('sklearn: %s' % sklearn.__version__)
# statsmodels
import statsmodels
print('statsmodels: %s' % statsmodels.__version__)

没有复制粘贴的支持;你可能想要在VM中打开Firefox、浏览这个界面并且复制粘贴这个脚本到你的gedit窗口中。

  • 在终端中运行脚本

输入:

python3 versions.py

 

使用VM的技巧

本节列出一些使用VM进行机器学习开发的技巧。

  • 复制粘贴和文件夹共享:这些特性需要在Linux虚拟机中安装“Guest Additions”。我没有能够正确地安装它,因此不使用这些特性。如果你喜欢,你可以试试;请在评论中让我知道你是怎么做的。
  • 使用GitHub:我建议在GitHub中存储所有代码,并从VM中检查代码。这使得从VM中获取代码和资产变得更加容易。
  • 使用Sublime. 我认为对用于Linux开发来说,Sublime是一个很棒的文本编辑器,至少比Gedit好。
  • 使用AWS来做大的工作:您可以使用相同的步骤在Amazon Web Services上安装Fedora Linux,以便在云中运行大型模型。
  • VM工具:通过关闭窗口,您可以在任何时候保存VM。您还可以在任意时刻获取VM的快照,并返回到快照。如果您正在对文件系统进行较大的更改,那么这将是很有帮助的。
  • 您可以轻松地在Linux中安装Python2和Python 3,并使用Python(而不是python3)二进制文件,或者使用替代方案来在两者之间切换。
  • 笔记本:考虑在VM内运行一个笔记本服务器并打开防火墙,这样您就可以在VM之外的主工作站进行连接和运行

你有什么建议可以分享吗?请在评论中告诉我。

扩展阅读

下面是一些关于进一步阅读的资源,如果您对本教程中使用的工具是新手的话。

  • VirtualBox User Manual
  • Fedora Documentation
  • Fedora Wiki (tons of help on common topics)
  • SciPy Homepage
  • Scikit-Learn Homepage

总结

在本教程中,您了解了如何为Python机器学习开发安装Linux虚拟机。

具体来说,你学到了:

  • 如何下载和安装VirtualBox,免费的开源软件来管理虚拟机。
  • 如何下载和安装Fedora Linux,这是一个面向开发者的友好的Linux发行版。
  • 如何为机器学习开发安装和测试一个Python3环境。

你完成了这个教程吗?请在下面的评论中告诉我。

原文发布时间为:2017-11-23

本文作者:Jason Brownlee

本文来自合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

时间: 2024-08-30 09:38:44

独家 | 手把手教你用Python 3创建用于机器学习开发的Linux虚拟机(附安装教程&代码)的相关文章

手把手教你用Python抓取AWS的日志(CloudTrail)数据

数据时代,利用数据做决策是大数据的核心价值.   本文手把手,教你使用python进行AWS的CloudTrail配置,进行日志抓取.进行数据分析,发现数据价值!   如今是云的时代,许多公司都把自己的IT架构部署在基础架构云(IaaS)上.著名的IaaS提供商有亚马逊,微软(Azure),IBM等,国内也有诸如阿里云等.其中,亚马逊毫无疑问是该市场的领军者.   AWS提供了非常多的服务,领先了竞争对手一大截.并且AWS提供非常丰富的API,其API基于Rest,所以很容易被不同的语言的平台来

手把手教你用Python抓取热门景点热力图!(附代码)

国庆倒计时1天,我们即将迎来8天的小长假,相信很多小伙伴们已经提前规划国庆去哪儿?你是选择去人最少的单位加班呢?还是选择人山人海的景点观光? 如果去人最少的单位加班,一定要记得告知老板,以望升职加薪走上人生巅峰: 如果选择人山人海的景点,一定要提前查看攻略,比如下文中使用 Python 技术抓取热门景点的热力图. 金秋九月,丹桂飘香,在这秋高气爽,阳光灿烂的收获季节里,我们送走了一个个暑假余额耗尽哭着走向校园的孩子们,又即将迎来一年一度伟大祖国母亲的生日趴体(无心上班,迫不及待想为祖国母亲庆生)

手把手教你用 Python 和 Scikit-Learn 实现垃圾邮件过滤

文本挖掘(Text Mining,从文字中获取信息)是一个比较宽泛的概念,这一技术在如今每天都有海量文本数据生成的时代越来越受到关注.目前,在机器学习模型的帮助下,包括情绪分析,文件分类,话题分类,文本总结,机器翻译等在内的诸多文本挖掘应用都已经实现了自动化. 在这些应用中,垃圾邮件过滤算是初学者实践文件分类的一个很不错的开始,例如 Gmail 账户里的"垃圾邮箱"就是一个垃圾邮件过滤的现实应用.下面我们将基于一份公开的邮件数据集 Ling-spam,编写一个垃圾邮件的过滤器.Ling

大神手把手教你:(Python)序列数据的One Hot编码

更多深度文章,请关注:https://yq.aliyun.com/cloud 机器学习算法无法直接用于数据分类.数据分类必须转换为数字才能进一步进行. 在本教程中,你将发现如何将输入或输出的序列数据转换为一种热编码,以便于你在Python中深度学习的序列分类问题中使用. 看完本教程后,你将会了解: ·   1.什么是整数编码和One-Hot编码,以及为什么它们在机器学习中是必需的. ·   2.如何在Python中手工计算一个整数编码和One-Hot编码. ·   3.如何使用scikit-le

手把手教你使用VB来创建ASP组件

创建 一.什么是组件 组件是包含可以更改的数据形式的代码的对象,是可用代码的封装,这些代码可以用来执行应用程序的一些功能,如从数据库中检索某些信息等功能.现在经常听人说起COM,其使它的意思是组件对象模型(Component Object Model),是由微软开发的可以在Windows平台上执行的对象模型,COM定义了组件之间的交互能力.为COM编写的组件可以重复使用,并不依赖于编写所用的语言,比如说,一个组件可以用VB,VC++甚至是Java来编写,总之,只要遵守COM规范就可以了. 二.为

手把手教你在.NET中创建Web服务实现方法

 这篇文章主要介绍了.NET中创建Web服务实现方法,有需要的朋友可以参考一下 最近发现在.NET平台下使用Web服务还是很简单的. 下面举个在.NET平台下创建Web服务的简单例子.首先用Visul Studio .Net创建一个C# 项目Asp.Net Web服务程序,源代码如下: 代码如下: using System; using System.Collections; using System.ComponentModel; using System.Data; using System

独家 | 手把手教你用scrapy制作一个小程序 !(附代码)

目录 一.前言 二.原理 2.1 爬取流程 2.2 各部块的解释 2.3 scrapy数据流的分析 三.理解 四.实战 4.1 首先是安装scrapy 4.2 建立项目和下载pycharm以及pycharm的配置 4.3 提取标题名和作者名 4.4 scrapy流程解析 4.5 小项目难度加深 五.对scrapy建立项目的feedback 5.1 如何更快地找 bug 5.2 共存解释器可能导致的种种报错 六.知识补充 6.1 Spider中的类和方法 一. 前言 Scrapy是用于Python

独家 | 手把手教数据可视化工具Tableau

前言 数据的世界正在发生急剧变化,任何人都应该访问自己需要的数据,并具备获取任何数据的洞察力,而tableau正是帮我们洞察数据的好帮手. Tableau作为BI tool leader ( 2016 Gartner BI chart), 它不仅是一款可视化软件,还具备不可忽略的强大的Data connection, collaboration, security management, multi-platform功能性: Data connection:Tableau Desktop可直接连

独家 | 手把手教随机森林

随机森林-概述   当变量的数量非常庞大时,你将采取什么方法来处理数据?   通常情况下,当问题非常庞杂时,我们需要一群专家而不是一个专家来解决问题.例如Linux,它是一个非常复杂的系统,因此需要成百上千的专家来搭建.   以此类推,我们能否将许多专家的决策力,并结合其在专业领域的专业知识,应用于数据科学呢?现在有一种称为"随机森林"的技术,它就是使用集体决策来改善单一决策产生的随机结果.在这种方法中,每个软件"专家"使用树型算法来完成它们的任务,然后使用这样的树