女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

機器學習算法學習之特征工程2

jf_78858299 ? 來源:人工智能大講堂 ? 2023-04-19 11:38 ? 次閱讀

縮放和歸一化

縮放和歸一化是特征工程中的重要步驟,以確保特征具有類似的比例和范圍。這可以幫助改善一些機器學習算法的性能,并使優化過程更快。以下是用于縮放和歸一化的一些常見技術:

1.標準化:標準化將特征縮放,使其具有零均值和單位方差。這通過從每個值中減去均值,然后將其除以標準差來完成。結果值將具有零均值和單位方差。

以下是使用 scikit-learn 的標準化示例:

from sklearn.preprocessing import StandardScaler


# Create a StandardScaler object
scaler = StandardScaler()


# Fit and transform the data
X_scaled = scaler.fit_transform(X)

2.最小-最大縮放:最小-最大縮放將特征縮放到一個固定的范圍,通常在0和1之間。這通過從每個值中減去最小值,然后除以范圍來完成。

以下是使用 scikit-learn 的最小-最大縮放示例:

from sklearn.preprocessing import MinMaxScaler


# Create a MinMaxScaler object
scaler = MinMaxScaler()


# Fit and transform the data
X_scaled = scaler.fit_transform(X)

圖片

Fig.4 — Standardization and Normalization

3.魯棒縮放:魯棒縮放與標準化類似,但它使用中位數和四分位距代替均值和標準差。這使得它對數據中的異常值更加魯棒。

以下是使用 scikit-learn 的魯棒縮放示例:

from sklearn.preprocessing import RobustScaler


# Create a RobustScaler object
scaler = RobustScaler()


# Fit and transform the data
X_scaled = scaler.fit_transform(X)

4.歸一化:歸一化將每個觀測值縮放為單位范數,這意味著每個特征值的平方和為1。這對于某些需要所有樣本具有類似比例的算法非常有用。

以下是使用 scikit-learn 進行歸一化的示例:

from sklearn.preprocessing import Normalizer


# Create a Normalizer object
scaler = Normalizer()


# Fit and transform the data
X_scaled = scaler.fit_transform(X)

創建新特征

創建新特征是特征工程中的一個重要步驟,它涉及從現有數據中創建新的變量或列。這可以幫助捕捉特征之間的復雜關系并提高模型的準確性。

以下是創建新特征的一些技術:

1.交互特征:交互特征是通過將兩個或多個現有特征相乘來創建的。這可以幫助捕捉特征的聯合效應并揭示數據中的新模式。例如,如果我們有兩個特征,“年齡”和“收入”,我們可以通過將這兩個特征相乘來創建一個名為“age_income”的新交互特征。

以下是使用 Python 中的 Pandas 創建交互特征的示例:

import pandas as pd


# create a sample data frame
data = pd.DataFrame({'age': [25, 30, 35],
                     'income': [50000, 60000, 70000]})


# create a new interaction feature
data['age_income'] = data['age'] * data['income']


# display the updated data frame
print(data)

2.多項式特征:多項式特征是通過將現有特征提高到更高的冪來創建的。這可以幫助捕捉特征之間的非線性關系并提高模型的準確性。例如,如果我們有一個特征“年齡”,我們可以通過將這個特征平方來創建一個新的多項式特征稱為“age_squared”。

以下是使用 Python 中的 Scikit-learn 創建多項式特征的示例:

from sklearn.preprocessing import PolynomialFeatures
import numpy as np


# create a sample data set
X = np.array([[1, 2],
              [3, 4]])


# create polynomial features up to degree 2
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)


# display the updated feature matrix
print(X_poly)

3.分箱:分箱將連續值分組為離散類別。這可以幫助捕捉非線性關系并減少數據中異常值的影響。例如,如果我們有一個特征“年齡”,我們可以通過將年齡分組為不同的類別,例如“0-18”、“18-25”、“25-35”、“35-50”和“50+”,來創建一個名為“age_group”的新分箱特征。

以下是使用 Python 中的 Pandas 創建分箱特征的示例:

import pandas as pd


