国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

超強!必會的十大機器學習算法

人工智能 機器學習
梯度提升是一種先進的機器學習技術。它依次構建多個弱預測模型(通常是決策樹)。每個新模型都逐漸最小化整個模型的損失函數(誤差)。

1.線性回歸

線性回歸是用于預測建模的最簡單且使用最廣泛的機器學習算法之一。

它是一種監督學習算法,用于根據一個或多個自變量預測因變量的值。

定義

線性回歸的核心是根據觀察到的數據擬合線性模型。

線性模型由以下方程表示:

其中

  •  是因變量(我們想要預測的變量)
  •  是自變量(我們用來進行預測的變量)
  •  是直線的斜率
  •  是 y 軸截距(直線與 y 軸的交點)

線性回歸算法涉及找到通過數據點的最佳擬合線。這通常是通過最小化觀測值和預測值之間的平方差之和來完成的。

評估指標

  • 均方誤差 (MSE):測量誤差平方的平均值。值越低越好。
  • R平方:表示可以根據自變量預測的因變量變異的百分比。越接近 1 越好。
from sklearn.datasets import load_diabetes
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score

# Load the Diabetes dataset
diabetes = load_diabetes()
X, y = diabetes.data, diabetes.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the Linear Regression model
model = LinearRegression()
model.fit(X_train, y_train)

# Predicting the test set results
y_pred = model.predict(X_test)

# Evaluating the model
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)

print("MSE is:", mse)
print("R2 score is:", r2)

2.邏輯回歸

邏輯回歸用于分類問題。它預測給定數據點屬于某個類別的概率,例如是/否或 0/1。

評估指標
  • 準確度:準確度是正確預測的觀測值與總觀測值的比率。
  • 精確度和召回率:精確度是正確預測的正觀察值與所有預期的正觀察值的比率。召回率是正確預測的積極觀察與實際中所有觀察的比例。
  • F1 分數:召回率和精確率之間的平衡。
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score


# Load the Breast Cancer dataset
breast_cancer = load_breast_cancer()
X, y = breast_cancer.data, breast_cancer.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the Logistic Regression model
model = LogisticRegression(max_iter=10000)
model.fit(X_train, y_train)

# Predicting the test set results
y_pred = model.predict(X_test)

# Evaluating the model
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred)
recall = recall_score(y_test, y_pred)
f1 = f1_score(y_test, y_pred)

# Print the results
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)

3.決策樹

決策樹是多功能且強大的機器學習算法,可用于分類和回歸任務。

它們因其簡單性、可解釋性以及處理數值和分類數據的能力而廣受歡迎。

定義

決策樹由代表決策點的節點、代表可能結果的分支以及代表最終決策或預測的葉子組成。

決策樹中的每個節點對應一個特征,分支代表該特征的可能值。

構建決策樹的算法涉及根據不同特征的值遞歸地將數據集分割成子集。目標是創建同質子集,其中目標變量(我們想要預測的變量)在每個子集中都是相似的。

分裂過程持續進行,直到滿足停止標準,例如達到最大深度、最小樣本數,或者無法進行進一步改進。

評估指標

  • 對于分類:準確率、精確率、召回率和 F1 分數
  • 對于回歸:均方誤差 (MSE)、R 平方
from sklearn.datasets import load_wine
from sklearn.tree import DecisionTreeClassifier

# Load the Wine dataset
wine = load_wine()
X, y = wine.data, wine.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the Decision Tree model
model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)

# Predicting the test set results
y_pred = model.predict(X_test)

# Evaluating the model
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred, average='macro')
recall = recall_score(y_test, y_pred, average='macro')
f1 = f1_score(y_test, y_pred, average='macro')

# Print the results
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)

4.樸素貝葉斯

樸素貝葉斯分類器是一系列簡單的 “概率分類器”,它們使用貝葉斯定理和特征之間的強(樸素)獨立性假設。它特別用于文本分類。

它計算給定每個輸入值的每個類別的概率和每個類別的條件概率。然后使用這些概率根據最高概率對新值進行分類。

評估指標:

  • 準確性:衡量模型的整體正確性。
  • 精確率、召回率和 F1 分數:在類別分布不平衡的情況下尤其重要。
