【資料分析】python機器學習-監督式學習常用方法選擇與基礎操作語法彙整

閱讀時間約 1 分鐘
raw-image

監督式學習(Supervised Learning)是一種機器學習方法,其中模型在訓練階段利用標註過的數據進行學習。標註數據集包含輸入特徵(Features)和對應的正確結果或標籤(Labels)。模型通過學習輸入特徵與標籤之間的映射關係,來預測新數據的結果。監督式學習可分為分類和回歸兩類問題:分類旨在將數據點分配到預定義的類別中,而回歸則用於預測連續數值。


# 可使用目錄功能快速確認要閱覽的主題


方法選擇參考

  • 線性回歸: 當需要建立一個簡單且解釋性強的模型來預測連續數值,並且特徵與目標之間是線性關係時,選擇線性回歸。
  • 邏輯回歸: 當在處理二分類問題時,希望得到一個易於解釋且能預測樣本屬於某一類別的概率的模型,選擇邏輯回歸。
  • 決策樹: 當需要一個簡單易懂、能夠處理非線性關係且方便可視化的模型來做分類或回歸時,選擇決策樹。
  • 支持向量機 (SVM): 當需要一個強大的分類器來處理高維數據,尤其是當數據不可線性分離時,選擇支持向量機。
  • k-近鄰算法 (KNN): 當需要一個基於鄰近點進行分類或回歸的模型,且不需要提前訓練的情況下,選擇 KNN。
  • 隨機森林: 當想要一個具有高準確性且能夠自動處理過擬合的集成模型,尤其是面對高維數據或異常值時,選擇隨機森林。
  • 梯度提升機 (GBM): 當需要一個強大的集成模型來解決複雜的分類或回歸問題,且不介意較長的訓練時間,選擇梯度提升機。


線性回歸 (Linear Regression)

線性回歸是一種用於預測連續變量的方法。它假設兩個變量之間存在線性關係,即自變量(輸入特徵)和因變量(目標值)之間可以用一條直線來表示。


應用場景

  • 預測房價、銷售額等連續變量
  • 分析自變量與因變量之間的關係
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# 假設 df 是你的資料框,其中包含特徵和目標值
X = df.drop(columns=['target']) # 自變量
y = df['target'] # 因變量

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立線性回歸模型
model = LinearRegression()
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算均方誤差
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')


線性回歸優點與缺點


優點

  • 簡單易解釋: 線性回歸模型簡單,容易理解和解釋。模型中的每個係數都能說明該特徵對目標變數的影響。
  • 計算效率高: 線性回歸的計算成本較低,適合大數據集的回歸問題。
  • 適合線性關係: 當特徵和目標變數之間的關係是線性的時,線性回歸表現良好。

缺點

  • 對異常值敏感: 線性回歸對異常值(outliers)非常敏感,異常值可能會極大影響模型的性能。
  • 不能捕捉非線性關係: 線性回歸只能捕捉線性關係,對於複雜的非線性數據表現較差。
  • 假設過於簡單: 假設特徵之間是獨立的,這在實際應用中可能不成立,影響模型的準確性。


邏輯回歸 (Logistic Regression)

邏輯回歸是一種用於分類問題的模型,特別適合於二元分類(如判斷是否生存)。雖然名稱中有「回歸」,但邏輯回歸實際上是用來預測一個二元結果(0或1,True或False)。


應用場景

  • 二元分類問題,如垃圾郵件檢測、疾病診斷
  • 預測某事件發生的概率
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 假設 df 是你的資料框,其中包含特徵和二元目標值
X = df.drop(columns=['target']) # 自變量
y = df['target'] # 因變量

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立邏輯回歸模型
model = LogisticRegression(max_iter=3000)
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')



邏輯回歸優點與缺點


優點

  • 解釋性強: 邏輯回歸模型輸出的權重係數有清晰的物理意義,便於理解和解釋。
  • 適合二分類問題: 非常適合解決二元分類問題,比如醫療診斷、信用風險評估等。
  • 效率高: 計算開銷小,適合大規模數據集。

缺點

  • 不能捕捉複雜關係: 和線性回歸一樣,邏輯回歸假設數據是線性可分的,無法處理非線性可分的數據。
  • 對異常值敏感: 邏輯回歸也對異常值敏感,異常值可能會極大影響模型的性能。
  • 需要特徵工程: 數據可能需要進行大量的預處理和特徵工程才能得到良好的模型性能。


決策樹 (Decision Tree)

決策樹是一種基於樹狀結構的分類和回歸模型。每個節點代表一個特徵,每個分支代表該特徵的一個可能取值,每個葉節點代表一個預測結果。決策樹易於解釋,適合處理非線性數據。


