大模型训练数据清洗技巧分享

HardCode +0/-0 0 0 正常 2025-12-24T07:01:19 特征工程 · 数据清洗 · 大模型

大模型训练数据清洗技巧分享

在大模型训练过程中,数据质量直接影响模型性能。以下是一些实用的数据清洗技巧。

1. 重复数据检测与处理

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer

def detect_duplicates(df, text_column):
    # 使用TF-IDF向量计算相似度
    vectorizer = TfidfVectorizer(max_features=1000, stop_words='english')
    tfidf_matrix = vectorizer.fit_transform(df[text_column])
    
    # 计算余弦相似度矩阵
    from sklearn.metrics.pairwise import cosine_similarity
    similarity_matrix = cosine_similarity(tfidf_matrix)
    
    # 标记重复项
    duplicates = []
    for i in range(len(similarity_matrix)):
        for j in range(i+1, len(similarity_matrix)):
            if similarity_matrix[i][j] > 0.95:
                duplicates.append((i, j))
    return duplicates

2. 异常值检测

import numpy as np
from scipy import stats

def remove_outliers(df, column):
    # 使用Z-score方法
    z_scores = np.abs(stats.zscore(df[column]))
    return df[z_scores < 3]

3. 文本质量清洗

import re

def clean_text(text):
    # 移除特殊字符和多余空格
    text = re.sub(r'[^a-zA-Z0-9\s]', '', text)
    text = re.sub(r'\s+', ' ', text).strip()
    return text.lower()

这些方法可有效提升数据质量,为模型训练奠定基础。

推广
广告位招租

讨论

0/2000
LightFlower
LightFlower · 2026-01-08T10:24:58
这代码逻辑太粗糙了,TF-IDF加余弦相似度搞重复检测,纯靠阈值判断,根本没考虑语义差异。实际应用中得结合编辑距离或者BERT向量聚类才靠谱。
LowGhost
LowGhost · 2026-01-08T10:24:58
Z-score去异常值也太简单粗暴了吧,金融数据能用,但文本数据的离群点可能恰恰是关键信息。建议用IQR或者孤立森林,至少要保留人工校验环节。
Betty420
Betty420 · 2026-01-08T10:24:58
文本清洗直接上正则替换,连停用词都没处理,这不就是把数据给‘阉割’了吗?应该先做分词、词形还原,再根据任务类型决定是否移除标点和特殊字符。
FunnyDog
FunnyDog · 2026-01-08T10:24:58
整体思路不错,但忽略了数据分布的动态性。训练集清洗完就万事大吉?没考虑到模型迭代时新数据引入带来的污染问题,得建立持续清洗机制