标签归档:data-science

MadeWithML 了解如何通过ML负责任地交付产品

基础知识

通过直观的解释、干净的代码和可视化学习ML的基础

🔢三个基金会 📈数据建模 🤖*深度学习
Notebooks Linear Regression CNNs
Python Logistic Regression Embeddings
NumPy Neural Network RNNs
Pandas Data Quality Transformers
PyTorch Utilities

📆更多话题即将到来!
Subscribe查看我们每月更新的新内容

MLOPS

了解如何应用ML来构建生产级产品以交付价值

📦新产品 📝使用脚本编写 ♻️*可重现性
Objective Organization Git
Solution Packaging Pre-commit
Iteration Documentation Versioning
🔢三个数据 Styling Docker
Labeling Makefile 🚀三个产品的生产
Preprocessing Logging Dashboard
Exploratory data analysis 📦3个接口 CI/CD workflows
Splitting Command-line Infrastructure
Augmentation RESTful API Monitoring
📈数据建模 ✅测试结果: Pipelines
Evaluation Code Feature store
Experiment tracking Data
Optimization Models

📆每个月都有新的课程!
Subscribe查看我们每月更新的新内容

常见问题解答

这个内容是为谁准备的?

  • Software engineers希望学习ML并成为更好的软件工程师
  • Data scientists谁想了解如何通过ML负责任地交付价值
  • College graduates希望学习该行业所需的实用技能
  • Product Managers谁想为ML应用程序开发技术基础

它的结构是什么?

课程将每周发布一次,每节课程包括:

  • intuition:将涵盖的概念及其如何组合在一起的高级概述
  • code:说明概念的简单代码示例
  • application:将概念应用于我们的具体任务
  • extensions:简要介绍适用于不同情况的其他工具和技术

是什么让这个内容独一无二的呢?

  • hands-on:如果您在线搜索Production ML或MLOps,您会找到很棒的博客帖子和tweet。但是为了真正理解这些概念,您需要实现它们。不幸的是,由于规模、专有内容和昂贵的工具,您没有看到很多运行Production ML的内部工作原理。然而,Made with ML是免费的、开放的和活生生的,这使得它成为社区完美的学习机会
  • intuition-first:我们永远不会直接跳到代码上去。在每节课中,我们都会培养对概念的直觉,并从产品的角度来思考。
  • software engineering:本课程不只是关于ML。事实上,它主要是关于干净的软件工程!我们将介绍一些重要的概念,如版本控制、测试、日志记录等,它们可以真正成为生产级产品
  • focused yet holistic:对于每个概念,我们不仅会介绍对我们的特定任务最重要的内容(这是案例研究方面),而且还会介绍相关的方法(这是指导方面),这些方法在其他情况下可能会被证明是有用的

作者是谁?

  • 我在苹果公司部署了大规模ML系统,也在初创公司部署了受约束的较小系统,我想与大家分享我学到的共同原则
  • 与我保持联系TwitterLinkedIn

为什么这个是免费的?

虽然这个内容是为每个人准备的,但它特别针对那些没有太多学习机会的人。我相信创造力和智慧是随机分布的,而机会是孤立的。我想让更多的人创造并为创新做出贡献


要引用此内容,请使用:

@misc{madewithml,
    title  = "Made With ML",
    author = "Goku Mohandas",
    url    = "https://madewithml.com/"
    year   = "2021",
}

Superset-Apache Superset是一个数据可视化和数据探索平台

现代的、企业就绪的商业智能Web应用程序

为什么是超集?

超集提供:

  • 用于可视化数据集和制作交互式仪表板的直观界面
  • 一系列精美的可视化效果,可展示您的数据
  • 用于提取和显示数据集的无代码可视化构建器
  • 世界级的SQL IDE,用于准备用于可视化的数据,包括丰富的元数据浏览器
  • 轻量级语义层,使数据分析师能够快速定义自定义维度和指标
  • 对大多数SQL语言数据库的开箱即用支持
  • 无缝的内存中异步缓存和查询
  • 一种可扩展的安全模型,允许配置关于谁可以访问哪些产品功能和数据集的非常复杂的规则
  • 与主要身份验证后端(数据库、OpenID、LDAP、OAUTH、REMOTE_USER等)集成
  • 能够添加自定义可视化插件
  • 用于编程自定义的API
  • 从头开始为规模而设计的云原生架构

