连接机器学习与 TensorFlow:从 Python 到 JavaScript

连接机器学习与 tensorflow:从 python 到 javascript

使用 tensorflow 将机器学习带入生活

作为一名 javascript 开发人员,深入研究机器学习并不像看起来那么令人畏惧。虽然在技术上可以使用 node.js 包处理所有事情,但 python ml 生态系统太丰富且完善,不容忽视。另外,python 的使用起来非常愉快。因此,使用 python 来处理后端的繁重工作是有意义的。准备好模型后,您可以将其导出为前端友好的格式并将其加载到客户端上以运行预测。

生成模型

在这篇文章中,我们将建立一个模型,根据艺术家的 twitter 粉丝数量来预测他们的受欢迎程度。

第一步是获取数据集。对于此项目,我们将使用如下所示的 arts.csv 文件:

twitter_followers,popularity,handle111024636,94,justinbieber107920365,91,rihanna106599902,89,katyperry95307659,97,taylorswift1366325495,87,selenagomez66325135,71,selenagomez60943147,83,jtimberlake54815915,82,britneyspears53569307,85,shakira

如您所见,这里有两个关键值:twitter_followers 和受欢迎度。这很好地为我们建立了序列模型,其中 x 将是 twitter_followers,y 将是流行度。

序列模型是构建模型最简单的选项之一。虽然选择最终取决于具体的用例,但我现在保持简单并坚持使用这种方法。

立即学习“Java免费学习笔记(深入)”;

构建后端

构建模型时,您需要解决一些基本任务:

清理或标准化数据将数据分为训练 (80%) 和测试 (20%)选择模型以及优化器和损失函数等设置训练模型(拟合)评估模型保存模型

下面的代码让您很好地概述了这些任务,尽管它不是完整的图片。您可以在 github 上查看完整代码。

python:tensorflow 入门

def get_model(x, y):    x_normalized = layers.normalization(        axis=none,    )    x_normalized.adapt(np.array(x))    model = tensorflow.keras.sequential([x_normalized, layers.dense(units=1)])    model.compile(        optimizer=tensorflow.keras.optimizers.adam(learning_rate=0.1),        loss="mean_squared_error",    )    model.fit(        x,        y,        epochs=2,        verbose=0,        validation_split=0.2,    )    return modeldef main:  train_features, test_features, train_labels, test_labels = split_data(dataset)  model = get_model(      train_features["twitter_followers"],      train_labels,  )  test_loss = model.evaluate(      test_features["twitter_followers"], test_labels, verbose=2  )  model.export("./saved_model")

如您所见,python 代码非常简单。有一个主要函数处理数据的分割、获取模型、评估它,最后保存它。

简而言之,这些是创建模型的基本步骤。但让我们面对现实吧:建立一个真正有效的模型既是一门艺术,也是一门科学。我的目标只是展示 python 入门是多么容易。然而,要创建一个性能良好的模型,需要做很多工作,比如拥有可靠的数据集、清理和规范化数据、选择正确的模型和设置,以及拥有训练它的计算能力。所有这些任务都需要投入大量的时间和精力!

在前端使用模型

现在我们已经训练并保存了模型,是时候将其引入前端了。在这一步中,我们将以网络友好的格式加载模型,以便我们可以直接在浏览器中运行预测。无论您使用 tensorflow.js 还是其他库,将机器学习集成到您的 web 应用程序中都会打开一个充满可能性的世界。让我们深入探讨如何做到这一点!

tensorflow 提供了一个名为 tensorflowjs_converter 的 npm 包,可帮助将保存的模型转换为 json 和二进制文件。

tensorflowjs_converter --input_format=tf_saved_model model/saved_model out/public

tf_saved_model:这是用于保存模型的格式。model/saved_model:这是执行python代码时保存模型的目录。out/public:这是保存前端友好文件的输出目录。文件夹结构将如下所示:

ls -la out/publicgroup1-shard1of1.binmodel.json

此设置可以轻松访问 web 应用程序所需的文件。

javascript:使用 tensorflowjs

您可以在 github 上查看完整代码。

const model = await tensorflow.loadGraphModel("model.json");const getPopularity = (followers) => {  const followers = 1_000;  const normalized = followers;  const x = tensorflow.tensor(normalized).reshape([-1, 1]);  const result = model.predict(x);  const values = result.arraySync();  const y = values[0][0].toFixed(2) * 100;  const popularity = y;  return popularity;};

如前所述,该模型旨在根据 twitter 关注者数量“预测受欢迎程度”。虽然它看起来像是一个简单的示例,但它有效地演示了如何在后端生成模型并在前端使用它。

稍微看一下 getpopularity 如何处理输入,但关键一行是 model.predict(x),它使用模型根据输入 x 预测一个值 (y)。

