国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

有哪些網(wǎng)站建設(shè)工作本周新聞熱點(diǎn)

有哪些網(wǎng)站建設(shè)工作,本周新聞熱點(diǎn),黃岡網(wǎng)站制作公司,濰坊網(wǎng)站建設(shè)自助建站平臺(tái)數(shù)據(jù)清洗 數(shù)據(jù)清洗是數(shù)據(jù)預(yù)處理的核心步驟,旨在修正或移除數(shù)據(jù)集中的錯(cuò)誤、不完整、重復(fù)或不一致的部分,為后續(xù)分析和建模提供可靠基礎(chǔ)。以下是數(shù)據(jù)清洗的詳細(xì)流程、方法和實(shí)戰(zhàn)示例: 一、數(shù)據(jù)清洗的核心任務(wù) 問題類型表現(xiàn)示例影響缺失值數(shù)值…

數(shù)據(jù)清洗

數(shù)據(jù)清洗是數(shù)據(jù)預(yù)處理的核心步驟,旨在修正或移除數(shù)據(jù)集中的錯(cuò)誤、不完整、重復(fù)或不一致的部分,為后續(xù)分析和建模提供可靠基礎(chǔ)。以下是數(shù)據(jù)清洗的詳細(xì)流程、方法和實(shí)戰(zhàn)示例:


一、數(shù)據(jù)清洗的核心任務(wù)

問題類型表現(xiàn)示例影響
缺失值數(shù)值型字段為空(NaN)模型無法處理缺失值,導(dǎo)致訓(xùn)練中斷或偏差
異常值年齡=200歲,房?jī)r(jià)=-100萬(wàn)扭曲統(tǒng)計(jì)指標(biāo)(如均值),降低模型泛化性
重復(fù)數(shù)據(jù)兩行記錄完全相同導(dǎo)致模型過擬合,降低數(shù)據(jù)代表性
不一致數(shù)據(jù)日期格式混亂(2023-09-01 vs 01/09/23)解析錯(cuò)誤,特征提取失敗

二、數(shù)據(jù)清洗流程與工具

1. 缺失值處理
  • 檢測(cè)缺失值

    # 統(tǒng)計(jì)每列缺失比例
    missing_ratio = data.isnull().mean() * 100
    print(missing_ratio.sort_values(ascending=False))
    
  • 處理方法

    方法適用場(chǎng)景代碼示例
    直接刪除缺失比例高(>80%)或無關(guān)字段data.dropna(axis=1, thresh=len(data)*0.2)
    均值/中位數(shù)填充數(shù)值型字段,缺失隨機(jī)分布data['age'].fillna(data['age'].median(), inplace=True)
    眾數(shù)填充類別型字段data['gender'].fillna(data['gender'].mode()[0], inplace=True)
    插值法時(shí)間序列數(shù)據(jù)(如溫度記錄)data['temperature'].interpolate(method='time', inplace=True)
    模型預(yù)測(cè)填充復(fù)雜場(chǎng)景(如多變量關(guān)聯(lián)缺失)使用KNN或隨機(jī)森林預(yù)測(cè)缺失值(見下方代碼)

    KNN填充示例

    from sklearn.impute import KNNImputer
    imputer = KNNImputer(n_neighbors=5)
    data_filled = pd.DataFrame(imputer.fit_transform(data), columns=data.columns)
    

2. 異常值處理
  • 檢測(cè)方法

    • 描述性統(tǒng)計(jì):檢查最小/最大值是否合理
      print(data.describe())
      
    • 箱線圖(Boxplot)
      plt.figure(figsize=(8,4))
      sns.boxplot(x=data['income'])
      plt.title("Income Distribution")
      plt.show()
      
    • Z-Score法(正態(tài)分布數(shù)據(jù)):
      z_scores = (data['value'] - data['value'].mean()) / data['value'].std()
      outliers = data[abs(z_scores) > 3]  # Z>3為異常
      
    • IQR法(非正態(tài)分布數(shù)據(jù)):
      Q1 = data['age'].quantile(0.25)
      Q3 = data['age'].quantile(0.75)
      IQR = Q3 - Q1
      lower_bound = Q1 - 1.5 * IQR
      upper_bound = Q3 + 1.5 * IQR
      
  • 處理方法

    方法代碼示例
    刪除異常值data = data[(data['age'] >= 0) & (data['age'] <= 100)]
    截?cái)?#xff08;Winsorize)from scipy.stats.mstats import winsorize<br>data['income'] = winsorize(data['income'], limits=[0.05, 0.05])
    分箱(Binning)data['age_bin'] = pd.cut(data['age'], bins=[0,18,35,60,100])