# create a sample data frame
data = pd.DataFrame({'age': [20, 25, 30, 35, 40, 45, 50, 55]})


# create bins for different age groups
bins = [0, 18, 25, 35, 50, float('inf')]
labels = ['0-18', '18-25', '25-35', '35-50', '50+']
data['age_group'] = pd.cut(data['age'], bins=bins, labels=labels)


# display the updated data frame
print(data)

處理不平衡數據

處理不平衡數據是機器學習中的一個重要方面。不平衡數據是指目標變量的分布不均勻,其中一個類別相對于另一個類別的樣本數量較少。這可能會導致模型對多數類別產生偏差,并且模型可能在少數類別上表現不佳。一些處理不平衡數據的技術包括:

1.過采樣(Upsampling):過采樣通過對現有樣本進行替換性重采樣來為少數類別創建更多的樣本。可以使用 sklearn.utils 模塊中的 resample 函數來實現。

from sklearn.utils import resample


# Upsample minority class
X_upsampled, y_upsampled = resample(X_minority, y_minority, replace=True, n_samples=len(X_majority), random_state=42)

2.降采樣(Downsampling):降采樣通過從多數類別中刪除一些樣本來平衡分布。可以使用 sklearn.utils 模塊中的 resample 函數來實現。

from sklearn.utils import resample


# Downsample majority class
X_downsampled, y_downsampled = resample(X_majority, y_majority, replace=False, n_samples=len(X_minority), random_state=42)

Fig.4 — UnderSampling and OverSampling

3.合成少數類過采樣技術(SMOTE):SMOTE 涉及基于現有樣本為少數類創建合成樣本。這可以使用 imblearn.over_sampling 模塊中的 SMOTE 函數來完成。

from imblearn.over_sampling import SMOTE


# Use SMOTE to upsample minority class
sm = SMOTE(random_state=42)
X_resampled, y_resampled = sm.fit_resample(X, y)

4.類別權重(Class Weighting):類別權重將權重分配給模型中的每個類別,以考慮不平衡性??梢允褂媚P椭械?class_weight 參數來實現。

from sklearn.linear_model import LogisticRegression


# Use class weighting to handle imbalance
clf = LogisticRegression(class_weight='balanced', random_state=42)
clf.fit(X_train, y_train)

5.異常檢測(Anomaly Detection):異常檢測涉及識別數據中的異常值并將其刪除??梢允褂?sklearn.ensemble 模塊中的 IsolationForest 函數來實現。異常檢測是在數據集中識別與預期或正常行為顯著偏離的罕見事件或觀測值。在不平衡數據的情況下,其中一個類別的觀測值數量遠低于另一個類別,可以使用異常檢測來識別和標記少數類別中的罕見觀測值為異常值。這可以幫助平衡數據集并提高機器學習模型的性能。

在不平衡數據中進行異常檢測的一種常見方法是使用聚類等無監督學習技術,將少數類別的觀測值基于其相似性聚類成不同的組。不屬于這些聚類之一的少數類別觀測值可以被標記為異常值。

另一種方法是使用單類別分類等監督學習技術,其中使用多數類別數據訓練模型來學習數據的正常行為。然后將與學習到的正常行為顯著偏離的少數類別觀測值標記為異常值。

from sklearn.ensemble import IsolationForest


# Use anomaly detection to handle imbalance
clf = IsolationForest(random_state=42)
clf.fit(X_train)
X_train = X_train[clf.predict(X_train) == 1]
y_train = y_train[clf.predict(X_train) == 1]

6.成本敏感學習(Cost-Sensitive Learning):成本敏感學習將不同類型的錯誤分配不同的成本以考慮不平衡性??梢允褂媚P椭械?sample_weight 參數來實現。

在成本敏感學習中,模型會為每個類別分配一個成本權重。這些成本權重反映了在模型中犯錯的代價。通常,少數類別的成本權重比多數類別的成本權重高,以強制模型更加關注少數類別。這可以通過調整 sample_weight 參數來實現。

from sklearn.tree import DecisionTreeClassifier


