Data Science 數據科學應用

15 Posts

踏入 AI 工具的時代,你駕馭了嗎?AI 工具探索:激發無限創意,輕鬆生成

在 ChatGPT 颳起了全球旋風后,人們對生成式AI的興趣不斷增加。除了聊天機器人外,生成式 AI 還有許多令人驚奇的應用。這些工具不僅提供創新的解決方案,還為創意表達開啟了新的可能性。我將介紹三個特別有創意且有趣的應用程式:Tensor Art、Phind,以及HeyGen。並整合這三個應用程式,打造出一個虛擬的GA講師。 首先,來創建一個講師圖像吧! Tensor Art:創建講師圖像 Tensor Art 展現了創作滿滿細節、逼真照片的可能性。憑藉其獨特功能,如模型選擇和提示詞,使用者可以盡情釋放創意,將他們的想像具現化。不論您是製作靜態圖像、轉換現有照片,還是創造動畫序列,Tensor Art 整合了人工智慧生成照片的力量,為創作無限的可能性敞開了大門。 值得一提的是,Tensor Art 每天會給予用戶 100 點免費算力,而一張圖片約消耗 1.5 至 3 點算力,讓用戶輕鬆享受創作的樂趣。

一招讓你自動複製BigQuery資料集(Dataset)的GA4每一天資料必殺技

前情提要 由於BigQuery的GA4資料集都是好幾年的資料,要進行查詢時難免會不小心Query大量資料,而且BigQuery的查詢價格又變貴了。 BigQuery 企業資料倉儲BigQuery 是符合成本效益的無伺服器多雲端資料倉儲系統,可協助您將大數據轉化為寶貴的業務深入分析結果。歡迎免費試用。Google Cloud 如果你需要讓其他人進行小規模GA4的BigQuery測試,例如僅需要一個月的資料,GA4的資料集是經過日期的partition,每一天是一張資料表,因此在複製一個月的資料時,你會需要一張一張資料表進行複製,那可是會複製到思考人生為何要浪費時間在這個重複的動作上。 各位有福了,今天無私分享複製必殺技,我們會透過shell script的方式進行資料表複製。 Step1. 進到GCP的Cloud Shell Step2. 開啟Open Editor Step3. 新增copy_bigquery.sh,把右邊的程式碼複製進去,程式碼傳送門。 小提醒:目前有新的編輯器上線,使用這個版本的編輯器會跳出警示。 Step4. 畫紅線的部分,要記得修改為你的設定哦

數據預測模型起手式:如何判斷品牌是否準備好了?

前情提要 之前的幾篇文章分享了預測模型的種類、限制和應用場景,除了實際運用的可能性與可用性外,大家最常問的問題還有:我們手上的數據是否足夠完成預測模型呢?實際上可否建置一個成功可用的預測模型,除了數據的多寡和品質外,也會受到應用範圍、更新頻率、產出標的和準確性要求等面向影響。但是!如果要把這些要素都評估完,不僅耗時還耗人力,今天想透過這篇文章的分享,讓非數據人員也可以快速完成初步判斷!帶著用這份守則評估的結果,再與數據團隊做更進一步的討論,相信可以有效加快您們的對焦速度唷~ 哪些數據對建置預測模型來說是必要或需要的? 說好的5分鐘完成初判,絕對要讓您喝杯咖啡的時間就完成XD先提供完整大圖給各位,可以看到總共4種類(1-4)的數據判斷方向、並依狀況不同帶來4種結果(A-D): 接下來逐步展開說明,首先是不同的數據判斷方向(1-4) 1. 可被識別的人數是否足夠:無論實名PII或匿名cookie,可以被視作「一個人」的量體是否足夠?而人數是否足夠,可以用下面兩個思路來初步判斷: a.以後實際應用的量體是多少?假設每次投放廣告,大概都是10-15萬人 b.那麼從應用需要10-

[Data Science] ChatGPT 帶來崛起的向量資料庫 ! Embedding和向量資料庫系列-3:認識語言模型

前言 上回,我們在Embedding和向量資料庫系列-2:Embedding實作與相似度計算?介紹了如何實作文本生成Embedding的方式,以及幾個相似度計算的應用範例來給大家一些在用法上的想像。同時在上回的小結中還提到了幾個疑問,這些疑問其實就是我們今天要討論的主題,該如何來認識與理解語言模型。今天,在本篇文章中,我們將用簡單易懂的方式,從目標問題的不同來帶大家認識語言模型是如何設計和訓練的。 語言模型是怎麼訓練的? 在Embedding和向量資料庫系列-1:Embedding是什麼?中我們知道了Embedding是模型理解世界的方式,它可以將我們的輸入資訊經過一系列的訓練計算,找到可以表達實體資訊的向量。在語言模型的例子中,輸入的就會是我們平常說的自然語言,而Embedding就是模型用來理解表達的方式。 這個時候,相信大家可能會問,那模型怎麼知道要怎麼學習來理解自然語言呢? 首先,讓我們先來看看下面這張圖: 從圖可以很簡單的理解,我們輸入給模型一些資訊,然後希望模型經過計算後,提供給我們一個我們想要的輸出。模型就像一個魔法黑盒子,也像一個計算超級複雜的函式。 然