3. 重復(fù)數(shù)據(jù)處理
  • 檢測(cè)與刪除

    # 檢測(cè)完全重復(fù)的行
    duplicates = data.duplicated()
    print(f"重復(fù)行數(shù)量: {duplicates.sum()}")# 刪除重復(fù)行(保留第一個(gè)出現(xiàn)值)
    data.drop_duplicates(keep='first', inplace=True)
    
  • 部分重復(fù)處理(如用戶ID重復(fù)但信息不同):

    # 按關(guān)鍵字段去重(如用戶ID)
    data.drop_duplicates(subset=['user_id'], keep='last', inplace=True)
    

4. 不一致數(shù)據(jù)修正
  • 格式統(tǒng)一

    # 日期格式標(biāo)準(zhǔn)化
    data['date'] = pd.to_datetime(data['date'], format='mixed')# 文本大小寫統(tǒng)一
    data['category'] = data['category'].str.lower()# 單位統(tǒng)一(如貨幣轉(zhuǎn)換)
    data['price'] = data['price'].apply(lambda x: x * 6.5 if 'USD' in x else x
    )
    
  • 邏輯校驗(yàn)

    # 檢查年齡與出生日期是否一致
    current_year = pd.Timestamp.now().year
    data['calculated_age'] = current_year - data['birth_year']
    invalid_age = data[abs(data['age'] - data['calculated_age']) > 1]
    

三、實(shí)戰(zhàn)案例:電商訂單數(shù)據(jù)清洗

原始數(shù)據(jù)問題
import pandas as pd
data = pd.DataFrame({'order_id': [101, 102, 103, 104, 105, 106],'user_id': [1, 2, 2, 3, 4, None],'price': [29.9, 199.0, 199.0, -50.0, 89.9, 120.0],'order_date': ['2023-09-01', '01/09/2023', '2023-09-01', '2023-10-32', None, '2023-09-05']
})
清洗步驟
  1. 處理缺失值

    # 填充user_id缺失值(假設(shè)新用戶ID為999)
    data['user_id'].fillna(999, inplace=True)# 刪除order_date缺失的行
    data.dropna(subset=['order_date'], inplace=True)
    
  2. 修正異常價(jià)格

    # 刪除價(jià)格為負(fù)的訂單
    data = data[data['price'] > 0]# 截?cái)鄡r(jià)格超過200的訂單(假設(shè)業(yè)務(wù)上限為200)
    data['price'] = data['price'].clip(upper=200)
    
  3. 標(biāo)準(zhǔn)化日期格式

    # 轉(zhuǎn)換日期并過濾無效日期(如2023-10-32)
    data['order_date'] = pd.to_datetime(data['order_date'], errors='coerce')
    data.dropna(subset=['order_date'], inplace=True)
    
  4. 去重

    # 按user_id和order_date去重(保留最后一條)
    data.drop_duplicates(subset=['user_id', 'order_date'], keep='last', inplace=True)
    
清洗后數(shù)據(jù)
order_iduser_idpriceorder_date
101129.92023-09-01
1022199.02023-09-01
105489.9NaT(已刪除)
106999120.02023-09-05