前往演示页面并尝试一些 twitter 手柄。这是一种有趣的方式来了解模型如何根据关注者数量预测受欢迎程度。

结论

tensorflow 是一个很棒的库,为后端和前端开发提供了工具。任何 javascript 开发人员都可以深入使用 python 或类似语言创建模型,然后轻松将该模型导入前端以运行预测。

虽然机器学习是一个广阔的领域,需要大量知识,但像 tensorflow 这样的工具有助于弥合软件和机器学习开发人员之间的差距。对于那些希望将 ml 融入到他们的项目中的人来说,这让旅程变得更加顺利!

以上就是连接机器学习与 TensorFlow:从 Python 到 JavaScript的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1350338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 14:09:58
下一篇 2025年12月13日 14:10:06

相关推荐

  • python爬虫怎么进行多线程

    如何利用 Python 爬虫进行多线程?使用 threading 模块:创建 Thread 对象并调用 start() 方法以创建新线程。使用 concurrent.futures 模块:使用 ThreadPoolExecutor 创建线程池并提交任务。使用 aiohttp 库:使用 asyncio…

    好文分享 2025年12月13日
    000
  • python爬虫怎么爬取软件

    使用 Python 爬虫爬取软件信息涉及以下步骤:选择目标网站分析网站结构编写爬虫脚本处理网站验证存储爬取的数据优化爬虫 如何使用 Python 爬虫爬取软件 直接回答使用 Python 爬虫爬取软件可以通过以下步骤: 详细步骤 选择一个目标网站:确定你想爬取软件信息的网站,例如软件下载网站或软件商…

    2025年12月13日
    000
  • 使用 LlamaIndex 构建简单的 RAG 代理

    llamaindex 是一个利用法学硕士构建情境增强生成式 ai 应用程序的框架。 什么是上下文增强? 上下文增强是指向 llm 模型提供附加相关信息或上下文的技术,从而提高其对给定查询的理解和响应。这种增强通常涉及检索、集成外部数据源(例如文档、嵌入)或将其附加到模型的输入。目标是通过为模型提供必…

    2025年12月13日
    000
  • 收集和处理 INMET-BDMEP 气候数据

    气候数据在多个领域发挥着至关重要的作用,有助于影响农业、城市规划和自然资源管理等领域的研究和预测。 国家气象研究所(inmet)每月在其网站上提供气象数据库(bdmep)。该数据库包含分布在巴西各地的数百个测量站收集的一系列历史气候信息。在bdmep中,您可以找到有关降雨量、温度、空气湿度和风速的详…

    2025年12月13日
    000
  • 使用 Python 构建 PGP 加密工具:高级概述

    简介:我将用 Python 构建一个 PGP 加密工具,允许用户生成公钥/私钥、加密/解密数据以及导入/导出密钥。以下是我将如何处理该项目以及将使用哪些框架/工具来创建它。 语言:Python我将使用 Python,因为它适合初学者,非常适合快速原型设计,并且拥有广泛的密码学库。它让我能够更多地关注…

    2025年12月13日
    000
  • Language Feature Deep Dive: Python&#s Structural Pattern Matching

    各位开发者大家好!今天,我们将深入探讨 python 的一项更新且更令人兴奋的功能:结构模式匹配。此功能在 python 3.10 中引入,为处理复杂数据结构提供了一种强大且富有表现力的方式。让我们探讨一下它的工作原理以及如何在您的项目中使用它。 什么是结构模式匹配? 结构模式匹配是一种检查数据结构…

    2025年12月13日
    000
  • Python 循环中的“else”子句!

    在 python 中,else 子句不仅可以与 if 语句一起使用,还可以与循环(for 和 while)一起使用。这可能看起来很奇怪,但循环中的 else 块仅在循环正常完成时才会执行,这意味着它不会命中break语句。 这是一个例子: for i in range(5): if i == 3: …

    2025年12月13日
    000
  • 课程计划:年级学生 Python 基础知识(初级)

    目标: 在本课程结束时,学生将对 python 编程有基本的了解,包括变量、基本数据类型、循环和函数。他们将使用 python 创建简单的程序,运用逻辑思维和解决问题的技能。 持续时间:6 节课 第 1 课:python 简介和设置 目标:让学生熟悉python、其用途以及如何建立基本的编程环境。 …

    2025年12月13日
    000
  • 极简 Python 版本管理器

    shuru 中的 python 支持:版本 0.0.9 shuru 刚刚升级——python 版本管理现已上线!如果您一直在使用 shuru 执行 node.js 任务,您会很高兴知道现在可以同样轻松地管理您的 python 版本。 什么是新的? 通过这个最新版本 (v0.0.9),shuru 可以…

    2025年12月13日
    000
  • python爬虫需要cookie怎么办

    Python 爬虫获取 Cookie 的方法有:使用 Requests 库的 getcookies() 方法。使用 Selenium 库的 get_cookies() 方法。使用 lxml 库的 extract_cookies() 方法。使用 pycurl 库的 Cookie 处理功能。手动构建 C…

    2025年12月13日
    000
  • 用Python爬虫怎么爬QQ音乐

    要使用 Python 爬取 QQ 音乐,需要:1. 安装 requests 和 beautifulsoup4 库;2. 获取歌曲 URL;3. 发出 HTTP 请求;4. 解析 HTML;5. 提取歌曲信息(标题、艺术家、专辑);6. 保存歌曲信息。 用 Python 爬虫爬取 QQ 音乐 如何使用…

    2025年12月13日
    000
  • 怎么用python爬虫收集数据

    Python 爬虫数据收集方法:选择库:BeautifulSoup、Scrapy、Requests 等。编写爬虫脚本:定义连接、提取数据、处理信息。运行爬虫:启动过程,自动遍历网站收集数据。提取 HTML 数据:使用 BeautifulSoup 解析 HTML、提取元素和文本。管理抓取任务:使用 S…

    2025年12月13日
    000
  • python爬虫就业方向怎么样

    Python爬虫就业前景广阔,需求量大。其发展前景光明,就业领域广泛,包括数据分析师、爬虫工程师、信息安全分析师和数据挖掘工程师等。薪资待遇优厚,经验丰富的爬虫工程师年薪可达几十万元。随着行业发展和人才短缺,薪资待遇有望进一步提高。 Python爬虫就业前景 一、回答 就业前景广阔,需求量大。 二、…

    2025年12月13日
    000
  • python爬虫怎么处理字符串

    Python 爬虫中的字符串处理技巧包括:1. 字符串拆分;2. 字符串连接;3. 字符串替换;4. 正则表达式;5. HTML 解析。此外,还有字符编码处理、字符过滤、字符转义等补充技巧。这些技术可用于有效地解析和提取网页中的信息。 Python爬虫中字符串处理技巧 前言 在Python爬虫中,经…

    2025年12月13日
    000
  • python爬虫怎么学最牛逼

    成为一名优秀的 Python 爬虫开发者的步骤:掌握 Python 基础知识,包括语法、数据结构、算法、库和并发性。熟悉 HTML 和 CSS 结构和语法,并学习使用XPath、CSS选择器和正则表达式解析和提取数据。从简单到复杂的爬虫项目实战,分析网站结构并制定有效策略。使用代理和标头避免检测,实…

    2025年12月13日
    000
  • Python爬虫怎么爬取p内容

    使用Python爬虫爬取内容的方法:导入必要的包,如requests和BeautifulSoup。获取网页内容并解析HTML。定位元素。提取内容并打印。 利用Python爬虫爬取 内容 如何爬取 内容? 使用Python爬虫爬取 内容需要遵循以下步骤: 1. 导入必要的包 立即学习“Python免费…

    2025年12月13日
    000
  • python爬虫出现乱码怎么弄

    Python 爬虫爬取中文网页时出现乱码,原因是网页使用 UTF-8 编码而 Python 使用 ASCII 编码。解决方案: 1. 指定 get() 请求的编码为 UTF-8; 2. 使用 BeautifulSoup 等第三方库自动检测编码; 3. 使用 decode() 方法手动解码网页内容。 …

    2025年12月13日
    000
  • python带分页爬虫怎么弄

    如何使用 Python 编写分页爬虫:安装 requests、bs4 和 time 库。分析目标网站的分页机制。根据分页机制构造分页 URL 函数。使用循环爬取所有分页结果。实现 extract_data() 函数以提取所需数据。处理提取的数据。通过检查“下一页”链接、最后一个分页链接或页面上的特定…

    2025年12月13日
    000
  • python爬虫断点后怎么办

    当Python爬虫意外终止时,可通过以下步骤恢复断点:检查是否存在已保存的检查点。使用scrapy.extensions.checkpoint或scrapy_redis等第三方库实现断点恢复。手动恢复:a. 确定上次爬取的页面或数据;b. 更改起始URL或参数从该点开始爬取。从URL列表恢复:从列表…

    2025年12月13日
    000
  • python爬虫怎么爬贴吧

    Python 爬取贴吧的步骤包括:安装库:requests、bs4、lxml构建请求:指定贴吧 URL 和用户代理解析响应:使用 bs4 或 lxml 解析 HTML 响应提取数据处理数据:提取贴子标题、内容、作者、发帖时间等信息 Python爬虫如何抓取贴吧 第一步:安装必要的库 使用 Pytho…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信