iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >数据科学家该了解的Python自动库有哪些
  • 248
分享到

数据科学家该了解的Python自动库有哪些

2023-06-16 03:06:55 248人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“数据科学家该了解的python自动库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据科学家该了解的Python自动库有哪些”吧!1.auto-sklearnauto-s

本篇内容主要讲解“数据科学家该了解的python自动库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据科学家该了解的Python自动库有哪些”吧!

1.auto-sklearn

auto-sklearn是一个自动机器学习工具包,无缝集成业内许多人都熟悉的标准sklearn界面。通过使用贝叶斯优化等最新方法,构建库来导航可能的模型空间,并学习推断特定的配置是否能很好地完成给定任务。

这个库是由Matthias  Feurer等人创建,其技术细节在一篇名为《高效和鲁棒机器学习》的论文中进行了描述。Feurer写道:“我们引入了一个基于scikit-learn的新鲁棒性自动系统——使用15个分类器、14个特征预处理方法和4个数据预处理方法生成110个超参数的结构化假设空间。”

auto-sklearn可能是入门AutoML的最佳库。除了挖掘数据集的数据准备和模型选择之外,它还能学习类似数据集上性能良好的模型。

数据科学家该了解的Python自动库有哪些

图源:Efficient and Robust Automated Machine Learning(2015)

在有效实施的基础上,auto-sklearn将所需用户交互降至最低。可以使用pip install auto-sklearn来安装库。

可以使用的两大类是Auto Sklearn Classifier和Auto Sklearn  Regressor,分别用于分类和回归任务。两者都有相同的用户指定参数,其中最重要的是时间限制和集成大小。

import autosklearn as ask             #ask.regression.AutoSklearnRegressor()for regression tasks             model =ask.classification.AutoSklearnClassifier(ensemble_size=10, #size of the endensemble (minimum is 1)                                                             time_left_for_this_task=120, #the number ofseconds the process runs for                                                             per_run_time_limit=30) #maximum secondsallocated per model             model.fit(X_train, y_train) #begin fittingthe search model             print(model.sprint_statistics()) #printstatistics for the search             y_predictions = model.predict(X_test) #get predictionsfrom the model

2.TPOT

TPOT是另一个自动化建模管道的Python库,它更强调数据准备、建模算法和模型超参数。它通过一种进化的基于树结构自动化特征选择、预处理和构造,“该结构称为基于树管道优化工具(TPOT),可以自动设计和优化机器学习管道。”

数据科学家该了解的Python自动库有哪些

图源:数据科学自动化中基于树的流水线优化工具的评价(2016)

程序或管道以树状图呈现。遗传程序选择并进化某些程序,以最大化每个自动机器学习管道的最终结果。

正如Pedro  DominGos所说:“一个拥有大量数据的愚蠢算法胜过一个拥有有限数据的聪明算法。”事实确实如此,TPOT可以生成复杂的数据预处理管道。

数据科学家该了解的Python自动库有哪些

图源:TPOT documentation

就像许多AutoML算法一样,TPOT管道优化器可能要花几个小时才能产生好的结果,你可以在Kaggle  commits或者谷歌Colab中运行这些长时间的程序。