應用場景

  • 分類問題,如用戶行為預測
  • 回歸問題,如預測某些連續變量
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 假設 df 是你的資料框,其中包含特徵和目標值
X = df.drop(columns=['target']) # 自變量
y = df['target'] # 因變量

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立決策樹模型
model = DecisionTreeClassifier()
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')


決策樹優點與缺點


優點

  • 簡單易解釋: 決策樹模型的結構直觀,容易可視化和理解,適合展示決策過程。
  • 處理非線性數據: 決策樹可以很好地處理非線性數據,不需要對數據進行線性變換。
  • 特徵選擇自動化: 决策树能够自动处理多重特征的选择,且不需要进行数据标准化。

缺點

  • 容易過擬合: 決策樹容易對訓練數據過度擬合,導致對新數據的泛化能力較差。這需要通過剪枝或其他技術來控制。
  • 不穩定: 決策樹對於數據集的小變動非常敏感,可能導致完全不同的結果。
  • 偏差較高: 單棵決策樹的模型表現可能較差,特別是在數據集複雜的情況下。


支持向量機 (Support Vector Machine, SVM)

支持向量機是一種分類算法,其目的是找到一條最佳的超平面來最大化分類邊界,從而將不同類別的數據點分開。支持向量機在高維空間中特別有效,並且能夠處理非線性問題,這可以通過使用核技巧來實現。


應用場景

  • 二元分類問題,如文本分類、人臉識別
  • 當數據集高維度且類別之間的邊界明確時
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score

# 加載數據集
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立支持向量機模型
model = SVC(kernel='linear')
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')


支持向量機優點與缺點


優點

  • 效果好: 支持向量機在高維空間中表現出色,能夠有效處理線性不可分的數據,並且通常有較高的分類準確性。
  • 防止過擬合: SVM使用正則化參數來防止過擬合,在小樣本情況下依然表現良好。
  • 適用於各種場合: SVM能夠處理線性和非線性分類問題,並且在數據集中異常值較少的情況下效果尤為突出。

缺點

  • 計算成本高: 當數據集較大時,SVM的訓練時間和內存消耗會迅速增加,尤其是在選擇非線性核函數時。
  • 對異常值敏感: 雖然正則化可以防止過擬合,但SVM仍對異常值較為敏感,這可能會影響模型的性能。
  • 參數調整複雜: SVM的效果很大程度上依賴於正確選擇核函數和超參數,這通常需要通過交叉驗證進行調整。


k-近鄰算法 (k-Nearest Neighbors, KNN)

k-近鄰算法是一種簡單的非參數分類方法。該算法的基本思想是:對於給定的測試樣本,找出訓練集中與之最接近的k個樣本(鄰居),根據這k個樣本中的多數類別來決定測試樣本的類別。k-NN 對於少量數據集效果較好,但當數據量增大時計算開銷會增加。


應用場景

  • 圖像識別、文本分類等
  • 小型數據集或需要簡單直觀分類方法的情境
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# 加載數據集
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立k-NN模型
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')


k-近鄰算法優點與缺點


優點

  • 簡單易實現: k-NN算法簡單直觀,無需建模、訓練,直接進行分類或回歸,是一種典型的懶惰學習方法。
  • 適用於多類型數據: k-NN可以處理分類和回歸問題,並且不依賴數據的分佈形狀,適用於各種類型的數據集。
  • 無需假設: k-NN不需要對數據做任何假設,對於非線性數據同樣適用。

缺點

  • 計算量大: k-NN需要計算每個樣本與所有訓練數據的距離,當數據集較大時,計算成本較高,且對內存消耗大。
  • 對異常值敏感: k-NN對噪音和異常值較為敏感,這可能導致模型性能下降。
  • 需要調整k值: k值的選擇對結果影響較大,過小的k可能導致過擬合,過大的k可能導致欠擬合。


隨機森林 (Random Forest)

隨機森林是一種集成學習方法,通過結合多棵決策樹的結果來提高模型的準確性和穩定性。它通常比單一的決策樹模型具有更好的表現,並且對於過擬合問題具有更好的抵抗力。


應用場景

  • 複雜的分類和回歸問題
  • 當特徵數量多且特徵之間存在較大關聯時
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 假設 df 是你的資料框,其中包含特徵和目標值
X = df.drop(columns=['target']) # 自變量
y = df['target'] # 因變量

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立隨機森林模型
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')


隨機森林優點與缺點


優點

  • 高準確率: 隨機森林通過集成多棵決策樹,能夠提高模型的準確率和穩定性,並減少過擬合的風險。
  • 適用性廣泛: 隨機森林可以處理分類和回歸問題,且在大部分情況下都能得到較好的效果。
  • 自動特徵選擇: 隨機森林可以自動對特徵進行選擇和篩選,對於高維數據尤其有效。

