三、主成分分析(PCA)
1. 核心公式
主成分分析的目标是将高维数据投影到低维空间,同时最大化投影后的方差。核心步骤包括:
2. 优点
- 能有效降低数据的维度,减少计算复杂度。
- 可以去除冗余特征,提高模型的泛化能力。
3. 缺点
- PCA是线性方法,对于非线性数据效果不佳。
- 主成分的物理意义不明确,可能不利于解释。
4. 适用场景
- 特别适用于高维数据的降维,如图像处理、基因数据分析。
5. 核心案例
我们使用Wine
数据集来展示PCA的效果~
from sklearn.datasets import load_wine
from sklearn.decomposition import PCA
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 加载数据集
wine = load_wine()
data = pd.DataFrame(wine.data, columns=wine.feature_names)
# 原始数据统计信息
print("原始数据统计信息:\n", data.describe())
# PCA降维至2维
pca = PCA(n_components=2)
data_pca = pca.fit_transform(data)
# 将PCA后的数据转为DataFrame
data_pca = pd.DataFrame(data_pca, columns=['PC1', 'PC2'])
# 可视化PCA结果
plt.figure(figsize=(10, 8))
sns.scatterplot(x='PC1', y='PC2', hue=wine.target, palette='bright', data=data_pca)
plt.title('PCA of Wine Dataset')
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.show()
四、标签编码(Label Encoding)
1. 核心逻辑
标签编码的目标是将分类变量转换为整数值,使得模型可以处理非数值数据。
具体步骤如下:
2. 优点
-
简单易用,适合有序的类别数据。
-
对存储空间需求小,直接使用整数表示。
3. 缺点
- 对无序类别数据引入了虚假的顺序关系,可能影响模型性能。
4. 适用场景
- 适用于有序类别数据,如学历(高中、本科、硕士)。
5. 核心案例
我们使用模拟的学历数据来展示标签编码的效果,并生成相关的图表。
import pandas as pd
from sklearn.preprocessing import LabelEncoder
import matplotlib.pyplot as plt
import seaborn as sns
# 创建示例数据
data = pd.DataFrame({
'Education': ['High School', 'Bachelor', 'Master', 'PhD', 'Bachelor', 'High School', 'Master', 'PhD']
})
# 标签编码
label_encoder = LabelEncoder()
data['Education_encoded'] = label_encoder.fit_transform(data['Education'])
# 可视化标签编码结果
plt.figure(figsize=(8, 6))
sns.countplot(x='Education_encoded', data=data, palette='coolwarm')
plt.title('Label Encoded Education Levels')
plt.xlabel('Encoded Labels')
plt.ylabel('Count')
plt.show()
print("标签编码结果:\n", data)
完整版PDF文档,免费领取~
五、独热编码(One-Hot Encoding)
1. 核心公式
2. 优点
- 消除类别之间的顺序关系,避免模型引入虚假的顺序信息。
- 提高模型对类别变量的处理能力,适合无序类别。
3. 缺点
- 当类别较多时,会显著增加数据的维度,导致“维度灾难”。
- 对于高基数的分类特征,如城市、国家,编码后的稀疏矩阵会占用大量内存。
4. 适用场景
- 适用于无序类别数据,如性别、颜色等。
核心案例
我们使用Titanic
数据集中的性别特征来展示独热编码的效果~
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
import matplotlib.pyplot as plt
import seaborn as sns
# 创建示例数据
data = pd.DataFrame({
'Gender': ['Male', 'Female', 'Female', 'Male', 'Female', 'Male', 'Male', 'Female']
})
# 独热编码
onehot_encoder = OneHotEncoder(sparse=False)
gender_encoded = onehot_encoder.fit_transform(data[['Gender']])
# 将独热编码后的数据转为DataFrame
gender_encoded_df = pd.DataFrame(gender_encoded, columns=onehot_encoder.categories_[0])
# 可视化独热编码结果
plt.figure(figsize=(8, 6))
sns.heatmap(gender_encoded_df, annot=True, cbar=False, cmap='coolwarm')
plt.title('One-Hot Encoded Gender')
plt.xlabel('Gender')
plt.ylabel('Sample Index')
plt.show()
print("独热编码结果:\n", gender_encoded_df)
六、过采样(Over-sampling)
1. 核心公式
过采样的目标是通过复制少数类样本来平衡类别分布,主要方法包括简单复制和SMOTE(合成少数类过采样技术)。
SMOTE的核心步骤如下:
2. 优点
-
增加少数类样本数量,提高分类模型对少数类的识别能力。
-
使用SMOTE生成的新样本更具多样性,减轻了过拟合的风险。
3. 缺点
-
可能会引入噪声样本,导致模型过拟合。
-
简单复制方法可能会加剧少数类的过拟合问题。
4. 适用场景
- 特别适用于类别不平衡问题,如欺诈检测、医疗诊断等。
5. 核心案例
我们使用模拟的二分类不平衡数据集来展示过采样的效果~
from sklearn.datasets import make_classification
from imblearn.over_sampling import SMOTE
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)
# 使用SMOTE进行过采样
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.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 SMOTE')
# 过采样后
plt.subplot(1, 2, 2)
sns.scatterplot(X_resampled[:, 0], X_resampled[:, 1], hue=y_resampled, palette='coolwarm')
plt.title('After SMOTE')
plt.show()
最后分享
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
5. 大模型面试题
面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费
】
如有侵权,请联系删除。