色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Danfo.js提供高性能、直觀易用的數據結構,支持結構化數據的操作和處理

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-09-23 18:21 ? 次閱讀

Danfo.js 是個 JavaScript 開源庫,提供了高性能、直觀易用的數據結構,支持結構化數據的操作和處理。Danfo.js 深受 Python Pandas 庫的啟發,并提供了類似的接口/API。因此熟悉 Pandas API 且了解 JavaScript 的用戶可以輕松上手。

Danfo.js 的一大目標是為 JavaScript 開發者提供數據處理、機器學習AI 工具。這與我們的愿景一致,本質上也符合 TensorFlow.js 團隊向 Web 引入 ML 的目標。Numpy 和 Pandas 等開源庫全面革新了 Python 中數據操作的便利性。因此很多工具都圍繞它們構建,進一步推動了 Python 中 ML 生態系統的蓬勃發展。

Danfo.js
https://danfo.jsdata.org/

Danfo.js 建立在 TensorFlow.js 上。也就是說,就像 Numpy 為 Pandas 的算術運算提供技術支持一樣,我們是利用 TensorFlow.js 為我們的低級算術運算提供技術支持。

Danfo.js 的主要特性

Danfo.js 速度快。它基于 TensorFlow.js 構建,與張量無縫兼容。您可以在 Danfo 中加載張量,也可以將 Danfo 數據結構轉換為張量。利用這兩個庫,既有了數據處理庫 (Danfo.js),也有了強大的 ML 庫 (TensorFlow.js)。

以下示例將展示如何從張量對象創建 Danfo DataFrame:

const dfd = require("danfojs-node") const tf = require("@tensorflow/tfjs-node") let data = tf.tensor2d([[20,30,40], [23,90, 28]]) let df = new dfd.DataFrame(data) let tf_tensor = df.tensor console.log(tf_tensor); tf_tensor.print()

輸出:

Tensor { kept: false, isDisposedInternal: false, shape: [ 2, 3 ], dtype: 'float32', size: 6, strides: [ 3 ], dataId: {}, id: 3, rankType: '2' } Tensor [[20, 30, 40], [23, 90, 28]]

您可以輕松地將數組、JSON 或對象轉換為 DataFrame 對象操作。

JSON 對象到 DataFrame:

const dfd = require("danfojs-node") json_data = [{ A: 0.4612, B: 4.28283, C: -1.509, D: -1.1352 }, { A: 0.5112, B: -0.22863, C: -3.39059, D: 1.1632 }, { A: 0.6911, B: -0.82863, C: -1.5059, D: 2.1352 }, { A: 0.4692, B: -1.28863, C: 4.5059, D: 4.1632 }] df = new dfd.DataFrame(json_data) df.print()

輸出:

帶列標簽的對象數組到 DataFrame:

const dfd = require("danfojs-node") obj_data = {'A': [“A1”, “A2”, “A3”, “A4”], 'B': ["bval1", "bval2", "bval3", "bval4"], 'C': [10, 20, 30, 40], 'D': [1.2, 3.45, 60.1, 45], 'E': ["test", "train", "test", "train"] } df = new dfd.DataFrame(obj_data) df.print()

輸出:

您可以輕松處理浮點和非浮點數據中的缺失數據(以 NaN 表示):

const dfd = require("danfojs-node") let data = {"Name":["Apples", "Mango", "Banana", undefined], "Count": [NaN, 5, NaN, 10], "Price": [200, 300, 40, 250]} let df = new dfd.DataFrame(data) let df_filled = df.fillna({columns: ["Name", "Count"], values: ["Apples", df["Count"].mean()]}) df_filled.print()

輸出:

基于智能標簽的切片、花式索引和大數據集查詢:

const dfd = require("danfojs-node") let data = { "Name": ["Apples", "Mango", "Banana", "Pear"] , "Count": [21, 5, 30, 10], "Price": [200, 300, 40, 250] } let df = new dfd.DataFrame(data) let sub_df = df.loc({ rows: ["0:2"], columns: ["Name", "Price"] }) sub_df.print()