缺點

  • 計算資源消耗大: 由於隨機森林需要訓練多棵決策樹,因此計算資源和時間消耗較大,尤其是在數據集較大時。
  • 模型解釋性差: 雖然隨機森林能夠給出特徵的重要性排序,但由於其複雜性,模型的整體解釋性較差。
  • 偏差-方差權衡: 隨機森林中個別決策樹的偏差可能會累積,對於某些應用場景而言,模型可能存在過擬合風險。


梯度提升機 (Gradient Boosting Machine, GBM)

梯度提升機是一種集成學習算法,通過多個弱學習器(如決策樹)來生成一個強大的預測模型。GBM的基本思想是逐步構建樹模型,每棵樹都試圖修正前一棵樹的錯誤預測。GBM能夠有效地處理非線性數據,並且在各種數據集上表現出色。


應用場景

  • 複雜的分類和回歸問題
  • 需要高精度預測的應用,如金融風險分析
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.metrics import accuracy_score

# 加載數據集
iris = datasets.load_iris()
X = iris.data
y = iris.target

# 分割數據
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 建立GBM模型
model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# 預測
y_pred = model.predict(X_test)

# 計算準確率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')


梯度提升機優點與缺點


優點

  • 高準確性: GBM通過逐步建立並結合弱學習器(如決策樹),在許多應用中能夠達到非常高的預測準確性。
  • 靈活性強: GBM可以處理各種數據類型,包括數值型和類別型數據,並且能夠用於分類和回歸問題。
  • 對異常值不敏感: 由於每棵樹只關注上一棵樹的殘差,GBM對異常值的影響較小。

缺點

  • 計算成本高: 由於GBM逐步構建樹的過程需要多次迭代,這使得訓練時間較長,計算資源需求較大。
  • 參數調整困難: GBM有許多超參數需要調整,如樹的數量、深度和學習率,這使得調參過程較為繁瑣。
  • 容易過擬合: 如果樹的數量過多或者學習率過高,GBM容易過擬合,需要通過參數調整和正則化來緩解。