四、注意事項(xiàng)

  1. 避免過度清洗:保留合理的數(shù)據(jù)多樣性(如正常的價(jià)格波動(dòng))。
  2. 記錄清洗日志:跟蹤每一步操作的影響(如刪除了多少行數(shù)據(jù))。
  3. 業(yè)務(wù)規(guī)則優(yōu)先:與領(lǐng)域?qū)<掖_認(rèn)異常定義(如“用戶年齡>100是否合理”)。
  4. 自動(dòng)化流水線:對(duì)持續(xù)更新的數(shù)據(jù),使用Pipeline封裝清洗步驟:
    from sklearn.pipeline import Pipelineclean_pipeline = Pipeline([('fill_na', SimpleImputer(strategy='constant', fill_value=999)),('remove_duplicates', DropDuplicates(subset=['user_id'])),('clip_outliers', ColumnTransformer([('clip', FunctionTransformer(lambda x: x.clip(0, 200)), ['price'])])),
    ])
    

數(shù)據(jù)變換

以下是對(duì)數(shù)據(jù)變換的更緊湊、更細(xì)節(jié)化的總結(jié),突出核心要點(diǎn)與實(shí)用技巧:


一、標(biāo)準(zhǔn)化/歸一化:核心差異

方法公式適用場(chǎng)景異常值敏感度Scikit-learn工具
Z-score z = x ? μ σ z = \frac{x - \mu}{\sigma} z=σx?μ?數(shù)據(jù)近似正態(tài)分布,線性模型(SVM、回歸)StandardScaler
Min-Max x ′ = x ? x min ? x max ? ? x min ? x' = \frac{x - x_{\min}}{x_{\max} - x_{\min}} x=xmax??xmin?x?xmin??圖像像素、神經(jīng)網(wǎng)絡(luò)輸入層MinMaxScaler
Robust x ′ = x ? median I Q R x' = \frac{x - \text{median}}{IQR} x=IQRx?median?存在異常值,非正態(tài)分布RobustScaler

關(guān)鍵技巧

  • 樹模型(如隨機(jī)森林、XGBoost)無需標(biāo)準(zhǔn)化,但對(duì)特征組合敏感的模型(FM、NN)需要。
  • 歸一化到[-1,1]可能對(duì)某些激活函數(shù)(如tanh)更友好。

二、非線性變換:快速選擇

  1. 對(duì)數(shù)變換:右偏數(shù)據(jù)(如收入),用np.log1p避免零值。
  2. Box-Cox變換:需數(shù)據(jù)嚴(yán)格為正,自動(dòng)優(yōu)化λ值(scipy.stats.boxcox)。
  3. 分位數(shù)變換:強(qiáng)制數(shù)據(jù)服從均勻/正態(tài)分布(QuantileTransformer)。

示例代碼

from sklearn.preprocessing import PowerTransformer
pt = PowerTransformer(method='yeo-johnson')  # 兼容零/負(fù)值
X_transformed = pt.fit_transform(X)

三、分類變量編碼:場(chǎng)景化方案

方法優(yōu)點(diǎn)缺點(diǎn)適用模型
One-Hot無順序假設(shè),兼容所有模型高維稀疏,需處理共線性線性模型、神經(jīng)網(wǎng)絡(luò)
Target編碼保留類別與目標(biāo)的關(guān)系需防過擬合(如交叉驗(yàn)證)樹模型、高基數(shù)類別
Embedding低維稠密,捕捉語(yǔ)義相似性需預(yù)訓(xùn)練或端到端學(xué)習(xí)深度學(xué)習(xí)(NLP/推薦系統(tǒng))

關(guān)鍵點(diǎn)

  • 高基數(shù)類別優(yōu)先用Target EncodingCatBoost內(nèi)置處理。
  • 樹模型可嘗試Label Encoding,但需驗(yàn)證類別順序是否合理。

四、特征工程:高效操作

  1. 數(shù)值特征
    • 交叉特征:加減乘除(如電商中“單價(jià)×購(gòu)買量=總金額”)。
    • 分箱:等頻分箱(pd.qcut)或等寬分箱(pd.cut),捕捉非線性。
  2. 時(shí)間特征
    • 提取周期性(星期、月份),滑動(dòng)窗口統(tǒng)計(jì)(均值、標(biāo)準(zhǔn)差)。
  3. 文本特征
    • 短文本用TF-IDF,長(zhǎng)文本用BERT嵌入,高維稀疏時(shí)用TruncatedSVD降維。

代碼示例

# 時(shí)間特征處理
df['hour'] = df['timestamp'].dt.hour
df['is_weekend'] = df['timestamp'].dt.weekday >= 5