支持的数据库

超集可以从任何使用SQL语言的数据存储或数据引擎(例如,Presto或Athena)查询具有Python DB-API驱动程序和SQLAlChemy方言的数据

更全面的支持数据库列表以及配置说明可以找到:here

想要添加对您的数据存储区或数据引擎的支持吗?阅读更多内容here关于技术要求

安装和配置

Extended documentation for Superset

参与进来吧

投稿人指南

有兴趣做贡献吗?请查看我们的CONTRIBUTING.md查找有关贡献的资源,以及有关如何设置开发环境的详细指南

资源

Scikit-learn-SCRKIT-学习:Python中的机器学习



Scikit-learn 是构建在SciPy之上的用于机器学习的Python模块。

该项目由David Cournapeau于2007年作为Google Summer of Code项目启动,从那时起,许多志愿者都做出了贡献。请参阅About us获取核心贡献者列表的页面。

它目前由一支志愿者团队负责维护。

网站:https://scikit-learn.org

安装

依赖项

SCRICKIT-学习要求:

  • Python(>=3.7)
  • NumPy(>=1.14.6)
  • SciPy(>=1.1.0)
  • joblib(>=0.11)
  • threadpoolctl(>=2.0.0)

Scikit-Learn 0.20是支持Python 2.7和Python 3.4的最后一个版本SCRICKIT-学习0.23和更高版本需要Python3.6或更高版本。SCRICKIT-学习1.0和更高版本需要Python 3.7或更高版本

Scikit-了解绘图功能(即函数以plot_并且类以“display”结尾)需要Matplotlib(>=2.2.2)。要运行示例,需要Matplotlib>=2.2.2。少数示例需要SCRICKIT-image>=0.14.5,少数示例需要熊猫>=0.25.0,有些示例需要海运>=0.9.0

用户安装

如果您已经安装了能正常工作的Numpy和Scipy,则安装SCRICIT-LEARN的最简单方法是使用pip

pip install -U scikit-learn

conda

conda install -c conda-forge scikit-learn

该文档包括更详细的installation instructions

更改日志

请参阅changelog有关SCRICKIT显著变化的历史-了解

发展

我们欢迎所有经验水平的新贡献者。科学工具包学习社区的目标是帮助、欢迎和有效。这个Development Guide包含有关贡献代码、文档、测试等的详细信息。我们在本自述中包含了一些基本信息

重要链接

源代码

您可以使用以下命令查看最新的源代码:

git clone https://github.com/scikit-learn/scikit-learn.git

贡献

要了解更多关于为SCRICKIT-LEARN做出贡献的信息,请参阅我们的Contributing guide

测试

安装之后,您可以从源目录外部启动测试套件(您将需要pytest>=5.0.1已安装):

pytest sklearn

请参阅网页https://scikit-learn.org/dev/developers/advanced_installation.html#testing了解更多信息

随机数生成可以在测试期间通过设置SKLEARN_SEED环境变量

提交拉取请求

在打开拉取请求之前,请查看完整的贡献页面,以确保您的代码符合我们的指导原则:https://scikit-learn.org/stable/developers/index.html

项目历史记录

该项目由David Cournapeau于2007年作为Google Summer of Code项目启动,从那时起,许多志愿者都做出了贡献。请参阅About us获取核心贡献者列表的页面

该项目目前由一组志愿者负责维护。

注意事项:SCRICIT-LEARN以前被称为SCRICKIT。

帮助和支持

文档

沟通

引文

如果您在科学出版物中使用SCRICKIT-LEARN,我们将非常感谢您的引用:https://scikit-learn.org/stable/about.html#citing-scikit-learn

Keras-人类的深度学习

Keras: Deep Learning for humans

此存储库托管Kera库的开发。阅读keras.io上的文档

关于Keras

