十大数据预处理方法最强总结(三)滑动窗口、插值、降采样、特征选择

七、滑动窗口(Sliding Window)

1. 核心公式

滑动窗口的目标是在时间序列数据上提取固定大小的子序列,用于捕捉局部时间特征。

核心步骤:
在这里插入图片描述

2. 优点

  • 能有效捕捉时间序列中的局部模式或趋势。
  • 适合短期预测和时间序列特征提取。

3. 缺点

  • 选择合适的窗口大小较为困难。
  • 对于长序列,滑动窗口生成的大量子序列可能会带来计算开销。

4. 适用场景

  • 特别适用于时间序列预测,如股票价格预测、天气预报等。

5. 核心案例

我们使用模拟的股票价格数据来展示滑动窗口的效果~

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 创建模拟的股票价格数据
np.random.seed(42)
time = np.arange(100)
price = np.sin(time / 10) + np.random.normal(scale=0.1, size=len(time))

data = pd.DataFrame({'Time': time, 'Price': price})

# 定义滑动窗口函数
def sliding_window(data, window_size):
    return np.array([data[i:i + window_size] for i in range(len(data) - window_size + 1)])

# 设置窗口大小
window_size = 10
windows = sliding_window(data['Price'], window_size)

# 可视化滑动窗口结果
plt.figure(figsize=(16, 6))
for i, window in enumerate(windows[:5]):
    plt.plot(range(i, i + window_size), window, marker='o')

plt.title('Sliding Window on Simulated Stock Price')
plt.xlabel('Time')
plt.ylabel('Price')
plt.show()

八、插值(Interpolation)

1. 核心公式

插值的目标是通过已知数据点估计未知数据点。常用方法包括线性插值、多项式插值和样条插值。

核心步骤:
在这里插入图片描述

2. 优点

  • 能有效填补缺失数据,提高数据集的完整性。
  • 多种插值方法可用于不同数据特征的拟合。

3. 缺点

  • 插值方法过于复杂时可能引入噪声或过拟合。

  • 在外推时(即在数据范围之外进行预测),插值结果不可靠。

4. 适用场景

  • 特别适用于有缺失值的数据,如气象数据、传感器数据。

5. 核心案例

我们使用模拟的温度数据来展示插值的效果~

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d

# 创建模拟的温度数据
np.random.seed(42)
time = np.arange(0, 100, 0.5)
temperature = np.sin(time) + np.random.normal(scale=0.1, size=len(time))

# 模拟缺失值
temperature[5:7] = np.nan

data = pd.DataFrame({'Time': time, 'Temperature': temperature})

# 线性插值
linear_interp = interp1d(data['Time'], data['Temperature'], kind='linear', fill_value="extrapolate")
time_new = np.arange(0, 100, 0.1)
temperature_linear = linear_interp(time_new)

# 可视化插值结果
plt.figure(figsize=(12, 6))
plt.plot(data['Time'], data['Temperature'], 'o', label='Original Data')
plt.plot(time_new, temperature_linear, '-', label='Linear Interpolation')
plt.title('Linear Interpolation of Simulated Temperature Data')
plt.xlabel('Time')
plt.ylabel('Temperature')
plt.legend()
plt.show()

在这里插入图片描述

完整版PDF文档,免费领取~

九、降采样(Under-sampling)

1. 核心公式

降采样的目标是通过减少多数类样本来平衡类别分布。最简单的方法是随机采样,即从多数类中随机选择与少数类同等数量的样本。
在这里插入图片描述

2. 优点

  • 降低数据集的不平衡性,提高分类器对少数类的识别能力。
  • 减少计算开销,适合大规模数据集。

3. 缺点

  • 可能丢失多数类的关键信息,降低模型的整体性能。
  • 只适用于多数类样本数远多于少数类样本数的情况。

4. 适用场景

  • 特别适用于类别严重不平衡的数据,如垃圾邮件检测、不良信用记录分析等。

5. 核心案例

我们使用模拟的二分类不平衡数据集来展示降采样的效果~

from sklearn.datasets import make_classification
from imblearn.under_sampling import RandomUnderSampler
import matplotlib.pyplot as plt
import seaborn as sns

# 创建不平衡数据集
X, y = make_classification(n_samples=1000, n_features=2, n_informative=2, n_redundant=0,
                           n_clusters_per_class=1, weights=[0.9, 0.1], random_state=42)

# 使用随机降采样
undersampler = RandomUnderSampler(random_state=42)
X_resampled, y_resampled = undersampler.fit_resample(X, y)

# 可视化降采样前后的数据分布
plt.figure(figsize=(16, 6))

# 降采样前
plt.subplot(1, 2, 1)
sns.scatterplot(X[:, 0], X[:, 1], hue=y, palette='coolwarm')
plt.title('Before Under-sampling')

# 降采样后
plt.subplot(1, 2, 2)
sns.scatterplot(X_resampled[:, 0], X_resampled[:, 1], hue=y_resampled, palette='coolwarm')
plt.title('After Under-sampling')

plt.show()

十、特征选择(Feature Selection)

1. 核心公式

特征选择的目标是从高维数据集中选出最具代表性的一部分特征,常用方法包括过滤法(Filter)、包裹法(Wrapper)和嵌入法(Embedded)。

在这里插入图片描述

2. 优点

  • 减少特征数量,降低模型复杂度,防止过拟合。
  • 提高模型的泛化能力和解释性。

3. 缺点

  • 可能丢失有用信息,影响模型性能。
  • 需要精心选择特征选择方法,适应不同的模型和数据。

4. 适用场景

  • 特别适用于高维数据集,如文本分类、基因表达数据分析。

5. 核心案例

我们使用Breast Cancer数据集来展示特征选择的效果~

from sklearn.datasets import load_breast_cancer
from sklearn.feature_selection import SelectKBest, chi2
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 加载数据集
cancer = load_breast_cancer()
data = pd.DataFrame(cancer.data, columns=cancer.feature_names)

# 使用卡方检验选择前10个最重要的特征
selector = SelectKBest(chi2, k=10)
selector.fit(data, cancer.target)
data_selected = data.iloc[:, selector.get_support(indices=True)]

# 可视化特征选择结果
plt.figure(figsize=(12, 6))
sns.barplot(x=data.columns[selector.get_support()], y=selector.scores_[selector.get_support()])
plt.title('Top 10 Features Selected by Chi-Square Test')
plt.xlabel('Features')
plt.ylabel('Chi-Square Score')
plt.xticks(rotation=90)
plt.show()

最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费


如有侵权,请联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值