4會員
19內容數
留言0
查看全部
發表第一個留言支持創作者!
JayRay 的沙龍 的其他內容
Seaborn 是基於 Matplotlib 的 Python 資料視覺化庫,旨在簡化統計圖形的繪製過程。本文介紹了 Seaborn 各類圖形的使用情況,包括散佈圖、折線圖、柱狀圖、直方圖、熱力圖和箱線圖,幫助用戶快速選擇合適的視覺化工具以進行有效的數據分析。
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
Seaborn 是基於 Matplotlib 的 Python 資料視覺化庫,旨在簡化統計圖形的繪製過程。本文介紹了 Seaborn 各類圖形的使用情況,包括散佈圖、折線圖、柱狀圖、直方圖、熱力圖和箱線圖,幫助用戶快速選擇合適的視覺化工具以進行有效的數據分析。
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
在資料分析過程中,透過衡量變數之間的線性或非線性關係,能有效探索數據集,篩選出重要特徵,並進行預測建模。本文介紹瞭如何理解數據、使用相關矩陣找出變數關聯性,以及利用互資訊評估變數之間的依賴程度,幫助資料科學家在建模過程中選擇適當的變數,提升模型效果。
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
資料前處理(Data Preprocessing)中的重要角色-缺失值處理。從檢查、刪除到填充缺失值,以及插值法和機器學習算法的應用方法。Pandas 缺失值處理基礎方法、進階填充缺失值、鐵達尼號存活預測資料集的示例和機器學習算法填補缺失值方法的介紹與使用。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
從基本概念開始,然後逐步深入學習 pandas 的各種功能。這是一個非常強大的 Python 資料分析工具,常用於處理結構化數據。 基本概念 pandas 主要有兩個核心資料結構: Series: 一維的資料結構,類似於 Python 中的列表,但它可以帶有標籤(index)。 DataFr
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
Thumbnail
決定「分析單位」是資料分析執行前,最需要確認的項目;決定了「分析單位」等同於決定分析結果數據呈現方式、解讀和應用方法。讓我們一起了解「分析單位」到底是什麼?什麼會決定分析單位?以及沒有弄清楚分析單位會有什麼影響?
Thumbnail
上一篇介紹了 Python 中的條件判斷,方法是透過了自動程式條件式判斷,以不同劇本的方式來執行動作。然而實際情況下,我們還常會遇到一種問題,就是必須重複執行某些相同的步驟,而迴圈(loop)的設計就是為了解決此「重複執行」的一種控制結構,讓我們可以在條件符合的情況下利用迴圈執行資料的輸入、處理與輸
Thumbnail
經歷過第一次的課程內容後,我們已經初步理解到Python的基本運算功能,接下來就要開始進入到高階語言都有的程式控制邏輯,先來個小小開胃菜—條件判斷。 if敘述 直接來帶範例會比較清楚理解: 第一次我們輸入國文分數為50分,由於數值50並沒有大於60,第一個if敘述的condition條件判斷就會是F
Thumbnail
首先,聊聊我與SimilarWeb的不解之緣😊,以前在媒體界擔任產品經理時,老闆最愛問下屬的一件事,別人家競品的網站狀況如何?流量如何?廣告策略有哪些?可是坦白說,沒有認識到別家公司內部員工的話,誰有辦法清楚知道,這時只能想些折衷的辦法,去翻翻網路資訊,或請教一些數位界的前輩,了解是否有哪些第三方
Thumbnail
前幾年因為工作方面的需求,花了一些時間自學了Python,進行網站爬蟲與資料分析,但近期由於職務的轉換,Python的實作應用機會減少了許多,對於code撰寫的敏感度也因此降低不少,趁著上個月看到勞動力職能發展協會官網有一門新課程「Python大數據資料探勘分析應用班」正在線上招生,想說既然政府與公
Thumbnail
最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。 接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。 條件機率與貝氏定理
Thumbnail
這一次在高雄上課,租用昂貴的電腦教室,只是很可惜,這家巨匠居然沒有安裝office,只有開放原始碼的試算表,有一點卡卡的,影響我的教學。 趁學員陸續到期,趕緊教他們下載資料;下載資料對我來說雖然簡單,但對於這一批學員來說,卻可能是第一次操作;還好很多學員立即學會,也立馬變身為種子教官,教會旁邊的學員
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
Thumbnail
從基本概念開始,然後逐步深入學習 pandas 的各種功能。這是一個非常強大的 Python 資料分析工具,常用於處理結構化數據。 基本概念 pandas 主要有兩個核心資料結構: Series: 一維的資料結構,類似於 Python 中的列表,但它可以帶有標籤(index)。 DataFr
Thumbnail
資料分析就像廚師料理一樣,但你知道可以分成哪9大流程嗎?一起看看資料分析流程和廚師料理有多像!
Thumbnail
資料分析三個主要的目的分別是探索性、解釋性及預測性。看看他們在方法及複雜度上有什麼差異,以及適用的情境。
Thumbnail
決定「分析單位」是資料分析執行前,最需要確認的項目;決定了「分析單位」等同於決定分析結果數據呈現方式、解讀和應用方法。讓我們一起了解「分析單位」到底是什麼?什麼會決定分析單位?以及沒有弄清楚分析單位會有什麼影響?
Thumbnail
上一篇介紹了 Python 中的條件判斷,方法是透過了自動程式條件式判斷,以不同劇本的方式來執行動作。然而實際情況下,我們還常會遇到一種問題,就是必須重複執行某些相同的步驟,而迴圈(loop)的設計就是為了解決此「重複執行」的一種控制結構,讓我們可以在條件符合的情況下利用迴圈執行資料的輸入、處理與輸
Thumbnail
經歷過第一次的課程內容後,我們已經初步理解到Python的基本運算功能,接下來就要開始進入到高階語言都有的程式控制邏輯,先來個小小開胃菜—條件判斷。 if敘述 直接來帶範例會比較清楚理解: 第一次我們輸入國文分數為50分,由於數值50並沒有大於60,第一個if敘述的condition條件判斷就會是F
Thumbnail
首先,聊聊我與SimilarWeb的不解之緣😊,以前在媒體界擔任產品經理時,老闆最愛問下屬的一件事,別人家競品的網站狀況如何?流量如何?廣告策略有哪些?可是坦白說,沒有認識到別家公司內部員工的話,誰有辦法清楚知道,這時只能想些折衷的辦法,去翻翻網路資訊,或請教一些數位界的前輩,了解是否有哪些第三方
Thumbnail
前幾年因為工作方面的需求,花了一些時間自學了Python,進行網站爬蟲與資料分析,但近期由於職務的轉換,Python的實作應用機會減少了許多,對於code撰寫的敏感度也因此降低不少,趁著上個月看到勞動力職能發展協會官網有一門新課程「Python大數據資料探勘分析應用班」正在線上招生,想說既然政府與公
Thumbnail
最近在公司跟資料科學家一起討論了產品推薦機制的運作邏輯,才開始理解了甚麼是關聯分析(Associative Analysis),覺得挺有趣的,想說把學習心得記錄下來,藉此機會跟大家分享。 接著下來,我們就以「樂屋網」產品的使用者行為資料庫,做為假設的範例,進行簡單的解釋說明。 條件機率與貝氏定理
Thumbnail
這一次在高雄上課,租用昂貴的電腦教室,只是很可惜,這家巨匠居然沒有安裝office,只有開放原始碼的試算表,有一點卡卡的,影響我的教學。 趁學員陸續到期,趕緊教他們下載資料;下載資料對我來說雖然簡單,但對於這一批學員來說,卻可能是第一次操作;還好很多學員立即學會,也立馬變身為種子教官,教會旁邊的學員