KERAS是一个用Python编写的深度学习API,运行在机器学习平台TensorFlow之上。它的开发重点是实现快速实验。能够尽快从想法转化为结果是做好研究的关键。

Keras特点是:

  • Simple
  • Flexible
  • Powerful

Kera&TensorFlow 2

TensorFlow 2是一个端到端的开源机器学习平台。您可以将其视为可区分编程的基础架构层。它结合了四项关键功能:

  • Efficiently executing low-level tensor operations on CPU, GPU, or TPU.
  • Computing the gradient of arbitrary differentiable expressions.
  • Scaling computation to many devices, such as clusters of hundreds of GPUs.
  • Exporting programs (“graphs”) to external runtimes such as servers, browsers, mobile and embedded devices.

KERAS是TensorFlow 2的高级API:TensorFlow 2是一个平易近人、高效的界面,用于解决机器学习问题,重点是现代深度学习。它为开发和发布高迭代速度的机器学习解决方案提供了必要的抽象和构建块

Kera使工程师和研究人员能够充分利用TensorFlow 2的可扩展性和跨平台功能:您可以在TPU或大型GPU群集上运行Kera,还可以导出Kera模型以在浏览器或移动设备上运行


与Keras的第一次接触

KERAS的核心数据结构是层和模型。最简单的模型类型是顺序模型,即层的线性堆栈。对于更复杂的体系结构,您应该使用Kera Functional API,它允许构建任意的层图,或者通过子类化完全从头开始编写模型

以下是顺序模型:

from tensorflow.keras.models import Sequential

model = Sequential()

堆叠层与.add()一样简单:

from tensorflow.keras.layers import Dense

model.add(Dense(units=64, activation='relu'))
model.add(Dense(units=10, activation='softmax'))

一旦您的模型看起来不错,就可以使用.Compile()配置其学习过程:

model.compile(loss='categorical_crossentropy',
              optimizer='sgd',
              metrics=['accuracy'])

如果需要,您可以进一步配置优化器。KERAS的理念是让简单的事情变得简单,同时允许用户在需要的时候完全控制(最终的控制是通过子类化实现源代码的轻松可扩展性)

model.compile(loss=tf.keras.losses.categorical_crossentropy,
              optimizer=tf.keras.optimizers.SGD(
                  learning_rate=0.01, momentum=0.9, nesterov=True))

现在,您可以批量迭代您的培训数据:

# x_train and y_train are Numpy arrays.
model.fit(x_train, y_train, epochs=5, batch_size=32)

在一行中评估您的测试损失和指标:

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)

或对新数据生成预测:

classes = model.predict(x_test, batch_size=128)

您刚才看到的是使用KERAS的最基本的方式

然而,KERAS也是一个高度灵活的框架,适合重复最先进的研究思想。KERAS遵循逐步披露复杂性的原则:它使入门变得容易,但它使处理任意高级用例成为可能,每一步只需要增量学习

就像您可以用几行代码训练和评估上面的简单神经网络一样,您可以使用KERAS快速开发新的训练过程或奇异的模型体系结构。以下是一个低级培训循环示例,将KERAS功能与TensorFlow GradientTape相结合:

import tensorflow as tf

# Prepare an optimizer.
optimizer = tf.keras.optimizers.Adam()
# Prepare a loss function.
loss_fn = tf.keras.losses.kl_divergence

# Iterate over the batches of a dataset.
for inputs, targets in dataset:
    # Open a GradientTape.
    with tf.GradientTape() as tape:
        # Forward pass.
        predictions = model(inputs)
        # Compute the loss value for this batch.
        loss_value = loss_fn(targets, predictions)

    # Get gradients of loss wrt the weights.
    gradients = tape.gradient(loss_value, model.trainable_weights)
    # Update the weights of the model.
    optimizer.apply_gradients(zip(gradients, model.trainable_weights))

有关KERAS的更多深入教程,您可以查看:


安装

Kera与TensorFlow2一起打包为tensorflow.keras。要开始使用Kera,只需安装TensorFlow 2


支持

您可以提问并加入发展讨论:

您还可以在GitHub问题中发布错误报告和功能请求(仅限)