五、降維:選擇策略

方法核心思想適用場(chǎng)景注意事項(xiàng)
PCA線性投影最大化方差高維數(shù)據(jù)可視化/去噪需先標(biāo)準(zhǔn)化,可能丟失非線性信息
t-SNE非線性保留局部結(jié)構(gòu)可視化高維聚類計(jì)算代價(jià)高,不用于特征輸入
UMAP平衡速度與局部/全局結(jié)構(gòu)大規(guī)模數(shù)據(jù)可視化/預(yù)處理參數(shù)敏感,需調(diào)參

經(jīng)驗(yàn)

  • 輸入特征>50時(shí)優(yōu)先用PCA,保留95%方差(n_components=0.95)。
  • 避免對(duì)樹模型使用降維,可能破壞特征重要性。

六、避坑指南

  1. 數(shù)據(jù)泄露
    • 所有變換必須僅用訓(xùn)練集統(tǒng)計(jì)量!用Pipeline確保流程:
      from sklearn.pipeline import make_pipeline
      pipe = make_pipeline(StandardScaler(), SVM())
      pipe.fit(X_train, y_train)
      
  2. 異常值處理
    • 縮尾處理(np.clip)或中位數(shù)填充,避免破壞分布。
  3. 評(píng)估驗(yàn)證
    • 對(duì)KNN、SVM等敏感模型,對(duì)比不同縮放方法的分類邊界(如決策邊界圖)。

七、端到端流程

  1. 輸入檢查:分布(直方圖/Q-Q圖)、缺失值、異常值。
  2. 數(shù)值特征:縮放→非線性變換→分箱。
  3. 分類特征:編碼→嵌入(可選)。
  4. 特征構(gòu)造:領(lǐng)域知識(shí)驅(qū)動(dòng)交叉/聚合。
  5. 輸出驗(yàn)證:模型在驗(yàn)證集的表現(xiàn)波動(dòng)是否<5%。

總結(jié):數(shù)據(jù)變換需與模型特性深度耦合,通過實(shí)驗(yàn)迭代優(yōu)化。記住:“Garbage in, garbage out”——寧可花80%時(shí)間在數(shù)據(jù)準(zhǔn)備,而非調(diào)參!


特征工程

特征工程:從原始數(shù)據(jù)到模型燃料的核心技術(shù)

特征工程是機(jī)器學(xué)習(xí)的“煉金術(shù)”,旨在將原始數(shù)據(jù)轉(zhuǎn)化為模型可理解的強(qiáng)特征,直接影響模型性能上限。以下是結(jié)構(gòu)化拆解:


一、核心目標(biāo)與價(jià)值
  • 目標(biāo):構(gòu)造高信息量、低冗余、適配模型的特征。
  • 價(jià)值
    • 提升模型準(zhǔn)確率(如添加用戶歷史行為統(tǒng)計(jì)特征)
    • 降低計(jì)算成本(通過降維/特征選擇)
    • 增強(qiáng)可解釋性(如分箱后的年齡組代替原始值)

二、特征構(gòu)造:從原始數(shù)據(jù)中“挖掘金子”
  1. 時(shí)間特征

    • 基礎(chǔ)字段:年、月、日、小時(shí)、星期幾、是否節(jié)假日
    • 衍生特征:時(shí)間間隔(如上次購(gòu)買距今的天數(shù))、滑動(dòng)窗口統(tǒng)計(jì)(過去7天均值)
    df['purchase_hour'] = df['timestamp'].dt.hour
    df['days_since_last_purchase'] = (current_date - df['last_purchase_date']).dt.days
    
  2. 交互特征(組合特征)

    • 數(shù)值交互:加減乘除(如“單價(jià)×數(shù)量=總價(jià)”)
    • 類別交叉:笛卡爾積(如“地區(qū)×產(chǎn)品類型”生成組合標(biāo)簽)
    df['price_per_sqmeter'] = df['total_price'] / df['area']
    
  3. 統(tǒng)計(jì)聚合特征

    • 單維度統(tǒng)計(jì):用戶歷史購(gòu)買金額的均值、最大值、方差
    • 跨表關(guān)聯(lián):訂單表按用戶ID聚合的訂單數(shù)、退貨率
    user_stats = orders.groupby('user_id')['amount'].agg(['mean', 'max'])
    
  4. 文本/圖像特征

    • 文本:TF-IDF關(guān)鍵詞權(quán)重、BERT句向量、情感分析得分
    • 圖像:邊緣特征、顏色直方圖、預(yù)訓(xùn)練CNN提取的特征圖