輸出:

強大的 IO 工具,用于從平面文件(CSV 和分隔)加載數據。完整和分塊均可:

const dfd = require("danfojs-node") //read the first 10000 rows dfd.read_csv("file:///home/Desktop/bigdata.csv", chunk=10000) .then(df => { df.tail().print() }).catch(err=>{ console.log(err); })

DataFrame 和 Series 支持OneHotEncoders、LabelEncoders等強大的數據預處理函數和 StandardScaler 和 MinMaxScaler 等 Scaler:

const dfd = require("danfojs-node") let data = ["dog","cat","man","dog","cat","man","man","cat"] let series = new dfd.Series(data) let encode = new dfd.LabelEncoder() encode.fit(series) let sf_enc = encode.transform(series) let new_sf = encode.transform(["dog","man"])

輸出:

交互式、靈活且直觀的 API,用于在瀏覽器中繪制 DataFrame 和 Series:

Document

輸出:

示例:泰坦尼克號幸存預測

以下是使用 Danfo.js 和 TensorFlow.js 的簡單端到端分類任務。使用 Danfo 進行數據集的數據加載、操作和預處理,然后導出張量對象。

const dfd = require("danfojs-node") const tf = require("@tensorflow/tfjs-node") async function load_process_data() { let df = await dfd.read_csv("https://web.stanford.edu/class/archive/cs/cs109/cs109.1166/stuff/titanic.csv") //A feature engineering: Extract all titles from names columns let title = df['Name'].apply((x) => { return x.split(".")[0] }).values //replace in df df.addColumn({ column: "Name", value: title }) //label Encode Name feature let encoder = new dfd.LabelEncoder() let cols = ["Sex", "Name"] cols.forEach(col => { encoder.fit(df[col]) enc_val = encoder.transform(df[col]) df.addColumn({ column: col, value: enc_val }) }) let Xtrain,ytrain; Xtrain = df.iloc({ columns: [`1:`] }) ytrain = df['Survived'] // Standardize the data with MinMaxScaler let scaler = new dfd.MinMaxScaler() scaler.fit(Xtrain) Xtrain = scaler.transform(Xtrain) return [Xtrain.tensor, ytrain.tensor] //return the data as tensors }

接下來使用 TensorFlow.js 創建一個簡單的神經網絡

function get_model() { const model = tf.sequential(); model.add(tf.layers.dense({ inputShape: [7], units: 124, activation: 'relu', kernelInitializer: 'leCunNormal' })); model.add(tf.layers.dense({ units: 64, activation: 'relu' })); model.add(tf.layers.dense({ units: 32, activation: 'relu' })); model.add(tf.layers.dense({ units: 1, activation: "sigmoid" })) model.summary(); return model }

最后進行訓練,首先將模型和處理后的數據加載為張量。這可以直接饋送到神經網絡。

async function train() { const model = await get_model() const data = await load_process_data() const Xtrain = data[0] const ytrain = data[1] model.compile({ optimizer: "rmsprop", loss: 'binaryCrossentropy', metrics: ['accuracy'], }); console.log("Training started....") await model.fit(Xtrain, ytrain,{ batchSize: 32, epochs: 15, validationSplit: 0.2, callbacks:{ onEpochEnd: async(epoch, logs)=>{ console.log(`EPOCH (${epoch + 1}): Train Accuracy: ${(logs.acc * 100).toFixed(2)}, Val Accuracy: ${(logs.val_acc * 100).toFixed(2)} `); } } }); }; train()

您可能注意到 Danfo 的 API 與 Pandas 非常相似,即使不是 Javascript 程序員也可以輕松閱讀和理解代碼。您可參考以上演示的完整源代碼 (https://gist.github.com/risenW/f54e4e5b6d92e7b1b9b1f30e884ca83c)。

結語

基于網絡的機器學習已經日趨成熟,對應的專用高效數據科學工具必不可少。類似 Danfo.js 的工具讓基于網絡的應用可以輕松支持 ML 特性,從而讓應用生態系統更加豐富多彩。

這場變革始于 TensorFlow.js 為 Python 帶來的 ML 功能。我們希望為 Danfo.js 作為高效的同伴一路提供支持。我們對 Danfo.js 的發展充滿期待!希望它也能成為網絡社區的關鍵成員。

原文標題:深受 Pandas 啟發的 JavaScript 開源庫 — Danfo.js 現已推出!

文章出處:【微信公眾號:TensorFlow】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    19

    文章

    2974

    瀏覽量

    104977
  • 開源
    +關注

    關注

    3

    文章

    3398

    瀏覽量

    42647

原文標題:深受 Pandas 啟發的 JavaScript 開源庫 — Danfo.js 現已推出!

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    七款經久不衰的數據可視化工具!

    整合來自不同系統的數據提供全面的業務洞察。總的來說,FineBI 不僅操作簡便,功能強大,還能夠適應不同企業的需求,幫助用戶實現高效的數據分析和決策
    發表于 01-19 15:24

    戴爾數據湖倉助力企業數字轉型

    在數字轉型的浪潮下,企業正面臨著前所未有的數據挑戰。從傳統的結構化數據到如今的非結構化數據、半
    的頭像 發表于 12-20 09:31 ?162次閱讀

    結構化布線在AI數據中心的關鍵作用

    AI 正在不斷顛覆各行各業,推動從電影制作到金融行業等各個領域的創新。而在 AI 系統的背后,隱藏著這樣一位無名英雄:結構化布線。
    的頭像 發表于 11-21 16:51 ?440次閱讀

    DDC264配置寄存器數據寫入和320 DCLK時鐘脈沖后的回讀數據結構是什么?

    配置寄存器數據寫入和320 DCLK時鐘脈沖后的回讀數據結構是什么? 根據注和表9,16位配置寄存器數據,4位修訂ID, 300位校驗模式,怎么可能有1024 TOTAL READBACK BITS, format = 0
    發表于 11-19 07:58

    視覺軟件HALCON的數據結構

    在研究機器視覺算法之前,我們需要先了解機器視覺應用中涉及的基本數據結構。Halcon數據結構主要有圖像參數和控制參數兩類參數。圖像參數包括:image、region、XLD,控制參數包括:string、integer、real、handle、tuple數組等。
    的頭像 發表于 11-14 10:20 ?532次閱讀
    視覺軟件HALCON的<b class='flag-5'>數據結構</b>

    嵌入式常用數據結構有哪些

    在嵌入式編程中,數據結構的選擇和使用對于程序的性能、內存管理以及開發效率都具有重要影響。嵌入式系統由于資源受限(如處理器速度、內存大小等),因此對數據結構的選擇和使用尤為關鍵。以下是嵌
    的頭像 發表于 09-02 15:25 ?574次閱讀

    基于分布式對象存儲WDS的信托非結構化數據整合平臺

    基于分布式對象存儲WDS的信托非結構化數據整合平臺
    的頭像 發表于 08-28 09:56 ?388次閱讀
    基于分布式對象存儲WDS的信托非<b class='flag-5'>結構化</b><b class='flag-5'>數據</b>整合平臺

    定期維護結構化布線對于辦公室得重要性

    定期維護結構化布線對于辦公室的順利運行至關重要。結構化布線是指支持建筑物內各種數據、語音和視頻系統的標準基礎設施。它包括電纜、連接器、機架
    的頭像 發表于 06-14 10:44 ?269次閱讀

    ArkTS高性能編程實戰-TS&amp;JS高性能編程實踐及使用工具的指導

    概述 本文參考業界標準,并結合應用TS&JS部分的性能優化實踐經驗,從應用編程指南、高性能編程實踐、性能優化調試工具等維度,為應用開發者提供
    發表于 05-09 15:21

    探索編程世界的七大數據結構

    結構就像是一顆倒掛的小樹,有根、有枝、有葉。它是一種非線性的數據結構,以層級的方式存儲數據,頂部是根節點,底部是葉節點。
    的頭像 發表于 04-16 12:04 ?424次閱讀

    什么是結構化網絡布線?結構化網絡布線有哪些好處?

    EIA/TIA TR42 委員會指定的通信布線的標準架構和組件,并被制造商用作確保互操作性的自愿標準。 如果你查看 TIA TR42,可能會發現 TIA 568 在技術上對結構化布線進行了更加詳細的定義和概述,但你可能會遇到
    的頭像 發表于 04-11 11:54 ?567次閱讀

    結構化布線的好處多嗎

    結構化布線是網絡系統中的重要組成部分,因為它為數據傳輸提供了強大、可擴展且可靠的基礎。通過遵守全球公認的標準,結構化布線可促進高速連接、簡化故障排除并確保未來的可擴展性。考慮到這些優勢
    的頭像 發表于 04-07 11:15 ?477次閱讀

    什么是網絡系統中的結構化布線?

    結構化布線在網絡系統中發揮著至關重要的作用,為組織內的無縫通信和數據傳輸提供了堅實的基礎。這種綜合基礎設施旨在支持廣泛的應用程序和技術。本文將深入探討它是什么、為什么它很重要以及它為組
    的頭像 發表于 04-07 10:58 ?462次閱讀

    TASKING編譯器是否可以將數據結構設置為 \"打包\"?

    TASKING 編譯器是否可以將數據結構設置為 \"打包\"? GCC 很早以前就提供了這種可能性,可以將__attribute__((packed))與對齊指令結合使用。 對于
    發表于 03-05 06:00

    矢量與柵格數據結構各有什么特征

    矢量數據結構和柵格數據結構是地理信息系統(GIS)中最常用的兩種數據結構。它們在存儲和表示地理要素上有著不同的方法和特征。在接下來的文章中,我們將詳細介紹這兩種數據結構并比較它們的特點
    的頭像 發表于 02-25 15:06 ?2749次閱讀
    主站蜘蛛池模板: 大乳牛奶女在线观看 | 门鱼电影完整版免费版 | 真实处破女全过程完免费观看 | 亚洲一区二区三区乱码在线欧洲 | 欧美亚洲精品真实在线 | 免费看b站| 特黄特色大片免费播放器9 特黄特黄aaaa级毛片免费看 | 国产亚洲精品首页在线播放 | 99精品免费久久久久久久久日本 | 凹凸精品视频分类视频 | 小莹的性荡生活45章 | 亚洲日韩成人 | 美国特级成人毛片 | 亚洲精品国产高清嫩草影院 | 性一交一乱一色一视频 | 国产精品久久久久久久久久免费 | 亚洲刺激视频 | 三级黄色片免费观看 | 四库影院永久国产精品 | 色悠悠电影网 | 国产精品久久久久婷婷五月色 | 国产h视频在线观看网站免费 | 我的漂亮朋友在线观看全集免费 | 国产精品2020观看久久 | 久久免费高清 | 天天摸夜添狠狠添高 | 日本福利片午夜免费观着 | 丰满的大白屁股ass 丰满大屁俄罗斯肥女 | 一本二卡三卡四卡乱码麻豆 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片潮喷动漫 | 亚州笫一色惰网站 | 国产高清视频在线播放www色 | 摸董事长的裤裆恋老小说 | 不良网站进入窗口软件下载免费 | 亚洲欧美一区二区成人片 | 国产午夜精品片一区二区三区 | 大胸美女被吊起来解开胸罩 | 一个人在线观看免费中文www | 日本aa大片| 伊人国产精品 | 蜜桃传媒星空传媒在线播放 |