幫助中心 | 我的帳號 | 關於我們

面向數據科學家的軟體工程

  • 作者:(美)凱瑟琳·尼爾森|責編:劉熾|譯者:林晨
  • 出版社:中國電力
  • ISBN:9787523911525
  • 出版日期:2026/08/01
  • 裝幀:平裝
  • 頁數:262
人民幣:RMB 88 元      售價:
放入購物車
加入收藏夾

內容大鋼
    數據科學實踐于代碼之中。編寫可復現、健壯且可擴展的代碼是數據科學項目成功的關鍵,對於處理生產代碼的人員而言,更是一項必備能力。這本實用書籍彌合了數據科學與軟體工程之間的鴻溝,並清晰地闡述了如何將軟體工程中的最佳實踐應用於數據科學。
    書中的示例均採用Python編寫,使用了NumPy和pandas等流行庫。如果你想編寫更優質的數據科學代碼,本書涵蓋了入門級數據科學或編程課程中經常缺失的核心主題,包括以下內容:
    · 理解數據結構與面向對象編程。
    · 清晰且熟練地為代碼編寫文檔。
    · 打包並分享你的代碼。
    · 將數據科學代碼與更大的代碼庫集成。
    · 學習如何編寫API。
    · 創建安全的代碼。
    · 將最佳實踐應用於測試、錯誤處理和日誌記錄等常見任務。
    · 更有效地與軟體工程師協作。
    · 用Python編寫更高效、可維護且健壯的代碼。
    · 將你的數據科學項目投入生產。
    · 更多內容。

作者介紹
(美)凱瑟琳·尼爾森|責編:劉熾|譯者:林晨
    凱瑟琳·尼爾森(Catherine Nelson)是一名自由職業數據科學家和作家。此前,她曾在SAP Concur擔任首席數據科學家,負責開發生產級機器學習應用並創建創新的商務旅行新功能。她還是O'Reilly出版的《Building Machine Learning Pipelines》一書的合著者。

目錄
前言
第1章 什麼是好代碼
  1.1 為什麼好代碼至關重要
  1.2 適應變化的需求
  1.3 簡潔性
    1.3.1 不要重複自己(DRY)
    1.3.2 避免冗長的代碼
  1.4 模塊化
  1.5 可讀性
    1.5.1 標準和慣例
    1.5.2 命名
    1.5.3 清理
    1.5.4 文檔
  1.6 性能
  1.7 健壯性
    1.7.1 錯誤與日誌
    1.7.2 測試
  1.8 核心要點
第2章 分析代碼性能
  2.1 提高性能的方法
  2.2 為你的代碼計時
  2.3 代碼性能分析
    2.3.1 cProfile
    2.3.2 line_profiler
    2.3.3 使用Memray進行內存性能分析
  2.4 時間複雜度
    2.4.1 如何估算時間複雜度
    2.4.2 大O符號
  2.5 核心要點
第3章 有效利用數據結構
  3.1 Python數據結構
    3.1.1 列表
    3.1.2 元組
    3.1.3 字典
    3.1.4 集合
  3.2 NumPy數組
    3.2.1 NumPy數組功能
    3.2.2 NumPy數組性能考量
    3.2.3 使用Dask的數組操作
    3.2.4 機器學習中的數組
  3.3 pandas DataFrames
    3.3.1 DataFrame功能
    3.3.2 DataFrame性能考量
  3.4 核心要點
第4章 面向對象編程和函數式編程
  4.1 面向對象編程
    4.1.1 類、方法和屬性
    4.1.2 定義自己的類
    4.1.3 面向對象原則
  4.2 函數式編程

    4.2.1 匿名函數和map()
    4.2.2 將函數應用於DataFrames
  4.3 應該使用哪種範式
  4.4 核心要點
第5章 錯誤、日誌和調試
  5.1 Python中的錯誤
    5.1.1 解讀Python錯誤信息
    5.1.2 錯誤處理
    5.1.3 觸發錯誤
  5.2 日誌記錄
    5.2.1 記錄什麼
    5.2.2 日誌配置
    5.2.3 如何記錄日誌
  5.3 調試
    5.3.1 調試策略
    5.3.2 調試工具
  5.4 核心要點