from sklearn.datasets import load_digits
from sklearn.naive_bayes import GaussianNB

# Load the Digits dataset
digits = load_digits()
X, y = digits.data, digits.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the Naive Bayes model
model = GaussianNB()
model.fit(X_train, y_train)

# Predicting the test set results
y_pred = model.predict(X_test)

# Evaluating the model
accuracy = accuracy_score(y_test, y_pred)
precision = precision_score(y_test, y_pred, average='macro')
recall = recall_score(y_test, y_pred, average='macro')
f1 = f1_score(y_test, y_pred, average='macro')

# Print the results
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)

5.K-最近鄰(KNN)

K 最近鄰 (KNN) 是一種簡單直觀的機器學習算法,用于分類和回歸任務。

它根據輸入數據點與其在特征空間中最近鄰居的相似性進行預測。

在 KNN 中,新數據點的預測由其 k 個最近鄰的多數類(用于分類)或平均值(用于回歸)確定。KNN 中的 “k” 表示要考慮的鄰居數量,這是用戶選擇的超參數。

算法

KNN 算法包括以下步驟

  1. 計算距離:計算新數據點與數據集中所有其他數據點之間的距離。
  2. 查找鄰居:根據計算的距離選擇 k 個最近鄰居。
  3. 多數投票或平均:對于分類,分配 k 個鄰居中出現最頻繁的類標簽。對于回歸,計算 k 個鄰居的目標變量的平均值。
  4. 進行預測:將預測的類標簽或值分配給新數據點。

評估指標

  • 「分類」:準確率、精確率、召回率、F1 分數。
  • 「回歸」:均方誤差 (MSE)、R 平方。
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# Load the Wine dataset
wine = load_wine()
X, y = wine.data, wine.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the KNN model
knn_model = KNeighborsClassifier(n_neighbors=3)
knn_model.fit(X_train, y_train)

# Predicting the test set results
y_pred_knn = knn_model.predict(X_test)

# Evaluating the model
accuracy_knn = accuracy_score(y_test, y_pred_knn)
precision_knn = precision_score(y_test, y_pred_knn, average='macro')
recall_knn = recall_score(y_test, y_pred_knn, average='macro')
f1_knn = f1_score(y_test, y_pred_knn, average='macro')

# Print the results
print("Accuracy:", accuracy_knn)
print("Precision:", precision_knn)
print("Recall:", recall_knn)
print("F1 Score:", f1_knn)

6.SVM

支持向量機 (SVM) 是一種強大的監督學習算法,用于分類和回歸任務。

它們在高維空間中特別有效,廣泛應用于圖像分類、文本分類和生物信息學等各個領域。

算法原理

支持向量機的工作原理是找到最能將數據分為不同類別的超平面。

選擇超平面以最大化邊距,即超平面與每個類的最近數據點(支持向量)之間的距離。

SVM 還可以通過使用核函數將輸入空間轉換為可以線性分離的高維空間來處理非線性數據。

訓練 SVM 的算法包括以下步驟:

  1. 數據準備:預處理數據并根據需要對分類變量進行編碼。
  2. 選擇核:選擇合適的核函數,例如線性、多項式或徑向基函數 (RBF)。
  3. 模型訓練:通過尋找使類之間的間隔最大化的超平面來訓練 SVM。
  4. 模型評估:使用交叉驗證或保留驗證集評估 SVM 的性能。

評估指標

  • 「分類」:準確率、精確率、召回率、F1 分數。
  • 「回歸」:均方誤差 (MSE)、R 平方。
from sklearn.svm import SVC

breast_cancer = load_breast_cancer()
X, y = breast_cancer.data, breast_cancer.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the SVM model
svm_model = SVC()
svm_model.fit(X_train, y_train)

# Predicting the test set results
y_pred_svm = svm_model.predict(X_test)

# Evaluating the model
accuracy_svm = accuracy_score(y_test, y_pred_svm)
precision_svm = precision_score(y_test, y_pred_svm, average='macro')
recall_svm = recall_score(y_test, y_pred_svm, average='macro')
f1_svm = f1_score(y_test, y_pred_svm, average='macro')

accuracy_svm, precision_svm, recall_svm, f1_svm

