返回顶部
首页 > 资讯 > 前端开发 > node.js >JuypterNotebook中最有帮助的项目设置有哪些
  • 283
分享到

JuypterNotebook中最有帮助的项目设置有哪些

2024-04-02 19:04:59 283人浏览 安东尼
摘要

这篇文章主要介绍“JuypterNotebook中最有帮助的项目设置有哪些”,在日常操作中,相信很多人在JuypterNotebook中最有帮助的项目设置有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单

这篇文章主要介绍“JuypterNotebook中最有帮助的项目设置有哪些”,在日常操作中,相信很多人在JuypterNotebook中最有帮助的项目设置有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JuypterNotebook中最有帮助的项目设置有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 确保Python版本

检查JupyterNotebook中的python解释器版本:

import sys sys.version'3.7.6 (default, Jan 8 2020, 13:42:34) \n[Clang 4.0.1 (tags/RELEASE_401/final)]'

为确保项目由Python解释器的最低及以上要求版本运行,可在项目设置中添加以下代码:

# Python ≥3.7 is required import sys assert sys.version_info >= (3, 7)

Python需要为3.7及以上版本,否则会抛出AssertionError。

2. 确保程序包版本

检查安装的程序包版本,如Tensorflow

import tensorflow as tf tf.__version__'2.0.0'

确保项目是由TensorFlow2.0及以上版本运行的,否则会抛出AssertionError。

# TensorFlow ≥2.0 is required import tensorflow as tf assert tf.__version__ >= "2.0"

3. 避免绘制模糊图像

JuypterNotebook中的默认绘图看起来有些模糊。例如,一张查找缺失值的简单热图。