第6章 代碼格式化、靜態代碼檢查與類型檢查
  6.1 代碼格式化與風格指南
    6.1.1 PEP8
    6.1.2 導入格式化
    6.1.3 使用Black自動格式化代碼
  6.2 Linting
    6.2.1 Linting工具
    6.2.2 在你的IDE中進行代碼檢查
  6.3 類型檢查
    6.3.1 類型註解
    6.3.2 使用mypy進行類型檢查
  6.4 核心要點
第7章 測試你的代碼
  7.1 為何應該編寫測試
  7.2 何時進行測試
  7.3 如何編寫和運行測試
    7.3.1 一個基本測試
    7.3.2 測試意外輸入
    7.3.3 使用Pytest運行自動化測試
  7.4 測試類型
    7.4.1 單元測試
    7.4.2 集成測試
  7.5 數據驗證
    7.5.1 數據驗證示例
    7.5.2 使用Pandera進行數據驗證
    7.5.3 使用Pydantic進行數據驗證
  7.6 機器學習測試
    7.6.1 測試模型訓練
    7.6.2 測試模型推理
  7.7 核心要點
第8章 設計與重構
  8.1 項目設計與結構
    8.1.1 項目設計考慮事項

    8.1.2 一個機器學習項目示例
  8.2 代碼設計
    8.2.1 模塊化代碼
    8.2.2 代碼設計框架
    8.2.3 介面與契約
    8.2.4 耦合
  8.3 從Notebook到可擴展腳本
    8.3.1 為什麼使用腳本而不是Notebook
    8.3.2 從Notebook創建腳本
  8.4 重構
    8.4.1 重構策略
    8.4.2 重構工作流程示例
  8.5 核心要點
第9章 文檔
  9.1 代碼庫中的文檔
    9.1.1 名稱
    9.1.2 註釋
    9.1.3 docstring
    9.1.4 Readme文件、教程及其他更長的文檔
  9.2 Jupyter Notebook中的文檔
  9.3 記錄機器學習實驗
  9.4 核心要點
第10章 共享你的代碼:版本控制、依賴和打包
  10.1 使用Git進行版本控制
    10.1.1 Git如何工作
    10.1.2 跟蹤變更與提交
    10.1.3 遠程和本地
    10.1.4 分支與拉取請求
  10.2 依賴和虛擬環境
    10.2.1 虛擬環境
    10.2.2 使用pip管理依賴
    10.2.3 使用Poetry管理依賴
  10.3 Python打包
    10.3.1 包的基礎
    10.3.2 pyproject.toml
    10.3.3 構建和上傳包
  10.4 核心要點
第11章 API介面
  11.1 調用API
    11.1.1 HTTP方法和狀態碼
    11.1.2 從SDG API獲取數據
  11.2 使用FastAPI創建你自己的API
    11.2.1 設置API
    11.2.2 為你的API添加功能
    11.2.3 向你的API發出請求
  11.3 核心要點
第12章 自動化與部署
  12.1 部署代碼
  12.2 自動化示例
    12.2.1 預提交鉤子

    12.2.2 GitHub Actions
  12.3 雲部署
    12.3.1 容器和Docker
    12.3.2 構建Docker容器
    12.3.3 在Google Cloud上部署API
    12.3.4 在其他雲提供商上部署API
  12.4 核心要點
第13章 安全
  13.1 什麼是安全
  13.2 安全風險
    13.2.1 憑據、物理安全和社會工程
    13.2.2 第三方包
    13.2.3 Python Pickle模塊
    13.2.4 版本控制風險
    13.2.5 API安全風險
  13.3 安全實踐
    13.3.1 安全審查和政策
    13.3.2 安全編碼工具
    13.3.3 簡單代碼掃描
  13.4 機器學習安全
    13.4.1 對機器學習系統的攻擊
    13.4.2 機器學習系統安全實踐
  13.5 核心要點
第14章 在軟體行業工作
  14.1 開發原則與實踐
    14.1.1 軟體開發生命周期(SDLC)
    14.1.2 瀑布模型
    14.1.3 敏捷開發
    14.1.4 敏捷數據科學
  14.2 軟體行業的角色
    14.2.1 軟體工程師
    14.2.2 質量保證工程師或測試工程師
    14.2.3 數據工程師
    14.2.4 數據分析師
    14.2.5 產品經理
    14.2.6 用戶體驗研究員
    14.2.7 設計師
  14.3 社區
    14.3.1 開源
    14.3.2 在活動中演講
    14.3.3 Python社區
  14.4 核心要點
第15章 下一步
  15.1 代碼的未來
  15.2 你的代碼生涯
  15.3 鳴謝

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032