# Print the results
print("Accuracy:", accuracy_svm)
print("Precision:", precision_svm)
print("Recall:", recall_svm)
print("F1 Score:", f1_svm)

7.隨機森林

隨機森林是一種集成學習技術,它結合了多個決策樹來提高預測性能并減少過度擬合。

它們廣泛用于分類和回歸任務,并以其魯棒性和多功能性而聞名。

算法步驟

隨機森林是根據數據集的隨機子集并使用特征的隨機子集進行訓練的決策樹的集合。

森林中的每棵決策樹獨立地進行預測,最終的預測是通過聚合所有樹的預測來確定的。

構建隨機森林的算法包括以下步驟

  1. 隨機采樣:從數據集中隨機選擇樣本子集(帶替換)來訓練每棵樹。
  2. 特征隨機化:隨機選擇每個節點的特征子集以考慮分割。
  3. 樹構建:使用采樣數據和特征構建多個決策樹。
  4. 投票或平均:聚合所有樹的預測以做出最終預測。

評估指標

  • 分類:準確率、精確率、召回率、F1 分數。
  • 回歸:均方誤差 (MSE)、R 平方。
from sklearn.ensemble import RandomForestClassifier

breast_cancer = load_breast_cancer()
X, y = breast_cancer.data, breast_cancer.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)


# Creating and training the Random Forest model
rf_model = RandomForestClassifier(random_state=42)
rf_model.fit(X_train, y_train)

# Predicting the test set results
y_pred_rf = rf_model.predict(X_test)

# Evaluating the model
accuracy_rf = accuracy_score(y_test, y_pred_rf)
precision_rf = precision_score(y_test, y_pred_rf, average='macro')
recall_rf = recall_score(y_test, y_pred_rf, average='macro')
f1_rf = f1_score(y_test, y_pred_rf, average='macro')

# Print the results
print("Accuracy:", accuracy)
print("Precision:", precision)
print("Recall:", recall)
print("F1 Score:", f1)

8.K-均值聚類

K 均值聚類是一種無監督學習算法,用于將數據分組為 “K” 個聚類。確定 k 個質心后,每個數據點被分配到最近的簇。

該算法將數據點分配給一個簇,使得數據點與簇質心之間的平方距離之和最小。

評估指標

  • 「慣性」:樣本到最近聚類中心的總平方距離稱為慣性。值越低越好。
  • 「Silhouette Score」:表示一個項目屬于其自身集群的緊密程度。高輪廓分數意味著該項目與其自身的集群匹配良好,而與附近的集群匹配不佳。輪廓得分從 -1 到 1。
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score

# Load the Iris dataset
iris = load_iris()
X = iris.data

# Applying K-Means Clustering
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X)

# Predicting the cluster for each data point
y_pred_clusters = kmeans.predict(X)

# Evaluating the model
inertia = kmeans.inertia_
silhouette = silhouette_score(X, y_pred_clusters)

print("Inertia:", inertia)
print("Silhouette:", silhouette)

9.PCA

降維是通過使用主成分分析 (PCA) 來完成的。它將數據轉換為新的坐標系,減少變量數量,同時盡可能多地保留原始數據的變化。

使用 PCA 可以找到使數據方差最大化的主要成分或軸。第一個主成分捕獲最大方差,第二個主成分(與第一個主成分正交)捕獲第二大方差,依此類推。

評估指標

  • 「解釋方差」:表示每個主成分捕獲的數據方差有多少。
  • 「總解釋方差」:由所選主成分解釋的累積方差。
from sklearn.datasets import load_breast_cancer
from sklearn.decomposition import PCA
import numpy as np

# Load the Breast Cancer dataset
breast_cancer = load_breast_cancer()
X = breast_cancer.data

# Applying PCA
pca = PCA(n_compnotallow=2)  # Reducing to 2 dimensions for simplicity
pca.fit(X)

# Transforming the data
X_pca = pca.transform(X)

# Explained Variance
explained_variance = pca.explained_variance_ratio_

# Total Explained Variance
total_explained_variance = np.sum(explained_variance)

print("Explained variance:", explained_variance)
print("Total Explained Variance:", total_explained_variance)

10.梯度提升算法