(https://towardsdatascience.com/using-pandas-pipe-function-to-improve-code-readability-96d66abfaf8)

import seaborn as sns import matplotlib.pyplot as plt %matplotlib inline# Default figure fORMat png sns.heatmap(df.isnull(),             yticklabels=False,             cbar=False,             cmap='viridis')

JuypterNotebook中最有帮助的项目设置有哪些

默认图像看起来很模糊

由上图可以看出,文本很模糊,Cabin栏中的缺失值过于拥挤,Embarked栏中的缺失值无法识别。

要解决这个问题,可在%matplotlib inline之后使用%config InlineBackend.figure_format='retina'或 %configInlineBackend.figure_format = 'svg',即:

%matplotlib inline %config InlineBackend.figure_format = 'retina'         # or 'svg'sns.heatmap(df.isnull(),             yticklabels=False,             cbar=False,             cmap='viridis')

JuypterNotebook中最有帮助的项目设置有哪些

图片格式设置为retina或svg

与先前的图片比较,上图更加清晰,Embarked栏中的缺失值也能成功识别。

4. 在不同运行中保持输出稳定

数据科学项目中很多地方都在使用随机数字。例如:

  • 来自Scikit-Learn的 train_test_split()

  • 用于初始化权重的np.random.rand()

若未重置随机种子,则每次调用都会出现不同的数字:

>>> np.random.rand(4) array([0.83209492, 0.10917076, 0.15798519, 0.99356723]) >>> np.random.rand(4) array([0.46183001, 0.7523687 , 0.96599624, 0.32349079])

np.random.seed(0)使随机数字可预测:

>>> np.random.seed(0) >>> np.random.rand(4) array([0.5488135 , 0.71518937, 0.60276338, 0.54488318]) >>> np.random.seed(0) >>> np.random.rand(4) array([0.5488135 , 0.71518937, 0.60276338, 0.54488318])

如果(每次)都重置随机种子,那么每次都会出现相同的数据组。因此,项目能在不同运行中保持输出稳定。

5. 多单元输出

默认情况下,JupyterNotebook不能在同一单元中输出多种结果。要输出多种结果,可使用IPython重新配置shell

from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"

JuypterNotebook中最有帮助的项目设置有哪些

6. 将图片保存到文件

Matplotlib能通过savefig()方法保存图片,但如果给定路径不存在则会引发错误。

plt.savefig('./figures/my_plot.png')FileNotFoundError: [Errno 2] Nosuch file or directory: './figures/my_plot.png'

最好的做法是将所有图片都放到一个地方,如工作区的figures文件夹。可使用OS GUI(操作系统界面)或是在JupyterNotebook中运行logic指令,来手动创建一个figures文件夹,但是最好创建一个小函数来实现该操作。

当需要一些自定义图形设置或附加子文件夹来分组图形时,这种方法尤其适用。以下是将图片保存到文件的函数:

import os %matplotlib inline import matplotlib.pyplot as plt# Where to save the figures PROJECT_ROOT_DIR = "." SUB_FOLDER = "sub_folder"    #a sub-folder IMAGES_PATH = os.path.join(PROJECT_ROOT_DIR, "images", SUB_FOLDER)defsave_fig(name, images_path=IMAGES_PATH, tight_layout=True,extension="png", resolution=300):     if not os.path.isdir(images_path):         os.makedirs(images_path)     path = os.path.join(images_path, name+ "." + extension)     print("Saving figure:",name)     if tight_layout:         plt.tight_layout()     plt.savefig(path, format=extension,dpi=resolution)

现在调用save_fig('figure_name'),会在工作区中创建一个images/sub_folder目录,图片以“figure_name.png”名称被保存到目录中。此外,还提供了三个最常用的设置:

  • tight_layout 能自动调整子图填充

  • extension 能以多种格式保存图片

  • resolution 可设置图片分辨率

JuypterNotebook中最有帮助的项目设置有哪些

JuypterNotebook中最有帮助的项目设置有哪些

7. 下载数据(并解压)

处理网络数据对于数据科学工作者是常事。可以使用浏览器下载数据,并运行指令来解压文件,但最好的是创建一个小函数来执行该操作。当数据需要定期更改时,这一点尤其重要。

编写一个小脚本,在获取最新数据时运行(也可以设置一个定期自动执行的计划工作)即可。如果需要在多台机器上安装数据集,自动化抓取数据流程也十分有用。

以下是下载并解压数据的函数:

import os import tarfile import zipfile import urllib   # Where to save the data PROJECT_ROOT_DIR = "." SUB_FOLDER = "group_name" LOCAL_PATH = os.path.join(PROJECT_ROOT_DIR, "datasets", SUB_FOLDER)defdownload(file_url, local_path = LOCAL_PATH):     if not os.path.isdir(local_path):         os.makedirs(local_path)             # Download file     print(">>>downloading")     filename = os.path.basename(file_url)     file_local_path =os.path.join(local_path, filename)     urllib.request.urlretrieve(file_url,file_local_path)         # untar/unzip file     if filename.endswith("tgz")or filename.endswith("tar.gz"):         print(">>>unpacking file:", filename)         tar =tarfile.open(file_local_path, "r:gz")         tar.extractall(path = local_path)         tar.close()     eliffilename.endswith("tar"):         print(">>> unpackingfile:", filename)         tar =tarfile.open(file_local_path, "r:")         tar.extractall(path = local_path)         tar.close()     eliffilename.endwith("zip"):         print(">>>unpacking file:", filename)         zip_file = zipfile.ZipFile(file_local_path)         zip_file.extractall(path =local_path)         zip_file.close()     print("Done")

现在调用download("Http://a_valid_url/housing.tgz"),会在工作区创建一个datasets/group_name目录,下载housing.tgz,并从该目录中提取出housing.csv ,这个小函数也能用于CSV和文本文件。

到此,关于“JuypterNotebook中最有帮助的项目设置有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: JuypterNotebook中最有帮助的项目设置有哪些

本文链接: https://lsjlt.com/news/84756.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JuypterNotebook中最有帮助的项目设置有哪些
    这篇文章主要介绍“JuypterNotebook中最有帮助的项目设置有哪些”,在日常操作中,相信很多人在JuypterNotebook中最有帮助的项目设置有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 对开发有帮助的JS技巧有哪些
    这篇文章主要介绍“对开发有帮助的JS技巧有哪些”,在日常操作中,相信很多人在对开发有帮助的JS技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”对开发有帮助的JS技巧有...
    99+
    2024-04-02
  • Git Bash有哪些功能可以帮助你更好地管理Java项目中的日志?
    Git Bash是一款非常实用的命令行工具,可以帮助开发人员更好地管理Java项目中的日志。在本文中,我们将介绍Git Bash的一些功能,以及如何使用它们来管理Java项目中的日志。 Git Bash是一个基于Git的命令行界面,可以在W...
    99+
    2023-06-02
    日志 git bash
  • 有哪些最佳实践可以帮助你在PHP中有效地同步Shell日志?
    在PHP中,同步Shell日志是一个非常常见的需求。而如何在PHP中有效地同步Shell日志呢?本文将介绍几个最佳实践,帮助你在PHP中更加高效地同步Shell日志。 1.使用PHP的exec函数 PHP提供了exec函数,可以在PHP中执...
    99+
    2023-08-18
    同步 shell 日志
  • 有哪些Java编写的算法可以帮助你解决LeetCode的题目?
    Java作为一种高性能、高可靠性、多平台的编程语言,在算法领域也表现出了出色的优势。LeetCode是一个算法在线学习网站,提供了大量的算法题目,包括数据结构、排序、查找等各种类型的算法题目。本文将介绍一些Java编写的算法,帮助你解决Le...
    99+
    2023-09-23
    索引 npm leetcode
  • Vue项目中的问题有哪些
    本篇内容主要讲解“Vue项目中的问题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue项目中的问题有哪些”吧!列表进入详情页的传参问题例如商品列表页面前...
    99+
    2024-04-02
  • Python中有哪些库可以帮助加载HTTP对象?
    HTTP是Web开发中最常用的协议之一,用于在客户端和服务器之间传递数据。在Python中,有许多库可以帮助我们加载HTTP对象,让我们来一一了解。 urllib Python标准库中的urllib模块提供了一组用于操作URL的标准接...
    99+
    2023-09-28
    load http 对象
  • ip代理对信息采集的帮助有哪些
    本篇内容主要讲解“ip代理对信息采集的帮助有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ip代理对信息采集的帮助有哪些”吧!大数据时代,信息采集是一项繁重而琐碎的工作,如果依靠人力,无疑是...
    99+
    2023-06-20
  • Java项目中类的关系有哪些
    这篇文章给大家介绍Java项目中类的关系有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java类之间的关系图在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继...
    99+
    2023-05-31
    java 中类 ava
  • 有哪些超实用CSS技巧帮助设计师和开发者
    这篇文章主要介绍“有哪些超实用CSS技巧帮助设计师和开发者”,在日常操作中,相信很多人在有哪些超实用CSS技巧帮助设计师和开发者问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些超实用CSS技巧帮助设计师和...
    99+
    2023-06-08
  • 有哪些Java编写的LeetCode题目可以帮助你提高算法能力?
    Java是一种广泛使用的编程语言,而LeetCode是一个非常受欢迎的在线编程平台,它提供了大量的算法题目,能够帮助程序员提高算法能力。在这篇文章中,我们将介绍一些Java编写的LeetCode题目,这些题目可以帮助你提高算法能力。 两数...
    99+
    2023-09-23
    索引 npm leetcode
  • 开发小程序对用户的生活有哪些帮助
    这篇文章主要为大家展示了“开发小程序对用户的生活有哪些帮助”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“开发小程序对用户的生活有哪些帮助”这篇文章吧。小程序对用户的帮助可以简单从四个方面谈起,也...
    99+
    2023-06-27
  • 云服务器项目有哪些类型的设备
    云服务器项目有很多种类型的设备,以下是其中的一些: 刀片服务器:这种机器通常用于构建服务器,具有更好的灵活性、可扩展性和可靠性。它们通常有两个或多个集群,每个集群可以运行多个应用程序,并且每个应用程序可以运行在不同的主机上。它们的价格通...
    99+
    2023-10-27
    类型 服务器 项目
  • c++项目中队列的作用有哪些
    这期内容当中小编将会给大家带来有关c++项目中队列的作用有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。队列,是一种先进先出(FIFO)的线性表,一般来说会使用链表或者数组来实现它。队列被允许从后端(...
    99+
    2023-06-06
  • mvc在Java项目中的作用有哪些
    这期内容当中小编将会给大家带来有关mvc在Java项目中的作用有哪些 ,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MVC全名是Model View Controller,是模型(model)-视图(vi...
    99+
    2023-05-31
    java mvc
  • hashCode在Java项目中的作用有哪些
    本篇文章为大家展示了hashCode在Java项目中的作用有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。详解Java中hashCode的作用以下是关于HashCode的官方文档定义:hashc...
    99+
    2023-05-31
    java hashcode
  • gitee中更新项目的方法有哪些
    这篇文章主要介绍了gitee中更新项目的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇gitee中更新项目的方法有哪些文章都会有所收获,下面我们一起来看看吧。第一步:克隆项目在更新Gitee项目之前,...
    99+
    2023-07-05
  • 可在JavaScript项目中使用的有用API有哪些
    这篇文章将为大家详细讲解有关可在JavaScript项目中使用的有用API有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。术语API是首字母缩写词,代表...
    99+
    2024-04-02
  • 有哪些最佳实践可以帮助您在使用NPM时提高效率?
    NPM(Node Package Manager)是一款非常流行的包管理工具,它可以帮助开发者轻松地安装、升级和管理Node.js模块。对于开发人员来说,NPM是一个非常重要的工具,它可以帮助您提高工作效率,使您的开发过程更加顺畅。在本文中...
    99+
    2023-06-21
    并发 ide npm
  • Vue项目中实用组件有哪些
    这篇文章将为大家详细讲解有关Vue项目中实用组件有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue 路由中的懒加载你真的用好了路由的懒加载吗?在 2.x 的文档中...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作