Metal Arc Welding
收藏资源简介:
Predictive Quality Arc Welding Dataset The dataset comprises various current and voltage time series. Both currents and voltages are synchronously sampled at a frequency 100 kHz, with a maximum permissible error of 0.5%. Preprocessed Data Column Name Description ------------ ------------------------------------------------------------- labels Quality label (0: bad weld quality | 1: good weld quality | -1: no label) exp_ids ID of the experiment run welding_run_id : ID of the welding run V_000 Voltage at the beginning of the cycle (t_0) ... Voltage from (t_1) to (t_198) V_199 Voltage at the end of the cycle I_000 Current at the beginning of the cycle (t_0) ... Current from (t_1) to (t_198) I_199 Current at the end of the cycle Code Sample Reading the Data import logging import numpy as np import pandas as pd def convert_to_np(data: pd.DataFrame) -> tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]: """ Convert DataFrame to numpy arrays, separating labels, experiment IDs, and features. Args: data (pd.DataFrame): Input DataFrame containing 'labels', 'exp_ids', and feature columns. Returns: tuple: A tuple containing: - labels (np.ndarray): Array of labels - exp_ids (np.ndarray): Array of experiment IDs - data (np.ndarray): Combined array of current and voltage features """ logging.info(f"Converting data to numpy array") labels, exp_ids, welding_run_ids = data["label"].values, data["exp_id"].values, data["welding_run_id"].values data = data.drop(columns=["label", "exp_id"]) cols_v = data.columns[data.columns.str.startswith("V")] cols_i = data.columns[data.columns.str.startswith("I")] current_data = data[cols_i].values voltage_data = data[cols_v].values data = np.stack([current_data, voltage_data], axis=2) return labels, exp_ids, welding_run_ids, data if __name__ == "__main__": logging.basicConfig(level=logging.INFO) data_path = "data/welding_data.csv" data = pd.read_csv(data_path) labels, exp_ids, welding_run_ids, data = convert_to_np(data) logging.info(f"Data shapes - labels: {labels.shape}, exp_ids: {exp_ids.shape}, welding_run_ids: {welding_run_ids.shape}, data: {data.shape}")
电弧焊接质量预测数据集 本数据集包含多组电流与电压时序数据。电流与电压均以100 kHz的频率同步采样,最大允许误差为0.5%。 预处理数据 列名 描述 ------------ ------------------------------------------------------------- labels 质量标签(0:焊接质量不合格 | 1:焊接质量合格 | -1:无标签) exp_ids 实验运行编号 welding_run_id 焊接工序编号 V_000 焊接周期初始时刻(t_0)的电压值 ... 时刻t_1至t_198对应的电压值 V_199 焊接周期结束时刻的电压值 I_000 焊接周期初始时刻(t_0)的电流值 ... 时刻t_1至t_198对应的电流值 I_199 焊接周期结束时刻的电流值 代码示例(读取数据) python import logging import numpy as np import pandas as pd def convert_to_np(data: pd.DataFrame) -> tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]: """ 将DataFrame转换为NumPy数组,分离标签、实验编号与特征数据。 Args: data (pd.DataFrame): 包含"labels"、"exp_ids"与特征列的输入DataFrame。 Returns: tuple: 返回的元组包含: - labels (np.ndarray): 标签数组 - exp_ids (np.ndarray): 实验编号数组 - welding_run_ids (np.ndarray): 焊接工序编号数组 - data (np.ndarray): 电流与电压特征拼接数组 """ logging.info(f"正在将数据转换为NumPy数组") labels, exp_ids, welding_run_ids = data["label"].values, data["exp_id"].values, data["welding_run_id"].values data = data.drop(columns=["label", "exp_id"]) cols_v = data.columns[data.columns.str.startswith("V")] cols_i = data.columns[data.columns.str.startswith("I")] current_data = data[cols_i].values voltage_data = data[cols_v].values data = np.stack([current_data, voltage_data], axis=2) return labels, exp_ids, welding_run_ids, data if __name__ == "__main__": logging.basicConfig(level=logging.INFO) data_path = "data/welding_data.csv" data = pd.read_csv(data_path) labels, exp_ids, welding_run_ids, data = convert_to_np(data) logging.info(f"数据形状 - 标签: {labels.shape}, 实验编号: {exp_ids.shape}, 焊接工序编号: {welding_run_ids.shape}, 特征数据: {data.shape}")