梯度提升是一種先進的機器學習技術。它依次構建多個弱預測模型(通常是決策樹)。每個新模型都逐漸最小化整個模型的損失函數(誤差)。

評估指標

  • 「對于分類」:準確率、精確率、召回率、F1 分數。
  • 「對于回歸」:均方誤差 (MSE)、R 平方。
from sklearn.datasets import load_diabetes
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.metrics import mean_squared_error, r2_score

# Load the Diabetes dataset
diabetes = load_diabetes()
X, y = diabetes.data, diabetes.target

# Splitting the dataset into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Creating and training the Gradient Boosting model
gb_model = GradientBoostingRegressor(random_state=42)
gb_model.fit(X_train, y_train)

# Predicting the test set results
y_pred_gb = gb_model.predict(X_test)

# Evaluating the model
mse_gb = mean_squared_error(y_test, y_pred_gb)
r2_gb = r2_score(y_test, y_pred_gb)

print("MSE:", mse_gb)


責任編輯:武曉燕 來源: 程序員學長
相關推薦

2022-08-26 14:46:31

機器學習算法線性回歸

2024-09-11 08:32:07

2022-05-11 15:20:31

機器學習算法預測

2022-09-04 19:38:11

機器學習算法

2016-12-01 07:41:37

機器學習常用算法

2020-03-06 10:45:48

機器學習人工智能神經網絡

2017-12-16 11:50:56

機器學習常用算法

2017-04-18 09:46:31

機器學習工程師算法

2022-04-19 08:29:12

Python機器學習

2024-07-29 15:07:16

2020-11-25 10:40:58

程序員技能開發者

2020-05-20 07:00:00

機器學習人工智能AI

2018-01-04 08:52:17

機器學習算法移動醫療統計技術

2018-09-12 10:10:09

2022-08-15 09:34:56

機器學習人工智能

2021-02-03 05:26:49

機器學習存儲AI

2021-01-17 23:03:15

機器學習開源人工智能

2025-04-08 01:11:00

算法FFT排序

2020-11-05 11:08:11

人工智能

2017-10-30 14:56:04

機器學習算法非監督學習
點贊
收藏

51CTO技術棧公眾號