[Data Science] 什麼是混淆矩陣 (Confusion Matrix) -模型評估指標

前言 在機器學習和統計學中,混淆矩陣是一種表示監督式學習模型預測結果的表格,特別適用於分類問題。混淆矩陣可以幫助我們了解模型在不同類別上的表現情況,進而評估模型的效能。 一、混淆矩陣的概念 混淆矩陣通常是一個 N x N 的矩陣,其中 N 是類別的數量。對於二元分類問題來說,混淆矩陣是一個 2x2 的矩陣,包含以下四個重要的元素: True Positive (TP):真陽性,表示模型正確地將正類別樣本分類為正類別。 False Positive (FP):假陽性,表示模型將負類別樣本錯誤地分類為正類別。 True Negative (TN):真陰性,表示模型正確地將負類別樣本分類為負類別。 False Negative (FN):假陰性,表示模型將正類別樣本錯誤地分類為負類別。 二、混淆矩陣的應用 混淆矩陣可以幫助我們計算出許多模型評估指標,包括準確率、精確率、召回率和 F值分數等。這些指標可以幫助我們全面評估模型在不同方面的表現。 準確率(

By Allen

[Data Science] MLOps Python套件Scikit-Learn Pipeline

一、前言 機器學習已經成為推動業務創新和提升決策品質的重要力量。隨著機器學習模型在各行各業的廣泛應用,如何有效地將這些模型從實驗室環境轉移到生產環境,並確保它們在實際操作中的穩定性和效率,MLOps是一種實踐,結合了機器學習、DevOps(開發與運營)和數據工程的原則,旨在自動化和優化機器學習模型的整個生命周期。 二、Scikit-Learn介紹 是一種主要由python撰寫的套件庫,根據其官網的介紹: 1. 用於分析、預測資料簡單且有效的工具 2. 大部人都可以很快速上手,且可以適用於不同情境 3. 基於NumPy, SciPy, and matplotlib建構 4. 開源且商業可用 常見的分類、分群、迴歸等方法在scikit-learn中都可以找到,除了收納了多數常用模型外,也提供了不少除了模型以外的工具如: 1. 資料預處理(標準化、遺失值處理...) 2. 模型特徵選擇及降維(PCA、LDA) 3. 模型評估方法(交叉驗證、Reacll、F1-score) 4. 模型儲存 5.

行銷人進入數據世界:資料庫、資料倉儲、資料湖、數據中台?一篇搞懂其中差異與用途

前情提要 相信無論您是品牌內的行銷部門或是身在代理商的行銷人員,都感受到隨著品牌行銷越做越深,我們也從P-O-E(Paid-Own-Earn)、SEM+SEO、O2O等跨渠道、跨工具的整合,更進一步的頻繁接觸到第一方數據的整合與應用。在這些對話過程中,您是否也聽過技術廠商或IT/Data部門提到以下這些關鍵字呢? * 資料庫Database * 資料倉儲Data Warehouse * 資料湖Data Lake * 數據中台Data Middle Platform/Data Center * 同場加映:客戶資料平台Customer Data Platform 這些乍看都是收集存放數據的環境,但彼此之間仍然有使用方式和目的的不同。今天就透過這篇文章,用簡單好懂的方式展開這四種環境的介紹吧! 資料庫Database 資料庫應該是我們日常作業中最耳熟能詳的詞了,舉凡交易資料、上架紀錄、會員資料、消費紀錄...都可能存放在資料庫中。資料庫主要存放大量原始資料,比起運算速度和分析效果,資料庫重點講求的是資料的正確性。依照產業或公司自己的需求,不同的資料來源/資料種類,可能存

[Python] 環境建置與套件管理工具-pip、conda、mamba

前言 相信各位在學習使用python的過程中,會發現有很多安裝環境與套件的方式。隨著套件越裝越多,一定都會遇到環境安裝的問題,套件總是裝了又刪,卻總是弄不好環境,尤其當開始試著建立不同版本的機器學習環境,再加上要使用GPU時,更是常常裝一裝就壞了。面對這樣的問題,以及各式各樣的套件管理工具與安裝方式如pip、conda、anaconda、miniconda、miniforge、mamba,我們應該如何選擇與使用,這些工具之間的差異是又什麼呢? 本文將介紹上述這些工具,讓大家選擇合適的方式來管理python環境吧! 套件管理工具 ❗"套件管理? 遇到module not found?直接pip install 錯了嗎?" 首先,在介紹這些工具之前,必須先了解為什麼需要套件管理工具。 相信會點進來閱讀本文的你,都知道我們在用Python開發的時候,會用到很多不同的套件。但在安裝套件時,你會怎麼做呢? 缺什麼就都直接pip install嗎? 大部分人在看套件的安裝文件時,可能會看到它提供兩種不同的安裝方式 conda & pip,以畫圖的套件seaborn為例: 這個時候再

By Allen

[Data Science]探討模型/分析程式架構

一、前言 軟體開發中,會將程式架構引入設計模式(design pattern),目的是用來簡化程式的開發與強化程式的維護性;例如常見的Model-View-Controller(MVC)模式,或是拆成router、controller、service、handle等區塊等,將每個單一的功能或方法,依據不同的功能與邏輯分拆並放到不同的區塊之中,已建立專案內鬆散的耦合(Loose Coupling)關係。 如上圖,一個使用者對點擊一個網頁,觸發了一項請求,這份請求原本應該是一支function再回傳結果,但根據拆分後的架構,請求會經Router決定他要由哪個Controller進行param的檢查後進到Service做資料的撈取。 拆解後的程式架構中,每一個部分負責的功能都不一樣,主要是強調職責分離,這樣的好處可以讓開發跟維護人員可以更快的針對目的或是BUG找到對應的部分,因此在維護跟開發上更加方便。 二、模型/分析有沒有所謂的”通用”架構? 隨著硬體的日新月異,資料的儲存、演算法的運行時間門檻逐漸降低,即時無法購買大型機器或高階顯卡,也能透過租用的方式來獲得高端的空間或是效

[Data Science] Embedding和向量資料庫系列-2:Embedding實作與相似度計算

前言 上回,在Embedding和向量資料庫系列-1:Embedding是什麼?介紹了Embedding的幾個基本概念,講述了Embedding產生的方式以及其可表達實體的相似與相異關係的特性。這次,本文將利用Sentence-BERT實作範例,帶大家認識如何幫文本產生Embedding,並且利用相似度的計算來完成一些情境的應用。 語言模型 當我們想要幫文本產生Embedding,可能會遇到一系列的問題;如,從眾多語言模型中,應該選擇哪個開始下手? 模型是否可以直接使用? 模型可以從哪些途徑取得或訓練? 首先,大家可以很簡單的試想一下,如果Embedding可以來表示數量龐大的文字和複雜的語意關係,那過程中使用和產出Embedding的語言模型,想必相對的需要大量高品質且還蓋廣泛主題類型的文本資料集作為訓練基礎。 而大量的訓練資料也意味著需要強大的運算資源和大量運算時間。大家可能有聽過由Google的BERT衍生的各種模型,或是最近期熱度很高的OpenAI的GPT系列模型,這些都是耗費大量成本訓練出來的模型。而這些已經經過大量資料訓練的模型,我們會稱為預訓練模型(pre-tr

[Data Science] Embedding和向量資料庫系列-1:Embedding是什麼?

前言 2022年底,ChatGPT橫空出世,為整個世界帶來又一次的AI熱潮,短短幾個月間,各式各樣的嘗試與應用隨之出現。Open AI 這次投下的震撼彈,也逼著其他科技巨頭們紛紛跟著出牌,一時間整個AI界百花齊放,不只是LLM (Large Language Model,大型語言模型)的各種花式應用,其他 AIGC (AI Generated Content)的模型與討論也跟著大量出現。 隨著大量對LLM的嘗試與體驗後,人們開始日漸理解LLM生成的品質與限制。大家開始思考,如果想將LLM應用在自己的商業情境中,該怎麼實現讓LLM "依照指定或有限範圍中的資料或知識"來回答呢? 於是,向量資料庫就在這樣的背景下迎來崛起,跟著成為熱門的討論話題,就讓我們來看看LLM接上向量資料庫這個"外接的大腦"到底是怎麼一回事吧! 本篇文章包含三個段落,主要想帶大家理解向量嵌入的基本概念: * Embedding是模型理解世界的方式 * 簡單理解Embedding的概念 * 為什麼需要使用Embedding? 它解決了什麼問題? Vector Embedding 向量嵌入 在談語言模

[BigQuery] 如何建立分區資料表 (partitioned tables)

一、什麼是分區資料表? BigQuery分區資料表是一種在Google Cloud Platform的BigQuery中,將資料表根據特定欄位分割成多個部分的方法,以提高查詢效能和數據管理的效率。像是下圖依照Order_Date欄位將資料表分區。 二、為什麼需要將資料表分區? 隨著業務拓展及時間的累積,BigQuery儲存的資料量越來越多,查詢所需要的花費及時間也會越來越多,儘管在查詢時用WHERE去過濾資料,運算時還是會掃描整張表,花費並不會因此而減少,這時候就需要將資料表進行分區,資料表被分區後能有以下幾個優點: 1. 提高查詢效率 當數據表變得非常多時,執行查詢可能需要大量的時間。分區資料表將數據分成更小的部分,能夠僅查詢感興趣的特定分區數據,可以顯著提高查詢的效率。例如,可以根據日期分區數據,這樣可以只查詢特定日期範圍內的數據。 2. 節省成本 在查詢時,只針對需要的分區資料表進行查詢,可以讓查詢量限縮在選擇的這些分區下。例如,以日期分區的資料表,只查詢特定日期範圍內的數據時,就只會掃描該日期範圍區間內的資料。也可以強制使用資料表的使用者,在進行查詢時,必定要先