一、数据预处理
1. 读取数据
2. 将数据集data
分为特征集 X
和标签集 y
"""
1. 读取数据
"""
import pandas as pd
# 加载本地数据文件
data = pd.read_csv("波士顿房价数据集.csv")
# 将数据集data分为特征集X和标签集y
X = data.drop(columns=["target"]).to_numpy()
y = data["target"].to_numpy()
为什么要这么操作?
模型训练的需求:
大多数机器学习算法需要明确区分输入特征(
X
)和输出标签(y
)。特征集X
包含了用于预测或分类的输入信息,而标签集y
是算法需要预测或解释的目标。算法使用特征集
X
中的信息来学习如何预测标签集y
中的值。这种区分使得算法能够明确知道哪些数据是用来做预测的,哪些数据是需要被预测的。数据结构的清晰性:
将数据集分为特征集和标签集可以提高代码的可读性和可维护性。这种结构清晰地表明了哪些变量是输入,哪些变量是输出。
这也有助于在后续的数据处理、特征工程和模型评估步骤中保持数据的一致性。
性能优化:
在某些情况下,将数据集分为特征集和标签集可以优化内存使用和计算性能。例如,在训练模型时,可以只加载特征集到内存中,而标签集可以在需要时单独加载。
这在处理大型数据集时尤其重要,因为加载整个数据集到内存中可能会消耗大量资源。
便于模型评估:
在模型训练完成后,需要使用一个独立的测试集来评估模型的性能。通过将数据集分为特征集和标签集,可以更容易地创建这样的测试集。
测试集的特征集用于输入到模型中,而标签集则用于与模型的预测结果进行比较,从而评估模型的准确性。
符合机器学习惯例: