定制网站收费,html5 3d网站,区块链开发教程,网站制作书籍深度学习的数据预处理通常包括#xff1a; 1.数据清洗#xff1a;去除错误或不完整的数据。 2.归一化#xff1a;调整数据范围#xff0c;如将像素值缩放到0-1。 3.数据增强#xff1a;通过旋转、缩放等方法增加数据多样性。 4.数据划分#xff1a;将数据分为训练集、验证…深度学习的数据预处理通常包括 1.数据清洗去除错误或不完整的数据。 2.归一化调整数据范围如将像素值缩放到0-1。 3.数据增强通过旋转、缩放等方法增加数据多样性。 4.数据划分将数据分为训练集、验证集和测试集。 5.编码将分类数据转换为机器学习模型可以处理的形式如独热编码。
CSV文件预处理 写入csv文件
import os # 导入os模块用于操作文件和目录# 创建一个名为data的目录该目录位于当前工作目录的上一级目录中
# 如果目录已存在exist_okTrue参数确保不会抛出错误
os.makedirs(os.path.join(..,data),exist_okTrue)# 定义一个变量data_file存储文件的完整路径
# 文件名为home_tiny.txt位于上一级目录中的data文件夹内
data_fileos.path.join(..,data,home_tiny.txt)# 使用with语句打开文件确保文件操作完成后自动关闭文件
# w模式表示写入模式如果文件已存在则覆盖原有内容
with open(data_file,w) as f:f.write(NumRooms,Ally,price\n)f.write(NA,PAve,127500\n)f.write(2,NA,197500\n)f.write(5,NA,177500\n)f.write(NA,NA,165500\n)读csv文件
import pandas as pddata pd.read_csv(../data/home_tiny.txt) # 使用pandas的read_csv函数读取位于上一级目录中data文件夹内的home.tiny.txt文件
print(data)数据补全注意“NaN”项代表缺失值。 为了处理缺失的数据典型的方法包括插值法和删除法 其中插值法用一个替代值弥补缺失值而删除法则直接忽略缺失值。
通过位置索引iloc我们将data分成inputs和outputs 其中前者为data的前两列而后者为data的最后一列。 对于inputs中缺少的数值我们用同一列的均值替换“NaN”项。
# 使用iloc选择器从data中提取前两列作为输入特征inputs
# 即选择第0列和第1列注意Python是从0开始计数的
inputs, outputs data.iloc[:, 0:2], data.iloc[:, 2]# 对inputs中的缺失值进行填充
# 使用fillna方法将缺失值替换为每列的平均值
inputs inputs.fillna(inputs.mean())对于inputs中的类别值或离散值我们将“NaN”视为一个类别。 由于“巷子类型”“Alley”列只接受两种类型的类别值“Pave”和“NaN” pandas可以自动将此列转换为两列“Alley_Pave”和“Alley_nan”。 巷子类型为“Pave”的行会将“Alley_Pave”的值设置为1“Alley_nan”的值设置为0。 缺少巷子类型的行会将“Alley_Pave”和“Alley_nan”分别设置为0和1。
# 使用get_dummies函数对inputs进行独热编码
# dummy_naTrue表示将缺失值也作为一个类别进行编码
inputs pd.get_dummies(inputs, dummy_naTrue)NumRooms Alley_Pave Alley_nan
0 3.0 1 0
1 2.0 0 1
2 4.0 0 1
3 3.0 0 1现在inputs和outputs中的所有条目都是数值类型它们可以转换为张量格式。 当数据采用张量格式后可以在后续进一步操作。
# 将输入特征inputs转换为NumPy数组并指定数据类型为float
# to_numpy()函数将DataFrame转换为数组dtypefloat确保数据类型为浮点数
X np.array(inputs.to_numpy(dtypefloat))# 将输出标签outputs转换为NumPy数组并指定数据类型为float
# to_numpy()函数将DataFrame转换为数组dtypefloat确保数据类型为浮点数
y np.array(outputs.to_numpy(dtypefloat))(array([[3., 1., 0.],[2., 0., 1.],[4., 0., 1.],[3., 0., 1.]], dtypefloat64),array([127500., 106000., 178100., 140000.], dtypefloat64))热编码One-Hot Encoding是一种处理分类数据的方法常用于机器学习和统计分析中。其目的是将分类变量如文本或标签转换为一种格式使得这些变量可以被算法有效处理。