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

最強總結,必會的十大機器學習算法!

開發 前端
SVM 的核心思想是找到一個超平面,將數據點分成不同的類,并且這個超平面能夠最大化兩類數據點之間的間隔(Margin)。
今天給大家介紹機器學習中必會的 10 大機器學習算法。

1.線性回歸

線性回歸(Linear Regression)是最基本的回歸分析方法之一,旨在通過線性模型來描述因變量(目標變量)與自變量(特征變量)之間的關系。

線性回歸假設目標變量 y 與特征變量 X 之間呈現線性關系,模型公式為:

其中:

圖片圖片

線性回歸的目標是找到最優的回歸系數 ,使得預測值與實際值之間的差異最小。

# Importing Libraries
import numpy as np
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt

# ensures that the random numbers generated are the same every time the code runs.
np.random.seed(0)

#creates an array of 100 random numbers between 0 and 1.
X = np.random.rand(100, 1)         

#generates the target variable y using the linear relationship y = 2 + 3*X plus some random noise. This mimics real-world data that might not fit perfectly on a line.
y = 2 + 3 * X + np.random.rand(100, 1)       

# Create and fit the model
model = LinearRegression()
# fit means it calculates the best-fitting line through the data points.
model.fit(X, y)  

# Make predictions
X_test = np.array([[0], [1]])   #creates a test set with two points: 0 and 1
y_pred = model.predict(X_test)   # uses the fitted model to predict the y values for X_test


# Plot the results
plt.figure(figsize=(10, 6))
plt.scatter(X, y, color='b', label='Data points')
plt.plot(X_test, y_pred, color='r', label='Regression line')
plt.legend()
plt.xlabel('X')
plt.ylabel('y')
plt.title('Linear Regression Example\nimage by ishaangupta1201')
plt.show()


print(f"Intercept: {model.intercept_[0]:.2f}")
print(f"Coefficient: {model.coef_[0][0]:.2f}")

2.邏輯回歸

邏輯回歸(Logistic Regression)雖然帶有“回歸”之名,但其實是一種廣義線性模型,常用于二分類問題。

邏輯回歸的核心思想是通過邏輯函數(Logistic Function),將線性回歸模型的輸出映射到區間 (0, 1) 上,來表示事件發生的概率。

對于一個給定的輸入特征 x,模型預測為:

圖片圖片

import numpy as np
from sklearn.linear_model import LogisticRegression

# Sample data: hours studied and pass/fail outcome
hours_studied = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]).reshape(-1, 1)
outcome = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])

# Create and train the model
model = LogisticRegression()
model.fit(hours_studied, outcome)

# This results in an array of predicted binary outcomes (0 or 1).
predicted_outcome = model.predict(hours_studied)

# This results in an array where each sub-array contains two probabilities: the probability of failing and the probability of passing.
predicted_probabilities = model.predict_proba(hours_studied)

print("Predicted Outcomes:", predicted_outcome)
print("Predicted Probabilities:", predicted_probabilities)

3. 決策樹

決策樹是一種基于樹結構的監督學習算法,可用于分類和回歸任務。

決策樹模型由節點和邊組成,每個節點表示一個特征或決策,邊代表根據特征值分裂數據的方式。樹的葉子節點對應最終的預測結果。

決策樹通過遞歸地選擇最佳的特征進行分裂,直到所有數據被準確分類或滿足某些停止條件。常用的分裂標準包括信息增益(Information Gain)和基尼指數(Gini Index)。

圖片圖片

from sklearn.tree import DecisionTreeClassifier, plot_tree
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report

# Load the iris dataset
iris = load_iris()
X, y = iris.data, iris.target

# splits the data into training and testing sets. 30% of the data is used for testing (test_size=0.3), and the rest for training. random_state=42 ensures the split is reproducible.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# creates a decision tree classifier with a maximum depth of 3 levels and a fixed random state for reproducibility.
model = DecisionTreeClassifier(max_depth=3, random_state=42)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