# Use cost-sensitive learning to handle imbalance
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train, sample_weight=class_weights)
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼
    +關注

    關注

    6

    文章

    967

    瀏覽量

    55487
  • 機器學習
    +關注

    關注

    66

    文章

    8490

    瀏覽量

    134079
  • 預處理
    +關注

    關注

    0

    文章

    33

    瀏覽量

    10605
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    機器學習算法特征工程與意義詳解

    1、特征工程與意義 特征就是從數據中抽取出來的對結果預測有用的信息。 特征工程是使用專業知識背景知識和技巧處理數據,是得
    發表于 10-08 15:24 ?3069次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法</b>的<b class='flag-5'>特征</b><b class='flag-5'>工程</b>與意義詳解

    機器算法學習比較

    轉本文主要回顧下幾個常用算法的適應場景及其優缺點!機器學習算法太多了,分類、回歸、聚類、推薦、圖像識別領域等等,要想找到一個合適算法真的不容
    發表于 09-27 10:48

    貪心算法學習

    算法學習之路——貪心
    發表于 09-04 07:17

    模擬退火的算法學習

    模擬退火算法學習
    發表于 06-16 11:02

    有感FOC算法學習與實現總結

    原文:https://blog.csdn.net/u010632165/article/details/103656254文章目錄基于STM32的有感FOC算法學習與實現總結1 前言2 FOC算法
    發表于 07-05 06:45

    機器學習特征工程的五個方面優點

    特征工程是用數學轉換的方法將原始輸入數據轉換為用于機器學習模型的新特征特征
    的頭像 發表于 03-15 16:57 ?4169次閱讀

    SVPWM的原理與算法學習課件免費下載

    本文檔的主要內容詳細介紹的是SVPWM的原理與算法學習課件免費下載包括了:SVPWM原理,SVPWM算法,SVPWM的Matlab仿真,SVPWM的DSP實現。
    發表于 03-08 08:00 ?33次下載
    SVPWM的原理與<b class='flag-5'>算法學習</b>課件免費下載

    機器學習算法學習特征工程1

    特征工程機器學習過程中的關鍵步驟,涉及將原始數據轉換為機器學習
    的頭像 發表于 04-19 11:38 ?1016次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法學習</b><b class='flag-5'>之</b><b class='flag-5'>特征</b><b class='flag-5'>工程</b>1

    機器學習算法學習特征工程3

    特征工程機器學習過程中的關鍵步驟,涉及將原始數據轉換為機器學習
    的頭像 發表于 04-19 11:38 ?1214次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>算法學習</b><b class='flag-5'>之</b><b class='flag-5'>特征</b><b class='flag-5'>工程</b>3

    機器學習的經典算法與應用

    ? 一、機器學習基礎概念 ? 關于數據 ? 機器學習就是喂入算法和數據,讓算法從數據中尋找一種相
    的頭像 發表于 05-28 11:29 ?1664次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的經典<b class='flag-5'>算法</b>與應用

    機器學習算法匯總 機器學習算法分類 機器學習算法模型

    機器學習算法匯總 機器學習算法分類 機器
    的頭像 發表于 08-17 16:11 ?1443次閱讀

    機器學習算法總結 機器學習算法是什么 機器學習算法優缺點

    機器學習算法總結 機器學習算法是什么?機器
    的頭像 發表于 08-17 16:11 ?2372次閱讀

    機器學習算法入門 機器學習算法介紹 機器學習算法對比

    機器學習算法入門 機器學習算法介紹 機器
    的頭像 發表于 08-17 16:27 ?1183次閱讀

    機器學習有哪些算法機器學習分類算法有哪些?機器學習預判有哪些算法?

    機器學習有哪些算法?機器學習分類算法有哪些?機器
    的頭像 發表于 08-17 16:30 ?2328次閱讀

    機器學習中的數據預處理與特征工程

    機器學習的整個流程中,數據預處理與特征工程是兩個至關重要的步驟。它們直接決定了模型的輸入質量,進而影響模型的訓練效果和泛化能力。本文將從數據預處理和
    的頭像 發表于 07-09 15:57 ?1200次閱讀