import tpot       pipeline_optimizer = tpot.TPOTClassifier(generations=5, #number ofiterations to run the training                                               population_size=20, #number ofindividuals to train                                                cv=5) #number of foldsin StratifiedKFold       pipeline_optimizer.fit(X_train, y_train) #fit thepipeline optimizer - can take a long time       print(pipeline_optimizer.score(X_test, y_test)) #print scoringfor the pipeline       pipeline_optimizer.export( tpot_exported_pipeline.py ) #export thepipeline - in Python code!

也许TPOT的最佳特性是可以将模型导出为Python代码文件,方便以后使用。

3.HyperOpt

由James  Bergstra开发的HyperOpt是一个用于贝叶斯优化的Python库。为大规模优化具有数百个参数的模型而设计,该库明确用于优化机器学习管道,并具有在多个核和机器之间扩展优化过程的选项。

“我们的方法是公开一个性能度量(例如验证示例上的分类精度)如何从超参数计算的底层表达式图,这些超参数不仅控制单个处理步骤的应用,而且甚至控制包含哪些处理步骤。”

然而,HyperOpt很难直接使用,因为它存在技术壁垒,需要仔细指定优化过程和参数。我建议使用HyperOpt-sklearn,这是一个包含sklearn库的HyperOpt包装器。

具体来说,尽管HyperOpt支持预处理,但其主要关注几十个进入特定模型的超参数。考虑一次HyperOpt-sklearn搜索的结果,在没有进行预处理的情况下,得到了一个梯度增强分类器:

{ learner : GradientBoostinGClassifier(ccp_alpha=0.0, criterion= friedman_mse , init=None,     learning_rate=0.009132299586303643, loss= deviance ,     max_depth=None, max_features= sqrt ,     max_leaf_nodes=None, min_impurity_decrease=0.0,     min_impurity_split=None, min_samples_leaf=1,     min_samples_split=2, min_weight_fraction_leaf=0.0,     n_estimators=342, n_iter_no_change=None,     presort= auto , random_state=2,     subsample=0.6844206624548879, tol=0.0001,     validation_fraction=0.1, verbose=0,     warm_start=False),  preprocs : (),  ex_preprocs : ()}

构建HyperOpt-sklearn模型的文档提到,它比auto-sklearn要复杂得多,比TPOT稍微复杂一点。但如果超参数的作用很重要,那么多余的繁琐工作也是值得的。

4.AutoKeras

与标准的机器学习库相比,神经网络深度学习要强大得多,因此也更难实现自动化。

  • 使用AutoKeras,神经结构搜索算法会找到最好的结构,比如一层中的神经元数量,层的数量,要合并的层,层的特定参数,比如过滤器的大小或Dropout中丢失的神经元的百分比等等。一旦搜索完成,就可以将其当作一个普通的Tensorflow/Keras模型来使用这个模型。

  • 通过使用AutoKeras,你可以构建一个包含复杂元素的模型,比如嵌入和空间缩减,否则那些仍在摸索深度学习的人将很难获得这些元素。

  • 当AutoKeras创建模型时,已完成并优化许多预处理,如向量化或清理文本数据。

  • 启动和训练搜索只需要两行代码。而AutoKeras拥有一个类似于keras的界面,所以它易于记忆和使用。

AutoKeras支持文本、图像和结构化数据,并为初学者和那些希望深入技术知识的人提供接口,AutoKeras使用进化神经结构搜索方法来消除困难和歧义。尽管AutoKeras运行的时间很长,但有许多用户指定的参数可用来控制运行时间、探索的模型数量、搜索空间大小等。

Hyperparameter      |Value     |BestValueSoFar                  text_block_1/block_type|transfORMer|transformer                        classification_head_1/dropout|0         |0                                  optimizer           |adam      |adam                               learning_rate       |0.001     |0.001                              text_block_1/max_tokens|20000     |20000                              text_block_1/text_to_int_sequence_1/output_sequence_length|200       |200                                text_block_1/transformer_1/pretraining|none     |none                               text_block_1/transformer_1/embedding_dim|32        |32                                 text_block_1/transformer_1/num_heads|2         |2                                  text_block_1/transformer_1/dense_dim|32        |32                                 text_block_1/transformer_1/dropout|0.25      |0.25                               text_block_1/spatial_reduction_1/reduction_type|global_avg|global_avg                         text_block_1/dense_block_1/num_layers|1         |1                                  text_block_1/dense_block_1/use_batchnorm|False     |False                              text_block_1/dense_block_1/dropout|0.5       |0.5                                text_block_1/dense_block_1/units_0|20        |20

应该使用哪一个自动库呢?

  • 如果你首选整洁、简单的界面和相对快速的结果,请使用auto-sklearn。可以与sklearn的自然集成,与常用的模型和方法一起使用。

  • 如果注重的是高精确度而不介意训练所需消耗时间较长,可以使用TPOT。可通过用树状结构代表管道而达成其强调的先进预处理方法,它还能额外输出最佳模型的Python代码。

  • 如果注重高精确度而不介意潜在的较长训练时间,则使用HyperOpt-sklearn,强调模型的超参数优化是否有成效取决于数据集和算法。

  • 如果你的问题涉及神经网络,特别是文本或图像形式的问题,请使用AutoKeras。其训练确实需要很长时间,但有大量的措施可以控制时间和搜索空间的大小。

想实现自动化,千万不要错过这四个库。

到此,相信大家对“数据科学家该了解的Python自动库有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 数据科学家该了解的Python自动库有哪些

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据科学家该了解的Python自动库有哪些
    本篇内容主要讲解“数据科学家该了解的Python自动库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“数据科学家该了解的Python自动库有哪些”吧!1.auto-sklearnauto-s...
    99+
    2023-06-16
  • 常用的Python数据科学库有哪些
    本篇内容主要讲解“常用的Python数据科学库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“常用的Python数据科学库有哪些”吧!  1、Pandas ...
    99+
    2024-04-02
  • 有哪些实用的数据科学Python库
    这篇文章主要介绍了有哪些实用的数据科学Python库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇有哪些实用的数据科学Python库文章都会有所收获,下面我们一起来看看吧。一、Wget从网络上提取数据是数据科学...
    99+
    2023-07-06
  • 常用数据科学Python库有哪些
    本篇内容介绍了“常用数据科学Python库有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PandasPandas库[3]对于致力于探索...
    99+
    2023-06-15
  • 有哪些Python数据科学软件包
    本篇内容介绍了“有哪些Python数据科学软件包”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!№1:Gleam您听说过Plotly,听说过M...
    99+
    2023-06-16
  • 数据科学领域常用的Python包有哪些
    这篇文章主要介绍“数据科学领域常用的Python包有哪些”,在日常操作中,相信很多人在数据科学领域常用的Python包有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据科学领域常用的Python包有哪些...
    99+
    2023-06-02
  • 有哪些Python库可助你构建数据科学应用程序
    今天就跟大家聊聊有关有哪些Python库可助你构建数据科学应用程序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。数据科学三分天下,Python占其一。下面,将会介绍7个Python库...
    99+
    2023-06-15
  • Python中最受欢迎的科学类库有哪些
    本篇内容主要讲解“Python中最受欢迎的科学类库有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中最受欢迎的科学类库有哪些”吧!Python有以下三个特点:易用性和灵活性、全行...
    99+
    2023-06-27
  • 实用的数据科学Python库有什么功能
    本篇内容介绍了“实用的数据科学Python库有什么功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 获取数据获取数据是解决数据科学问题...
    99+
    2023-06-16
  • 有哪些提高数据科学工作效率并节省时间的Python库
    本文小编为大家详细介绍“有哪些提高数据科学工作效率并节省时间的Python库”,内容详细,步骤清晰,细节处理妥当,希望这篇“有哪些提高数据科学工作效率并节省时间的Python库”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-07-06
  • 阿里云数据库科学家从技术到创新的推动者
    在数字化时代,数据已经成为一种关键的资源,而数据库是存储和管理数据的重要工具。阿里云数据库科学家在这个领域中发挥着至关重要的作用,他们致力于研究、开发和优化数据库系统,以满足不断变化的业务需求。本文将详细介绍阿里云数据库科学家的工作内容,以...
    99+
    2023-11-14
    推动者 阿里 科学家
  • Numpy 数组在数据科学中的应用有哪些?
    Numpy 是 Python 中的一个重要的科学计算库,其最重要的功能之一就是提供了多维数组对象——Numpy 数组。Numpy 数组在数据科学中有着广泛的应用,下面就让我们来看看它的一些常见用法。 数组的创建 我们可以使用 nump...
    99+
    2023-10-24
    数组 unix numpy
  • 大数据对科学研究的影响有哪些
    本篇内容介绍了“大数据对科学研究的影响有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  著名数据库专家吉姆·格雷(Jim Gray)博...
    99+
    2023-06-02
  • 阿里云自带的数据库有哪些?
    本文将详细介绍一下阿里云自带的数据库,包括关系型数据库、NoSQL数据库、数据库缓存和数据库管理工具等。阿里云的数据库产品线丰富多样,可以满足不同类型和规模的业务需求。 阿里云自带的数据库主要包括以下几种:关系型数据库阿里云提供了多种关系型...
    99+
    2023-10-29
    阿里 自带 数据库
  • SQLServer数据库的移动方法有哪些
    本篇内容主要讲解“SQLServer数据库的移动方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQLServer数据库的移动方法有哪些”吧!  SQL...
    99+
    2024-04-02
  • mysql启动数据库的方式有哪些
    通过命令行启动MySQL服务: 可以使用命令sudo service mysql start或sudo systemctl st...
    99+
    2024-04-09
    mysql 数据库
  • Python常见的数据分析库有哪些
    这篇文章主要介绍“Python常见的数据分析库有哪些”,在日常操作中,相信很多人在Python常见的数据分析库有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python常见的数据分析库有哪些”的疑惑有所...
    99+
    2023-06-02
  • python连接clickhouse数据库的方式有哪些
    这篇文章主要介绍“python连接clickhouse数据库的方式有哪些”,在日常操作中,相信很多人在python连接clickhouse数据库的方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pyt...
    99+
    2023-06-30
  • Python写入MySQL数据库的方式有哪些
    这篇文章主要介绍了Python写入MySQL数据库的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python写入MySQL数据库的方式有哪些文章都会有所收获,下面我们一起来看看吧。场景一:数据不需要...
    99+
    2023-07-02
  • python连接数据库的重要事项有哪些
    这篇“python连接数据库的重要事项有哪些”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“python连接数据库的重要事项有哪些”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作