# Evaluate the model
accuracy = accuracy_score(y_test, y_pred)  #calculates the accuracy of the model’s predictions.
print(f"Accuracy: {accuracy:.2f}")
print("\nClassification Report:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))

# Visualize the tree
plt.figure(figsize=(20,10))
plot_tree(model, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True)
plt.show()

4.支持向量機

支持向量機 (SVM) 是一種監督學習算法,可用于分類或回歸問題。

SVM 的核心思想是找到一個超平面,將數據點分成不同的類,并且這個超平面能夠最大化兩類數據點之間的間隔(Margin)。

超平面

超平面是一個能夠將不同類別的數據點分開的決策邊界。

在二維空間中,超平面就是一條直線;在三維空間中,超平面是一個平面;而在更高維空間中,超平面是一個維度比空間低一維的幾何對象。

形式上,在 n 維空間中,超平面可以表示為。

在 SVM 中,超平面用于將不同類別的數據點分開,即將正類數據點與負類數據點分隔開。

支持向量

支持向量是指在分類問題中,距離超平面最近的數據點。

這些點在 SVM 中起著關鍵作用,因為它們直接影響到超平面的位置和方向。

間隔

間隔(Margin)是指超平面到最近的支持向量的距離。

最大間隔

最大間隔是指支持向量機在尋找超平面的過程中,選擇能夠使正類和負類數據點之間的間隔最大化的那個超平面。

圖片圖片

from sklearn.datasets import load_wine
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split

# Load the wine dataset
X, y = load_wine(return_X_y=True)

# Split the data 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)

# Create and train the model
model = SVC(kernel='linear', random_state=42)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

print("Predictions:", y_pred)

5.樸素貝葉斯

樸素貝葉斯是一種基于貝葉斯定理的簡單而強大的分類算法,廣泛用于文本分類、垃圾郵件過濾等問題。

其核心思想是假設所有特征之間相互獨立,并通過計算每個類別的后驗概率來進行分類。

貝葉斯定理定義為

from sklearn.datasets import load_digits
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split

# Load the digits dataset
X, y = load_digits(return_X_y=True)

# Split the data 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)

# Create and train the model
model = GaussianNB()
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

print("Predictions:", y_pred)

6.KNN

K-Nearest Neighbors (KNN) 是一種簡單且直觀的監督學習算法,通常用于分類和回歸任務。

它的基本思想是:給定一個新的數據點,算法通過查看其最近的 K 個鄰居來決定這個點所屬的類別(分類)或預測其值(回歸)。

KNN 不需要顯式的訓練過程,而是直接在預測時利用整個訓練數據集。

圖片圖片

算法步驟

  • 步驟1
    選擇參數 K,即最近鄰居的數量。
  • 步驟2
    計算新數據點與訓練數據集中所有點之間的距離。
    常用的距離度量包括歐氏距離、曼哈頓距離、切比雪夫距離等。
  • 步驟3
    根據計算出的距離,找出距離最近的 K 個點。
  • 步驟4
    對于分類問題,通過對這 K 個點的類別進行投票,選擇得票最多的類別作為新數據點的預測類別。
    對于回歸問題,計算這 K 個點的平均值,作為新數據點的預測值。
  • 步驟5
    返回預測結果。
from sklearn.datasets import load_iris
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split

# Load the iris dataset
X, y = load_iris(return_X_y=True)

# Split the data 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)

# Create and train the model
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

print("Predictions:", y_pred)

7.K-Means

K-Means 是一種流行的無監督學習算法,主要用于聚類分析。

它的目標是將數據集分成 K 個簇,使得每個簇中的數據點與簇中心的距離最小。

算法通過迭代優化來達到最優的聚類效果。

圖片圖片

算法步驟

  • 步驟1
    初始化 K 個簇中心(質心)。可以隨機選擇數據集中的 K 個點作為初始質心。
  • 步驟2
    對于數據集中每個數據點,將其分配到與其距離最近的質心所在的簇。
  • 步驟3
    重新計算每個簇的質心,即簇中所有點的平均值。
  • 步驟4
    重復步驟2和步驟3,直到質心不再變化或變化量小于設定的閾值。
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans

# Create a synthetic dataset
X, _ = make_blobs(n_samples=100, centers=3, n_features=2, random_state=42)

# Create and train the model
model = KMeans(n_clusters=3, random_state=42)
model.fit(X)

# Predict the clusters
labels = model.predict(X)

print("Cluster labels:", labels)

8.隨機森林

隨機森林 (Random Forest) 是一種集成學習方法,主要用于分類和回歸任務。

它通過結合多個決策樹的預測結果來提高模型的泛化能力和魯棒性。

隨機森林的核心思想是通過引入隨機性來構建多個不同的決策樹模型,然后對這些模型的預測結果進行投票或平均,從而獲得最終的預測結果。

圖片圖片

算法步驟

  • 步驟1
    從訓練數據集中隨機抽取多個子樣本(使用有放回的抽樣方法,即Bootstrap抽樣),每個子樣本用于訓練一個決策樹。
  • 步驟2
    對于每個決策樹,在構建過程中,節點的劃分使用隨機選擇的一部分特征,而不是全部特征。
  • 步驟3
    每棵樹獨立生長,直到其無法進一步分裂,或者達到了某個預設的停止條件(如樹的最大深度)。
  • 步驟4
    對于分類任務,最終的預測結果由所有樹的投票結果決定(多數投票法);對于回歸任務,預測結果為所有樹的預測值的平均值。
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split

# Load the breast cancer dataset
X, y = load_breast_cancer(return_X_y=True)

# Split the data 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)

# Create and train the model
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

print("Predictions:", y_pred)

9.PCA

主成分分析 (PCA) 是一種用于數據降維的統計技術。

其主要目的是通過將數據從高維空間映射到一個低維空間中,保留盡可能多的原始數據的方差。

這對于數據預處理和可視化非常有用,尤其是在處理具有大量特征的數據集時。

PCA 的核心思想是找到數據中的“主成分”(即那些方差最大且相互正交的方向),并沿著這些方向投影數據,從而降低數據的維度。

通過這種方式,PCA 可以在減少數據維度的同時盡可能保留數據的整體信息。

from sklearn.datasets import load_digits
from sklearn.decomposition import PCA

# Load the digits dataset
X, y = load_digits(return_X_y=True)

# Apply PCA to reduce the number of features
pca = PCA(n_compnotallow=2)
X_reduced = pca.fit_transform(X)

print("Reduced feature set shape:", X_reduced.shape)

10.xgboost

XGBoost(Extreme Gradient Boosting)是一種基于梯度提升框架的高效、靈活的機器學習算法。

它是梯度提升決策樹 (GBDT) 的一種實現,具有更高的性能和更好的可擴展性,常被用來處理結構化或表格數據,并在各種數據競賽中表現優異。

XGBoost 的核心思想是通過迭代構建多個決策樹,每個新樹都嘗試糾正前一個樹的誤差。最終的預測結果是所有樹的預測結果的加權和。

圖片圖片

import xgboost as xgb
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

# Load the breast cancer dataset
X, y = load_breast_cancer(return_X_y=True)

# Split the data 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)

# Create and train the model
model = xgb.XGBClassifier(random_state=42)
model.fit(X_train, y_train)

# Make predictions
y_pred = model.predict(X_test)

print("Predictions:", y_pred)


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

2024-07-29 15:07:16

2024-05-30 07:34:42

2022-08-26 14:46:31

機器學習算法線性回歸

2022-05-11 15:20:31

機器學習算法預測

2024-09-09 14:42:09

2022-09-04 19:38:11

機器學習算法

2016-12-01 07:41:37

機器學習常用算法

2024-09-18 16:00: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機器學習

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排序
點贊
收藏

51CTO技術棧公眾號

一区二区电影免费观看| 亚洲a一区二区三区| 精品日韩在线播放| 2025国产精品视频| 国产xxxx振车| heyzo在线欧美播放| 日韩片欧美片| 一级女性全黄久久生活片免费| 中文字幕日韩欧美精品在线观看| 水蜜桃亚洲精品| 丝袜美腿美女被狂躁在线观看| 欧美电影免费观看高清| 亚洲另类在线视频| 8090成年在线看片午夜| 别急慢慢来1978如如2| 成人在线中文| 国产黑丝在线一区二区三区| 欧美大片顶级少妇| 色就是色欧美| 91综合久久| 97视频在线播放| 一级黄色av| 欧美日韩伦理| 亚洲超碰97人人做人人爱| 国产精品对白刺激| 人人超碰在线| 亚洲国产免费看| 欧美精品xxxxbbbb| 神马影院我不卡| 欧美国产激情| 欧美一二三区在线| 宅男在线精品国产免费观看| 成人做爰视频www网站小优视频| 国产成人午夜精品影院观看视频 | 欧美一区久久| 欧美一区二区.| 国产精品超碰| 一区av在线播放| 91插插插插插插插插| 欧美大胆视频| 日韩欧美国产中文字幕| 97人人模人人爽人人少妇| 黄色毛片在线看| 美女任你摸久久| 久久精品最新地址| 在线免费观看h| 国产一区二区调教| 98精品在线视频| 一区二区三区四区视频免费观看| 亚洲成人你懂的| 亚洲精品8mav| 女同久久另类99精品国产| 欧美精品制服第一页| 视频国产在线观看| 青青草国产成人99久久| 深夜福利日韩在线看| 国产剧情av在线| 日韩电影在线观看电影| 久久精品视频亚洲| 成人噜噜噜噜| 欧美日韩视频第一区| 成人短视频在线观看免费| 教室别恋欧美无删减版| 欧美一级大片视频| 91精品啪在线观看国产81旧版 | 国产欧美自拍| 色噜噜久久综合| 欧美激情亚洲天堂| 99精品欧美一区二区蜜桃免费| 91久久久亚洲精品| 国产亚洲人成a在线v网站| 成人97在线观看视频| 国产毛片在线看| 成人永久免费视频| 成人免费xxxxx在线观看| 成人在线视频观看| 国模精品视频一区二区| 超碰成人av| 欧美性猛交xxxx偷拍洗澡| 在线看黄色av| 亚洲青青青在线视频| 欧美xxxx吸乳| 久久久久99精品一区| 欧美日韩精品一区| 日韩精品a在线观看91| 日韩电影在线观看中文字幕 | 成人国产亚洲欧美成人综合网| 国产精品入口免费视| 涩涩网在线视频| 欧美性生交大片免费| 麻豆传媒免费在线观看| 亚洲色欲色欲www在线观看| 欧美扣逼视频| 亚洲精品一二三| 网友自拍视频在线| 操人视频在线观看欧美| 午夜精品av| 国产一区二区视频播放| 美女精品一区二区| 97高清视频| 国产精品天美传媒| 日韩在线综合网| 国内一区二区视频| 国产精品久久波多野结衣| 亚洲欧洲美洲国产香蕉| 久久精品国产亚洲7777| 先锋资源久久| 免费观看精品视频| 国产精品99久久久久| 婷婷综合影院| 亚洲欧美日韩精品久久奇米色影视 | 精品1区2区3区| 天天干夜夜干| 亚洲欧洲高清在线| 狂野欧美激情性xxxx欧美| 欧美性猛交xxxx免费看| 美女18一级毛片一品久道久久综合| 亲子乱一区二区三区电影| 国产一区二区三区精品在线观看| 91在线色戒在线| 99久久激情| 国产自产女人91一区在线观看| 妖精一区二区三区精品视频 | 亚洲精品乱码久久久久久久久| 日韩av一二三四区| 91成人免费网站| 国内精品一区视频| 欧美日韩成人精品| 国产在线精品一区二区不卡了 | 91社在线播放| 日本午夜一区二区| 992tv在线影院| 日本道免费精品一区二区三区| 成人在线视频www| 日韩一区不卡| 国产69精品久久777的优势| www污在线观看| 欧美激情一区在线| 无限国产资源| 九九久久精品一区| 国产成人av资源| 理论片午夜视频在线观看| 精品综合久久久| 久久丝袜视频| 日韩美女免费视频| 91九色精品| 国产黄色高清在线| 久久久噜噜噜久久久| 成人动漫在线一区| 欧美日韩不卡| 欧美激情videos| 日韩欧美高清| 99999色| 色欧美乱欧美15图片| 免费短视频成人日韩| 国产成人一区二区三区免费看| 日韩中文字幕区一区有砖一区| 污网站视频在线观看| 成人午夜在线观看| 夜夜精品视频一区二区| 国内精品久久久久久久影视简单| 成人欧美一区二区三区视频xxx| 亚洲一区二区不卡免费| av在线免费一区| 国产一级揄自揄精品视频| 奇米一区二区| 91免费看片网站| 韩曰欧美视频免费观看| 色婷婷在线播放| 久久久久久久久网站| 天天揉久久久久亚洲精品| 高清孕妇孕交╳╳交| 欧美影院在线播放| 亚洲天堂av老司机| 日韩成人影院| 免费网站免费进入在线| 日本婷婷久久久久久久久一区二区| 99精品欧美一区二区蜜桃免费 | 国产精品免费一区二区三区四区 | xxxx欧美18另类的高清| 欧美理论视频| 水莓100国产免费av在线播放| 91麻豆桃色免费看| 欧美精品1区2区| 国产电影精品久久禁18| 4438全国亚洲精品观看视频| 国产乱xxⅹxx国语对白| 欧美videofree性高清杂交| 精品一区二区男人吃奶| 女人裸体免费网站| 亚洲免费精彩视频| 99久久精品国产导航| 欧美18免费视频| 香蕉影院在线| 日韩欧美精品一区二区三区经典| 亚洲欧美激情视频| 亚洲天堂精品视频| 视频一区视频二区中文| 中文字幕免费在线视频| 久久精品美女视频网站|