欧美日韩美女在线| 992tv成人免费影院| 黄色成人在线观看| 欧美性大战xxxxx久久久| 人人澡人人添人人爽一区二区| 亚洲美女在线观看| 加勒比色老久久爱综合网| 456亚洲影院| 亚洲婷婷免费| 超碰97在线看| 国产精品视频第一区| 欧美拍拍视频| 亚洲美女久久久| 妖精一区二区三区精品视频| 久久久久久欧美精品色一二三四 | 青春草免费在线视频| 日韩视频欧美视频| 日韩毛片视频| 可以在线看黄的网站| 自拍偷拍国产精品| a视频在线免费看| 欧美激情国内偷拍| 激情另类综合| 成人免费在线小视频| 欧美中文字幕亚洲一区二区va在线 | 视频一区二区三区在线看免费看| 欧美www视频| 欧美天堂社区| 日本视频精品一区| 日韩毛片高清在线播放| av2020不卡| 国产美女久久精品| 国产成人精品午夜视频免费| 亚洲а∨精品天堂在线| 成人av一级片| 欧美亚洲综合网| 国产精品亚洲一区二区在线观看 | 午夜在线精品| 福利电影导航| 日韩精品在线视频| 午夜欧美精品久久久久久久| 免费黄色日本网站| 日韩一区二区不卡| 四虎成人av| 天美星空大象mv在线观看视频| 精品动漫一区二区三区在线观看| 精品久久电影| www.国产区| 亚洲精品av在线| 激情视频一区| 五月天婷婷综合社区| 在线看日韩av| 日韩专区在线视频| 都市激情在线视频| 国产成人免费91av在线| www.欧美精品一二区| av成人 com a| 麻豆一区区三区四区产品精品蜜桃| 亚洲一区二区三区四区在线免费观看 | 伊人网在线视频| 欧美激情久久久| 国产在线不卡视频| 色a资源在线| 成人午夜电影在线播放| 亚洲五月六月丁香激情| 99久久人爽人人添人人澡 | 成人毛片视频网站| 日韩电影在线观看永久视频免费网站| 亚洲成av人片一区二区密柚| 邪恶网站在线观看| 美女视频黄免费的亚洲男人天堂| 黄色日韩网站视频| 国产精品69xx| 亚洲春色在线视频| 日韩欧美不卡一区| 久久亚洲风情| 超碰公开在线| 欧美12av| 日韩一区国产二区欧美三区| 亚洲国产午夜| 国产中文在线| 国产欧美日韩伦理| 欧美日韩亚洲91| 99视频精品全部免费在线视频| siro系绝美精品系列| 欧美中文在线免费| 亚洲人成网站色在线观看| jizz国产精品| 超清福利视频| 国产精品扒开腿做爽爽爽的视频| 亚洲精品日日夜夜| 色婷婷一区二区三区| 视频一区二区三区在线看免费看| 亚洲va欧美va在线观看| 精品视频在线免费| 日韩高清中文字幕一区| 激情黄产视频在线免费观看| 中国 免费 av| www国产精品视频| 亚洲国产精品高清| 久操成人av| 视频二区在线| 久久综合九色综合久99| 亚洲成色777777在线观看影院 | 欧美激情国产精品日韩| 久久全球大尺度高清视频| 日韩理论在线观看| 国产精品久久观看| 欧美成年黄网站色视频| 中文字幕一区二区三区最新| 亚洲日韩欧美视频| 国产欧美日韩不卡| 欧美日韩国产高清电影| 国产日本在线观看| 一卡二卡3卡四卡高清精品视频| 国产一区av在线| 国产精品久久久久久妇女6080| 精品一区二区三区在线| 国产精品一区二区婷婷| 欧美不卡三区| 在线国产精品播放| 一区二区三区在线观看网站| 国产综合激情| 成人日韩在线观看| 美女激情网站| 精品一区二区三区日本| 中文字幕日韩av综合精品| 综合欧美一区二区三区| 影音先锋中文字幕一区二区| 在线能看的av网址| 天天干在线影院| 国产精品免费一区二区三区| 亚洲美女性生活视频| 亚洲天堂精品在线观看| 亚洲综合国产激情另类一区| 全球最大av网站久久| 欧美jiizzhd精品欧美| 久久一区免费| 欧美激情在线观看视频| 欧美三级三级三级| 91老师国产黑色丝袜在线| 欧美国产小视频| 久久久男人天堂| 三级ai视频| 2021狠狠干| 国产欧美va欧美va香蕉在| 日韩久久午夜影院| 亚洲高清在线视频| 国产成人免费视频一区| 国产精品成人a在线观看| 中国字幕a在线看韩国电影| 黄页网站在线播放| 亚洲熟妇无码av在线播放| 国产美女久久精品| 日韩一区在线视频| 欧美在线不卡视频| 国产色产综合色产在线视频| 日韩午夜激情| 任我爽精品视频在线播放| 欧美v亚洲v| 男人本色网站| 可以在线看的av网站| 国产精品国产三级国产专区53 | 啊啊啊好爽视频| 在线免费观看成人网| 国产精品精品视频| 一区二区欧美久久| 欧美日韩一卡二卡三卡 | 666av成人影院在线观看| 日韩精品系列| 国产一区二区视频免费在线观看| 久久香蕉综合色| 日韩免费在线看| 色妞一区二区三区| 日韩精品一区二区三区三区免费| 自拍偷拍国产精品| av影院午夜一区| 蜜臀精品久久久久久蜜臀| 91九色精品| 日韩精品a在线观看91| 无人区在线高清完整免费版 一区二| 国产小视频免费在线网址| 天天爱天天做色综合| 欧美特黄a级高清免费大片a级| 日韩精品三区| 日本欧美在线视频免费观看| 免费男女羞羞的视频网站中文版| 公共露出暴露狂另类av| 久久综合中文色婷婷| 亚洲va男人天堂| 国产成人亚洲综合91| 久久99精品久久久久久琪琪| 日韩成人av一区| 日韩情涩欧美日韩视频| 欧美自拍偷拍午夜视频| 亚洲欧美另类久久久精品| 91免费版在线看| eeuss鲁片一区二区三区在线观看| 日韩av中文字幕一区二区| 亚洲每日在线|