三、特征變換:提升模型適配性
  1. 分箱(Binning)

    • 等寬分箱:固定區(qū)間寬度(如年齡每10年一檔)
    • 等頻分箱:保證每箱樣本量均衡
    • 模型分箱:使用決策樹尋找最優(yōu)分割點(diǎn)
    df['age_bin'] = pd.cut(df['age'], bins=[0,18,35,60,100], labels=['child', 'young', 'adult', 'senior'])
    
  2. 非線性變換

    • 對(duì)數(shù)變換:處理右偏分布(np.log1p避免零值)
    • Box-Cox變換:自動(dòng)優(yōu)化正態(tài)性(僅適用于正值)
    • 分位數(shù)變換:強(qiáng)制服從指定分布(如正態(tài)、均勻)
  3. 高基數(shù)類別處理

    • 目標(biāo)編碼(Target Encoding):用目標(biāo)變量的統(tǒng)計(jì)量(如均值)代替類別
    • 頻率編碼:使用類別出現(xiàn)頻率作為特征值
    • 嵌入編碼(Embedding):通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)低維表示(如Word2Vec)

四、特征選擇:剔除噪聲與冗余
方法原理適用場(chǎng)景
過濾法基于統(tǒng)計(jì)指標(biāo)(如方差、卡方檢驗(yàn))快速初篩,計(jì)算成本低
包裹法通過模型性能迭代選擇特征子集精確但計(jì)算代價(jià)高(遞歸特征消除)
嵌入法模型訓(xùn)練中自動(dòng)選擇(如L1正則化)與模型耦合,高效

實(shí)用技巧

  • 對(duì)樹模型,直接使用feature_importances_篩選重要性>閾值特征
  • 對(duì)線性模型,結(jié)合Lasso回歸的系數(shù)稀疏性做特征剔除

五、自動(dòng)化特征工程工具
  1. FeatureTools:自動(dòng)生成跨表聚合特征(如“用戶最近3次登錄時(shí)間標(biāo)準(zhǔn)差”)
  2. TSFresh:針對(duì)時(shí)間序列自動(dòng)提取數(shù)百種統(tǒng)計(jì)特征(如自相關(guān)性、傅里葉變換系數(shù))
  3. AutoFeat:自動(dòng)構(gòu)造多項(xiàng)式特征并進(jìn)行顯著性篩選
# FeatureTools示例
import featuretools as ft
es = ft.EntitySet()
es = es.entity_from_dataframe(entity_id='users', dataframe=users_df, index='user_id')
features, feature_defs = ft.dfs(entityset=es, target_entity='users')

六、避坑指南與最佳實(shí)踐
  1. 避免數(shù)據(jù)泄露

    • 所有統(tǒng)計(jì)量(如Target Encoding的均值)必須僅從訓(xùn)練集計(jì)算!
    • 使用Pipeline封裝預(yù)處理與模型訓(xùn)練:
      from sklearn.pipeline import Pipeline
      pipe = Pipeline([('encoder', TargetEncoder()), ('model', RandomForest())])
      
  2. 領(lǐng)域知識(shí)驅(qū)動(dòng)

    • 在電商場(chǎng)景中,構(gòu)造“商品價(jià)格與類目平均價(jià)格的比值”可能比單純價(jià)格更有效
    • 在風(fēng)控場(chǎng)景中,組合“申請(qǐng)時(shí)間與工作時(shí)段的重疊度”作為特征
  3. 迭代驗(yàn)證

    • 通過AB測(cè)試對(duì)比不同特征組合的模型性能
    • 監(jiān)控特征穩(wěn)定性(如PSI指標(biāo))防止線上數(shù)據(jù)分布偏移

七、終極心法
  • “Less is More”:優(yōu)先構(gòu)造10個(gè)強(qiáng)特征,而非100個(gè)弱特征。
  • “Think Like a Model”:理解模型如何利用特征(如線性模型依賴線性可分性,NN偏好稠密低維輸入)。
  • “Data First, Algorithm Second”:特征工程提升的上限遠(yuǎn)高于調(diào)參!

總結(jié):特征工程是融合領(lǐng)域知識(shí)、數(shù)據(jù)直覺與工程技巧的藝術(shù)。掌握核心方法后,需在業(yè)務(wù)場(chǎng)景中反復(fù)迭代,才能煉出“模型友好”的金牌特征。


http://aloenet.com.cn/news/30975.html

相關(guān)文章:

  • 做彩票生意要登陸哪個(gè)網(wǎng)站百度怎么做推廣和宣傳
  • icp備案網(wǎng)站建設(shè)方案書網(wǎng)站收錄一般多久
  • 阿克蘇建設(shè)租房信息阿克蘇租房網(wǎng)站磁力搜索器
  • 破解php網(wǎng)站后臺(tái)賬號(hào)密碼朋友圈廣告推廣文字
  • 寧波商城網(wǎng)站建設(shè)淘寶指數(shù)查詢官網(wǎng)
  • 網(wǎng)站訪問量大 處理小程序如何推廣運(yùn)營(yíng)
  • 免費(fèi)開店鋪網(wǎng)站關(guān)鍵字優(yōu)化價(jià)格
  • 織夢(mèng)后臺(tái)做的網(wǎng)站怎么綁定域名湖南網(wǎng)站建設(shè)營(yíng)銷推廣
  • 做網(wǎng)站字體格式用銳利嗎即刻搜索引擎入口
  • 成都游戲網(wǎng)站開發(fā)代發(fā)關(guān)鍵詞排名包收錄
  • 做網(wǎng)站 流量怎么抓錢網(wǎng)推廣公司
  • 無錫建設(shè)網(wǎng)站的公司湖南百度seo
  • 無錫兼職做網(wǎng)站電商培訓(xùn)內(nèi)容
  • 徐州提供網(wǎng)站建設(shè)報(bào)價(jià)表寧波seo網(wǎng)絡(luò)推廣優(yōu)化價(jià)格
  • 動(dòng)態(tài)網(wǎng)站開發(fā)平臺(tái)簡(jiǎn)介什么叫seo
  • 購(gòu)物網(wǎng)站策劃案廈門谷歌seo公司
  • 北京網(wǎng)站建設(shè)的價(jià)格中國(guó)最好的營(yíng)銷策劃公司
  • 做班級(jí)的活動(dòng)的網(wǎng)站企業(yè)營(yíng)銷策劃方案范文
  • 招聘H5在什么網(wǎng)站做最好搜索引擎排名
  • 用手機(jī)什么軟件做網(wǎng)站百度推廣怎么操作流程
  • 帶登錄網(wǎng)站模板網(wǎng)站建設(shè)的整體流程有哪些
  • 阿里云Windows網(wǎng)站建設(shè)廣東百度推廣的代理商
  • 自助建站系統(tǒng)免授權(quán)版企業(yè)查詢網(wǎng)
  • 網(wǎng)站開發(fā)專業(yè)就業(yè)培訓(xùn)學(xué)校石家莊網(wǎng)絡(luò)營(yíng)銷網(wǎng)站推廣
  • 怎么免費(fèi)做個(gè)人網(wǎng)站互聯(lián)網(wǎng)營(yíng)銷策略有哪些
  • 網(wǎng)站怎么做?企業(yè)培訓(xùn)的目的和意義
  • 一鍵清理加速北京網(wǎng)站優(yōu)化推廣方案
  • 做網(wǎng)站代理拉不到人常州網(wǎng)站推廣公司
  • 動(dòng)態(tài)網(wǎng)站設(shè)計(jì)主題長(zhǎng)春seo培訓(xùn)
  • 金融跟單公司網(wǎng)站建設(shè)seo課程培訓(xùn)中心