DAY 25 异常处理

@浙大疏锦行https://blog.csdn.net/weixin_45655710

知识点回顾:

  1. 异常处理机制
  2. debug过程中的各类报错
  3. try-except机制
  4. try-except-else-finally机制

**作业:**理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。

复制代码
# --- 1. 加载数据并定义特征 (X) 和目标 (y) ---
# 假设 heart.csv 已在当前目录
try:
    data = pd.read_csv('heart.csv')
    print("✅ 心脏病数据加载成功!")
except FileNotFoundError:
    print("❌ 错误: 'heart.csv' 未找到。")
    exit()

# --- 步骤 1: 加载数据 ---
print("--- 步骤 1: 加载数据 ---")
try:
    train_df = pd.read_csv('train.csv')
    test_df = pd.read_csv('test.csv')
    submission_df = pd.read_csv('gender_submission.csv') # 加载示例提交文件以了解格式
    print("✅ 训练集、测试集和提交示例文件加载成功!")
    print(f"训练集形状: {train_df.shape}")
    print(f"测试集形状: {test_df.shape}")
except FileNotFoundError as e:
    print(f"❌ 错误: 找不到文件 {e.filename}。请确保所有CSV文件都在同一目录下。")
    exit()

# --- 1. 加载并初步清洗心脏病数据集 ---
try:
    data = pd.read_csv('heart.csv')
    print("--- 心脏病数据已加载 ---")
    print(f"原始数据形状: {data.shape}")
except FileNotFoundError:
    print("❌ 错误: 'heart.csv' 文件未找到。请确保它和脚本在同一目录下。")
    exit()
except Exception as e:
    print(f"❌ 加载数据时发生错误: {e}")
    exit()

# --- 4. 对训练集进行 SVD 分解并降维 ---
# (注意: sklearn的TruncatedSVD更适合大规模数据和直接降维,
#  但这里我们遵循您提供的numpy.linalg.svd示例流程)

print("\n--- 正在对训练集进行SVD分解 ---")
try:
    U_train, sigma_train, Vt_train = np.linalg.svd(X_train_scaled, full_matrices=False)
except np.linalg.LinAlgError as e:
    print(f"❌ SVD 计算错误: {e}")
    print("这可能因为数据中仍有非数值或NaN值,或者其他线性代数问题。")
    exit()

# --- 步骤 1: 加载心脏病数据集 ---
print("--- 步骤 1: 加载心脏病数据集 ---")
try:
    # 读取名为 'heart.csv' 的数据文件
    data = pd.read_csv('heart.csv')
    print("✅ 心脏病数据加载成功!")
    print(f"数据形状 (行数, 列数): {data.shape}")
    print("\n数据前5行预览:")
    print(data.head())
    print("\n数据基本信息:")
    data.info()
    print("\n数据描述性统计:")
    print(data.describe())
except FileNotFoundError:
    print("❌ 错误: 'heart.csv' 文件未找到。请确保文件在此脚本的同一目录下。")
    exit() # 如果文件未找到,则退出脚本
except Exception as e:
    print(f"❌ 加载文件时发生错误: {e}")
    exit() # 如果发生其他错误,则退出脚本
相关推荐
喵叔哟4 小时前
02-YOLO-v8-v9-v10工程差异对比
人工智能·yolo·机器学习
白日做梦Q4 小时前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
小白狮ww6 小时前
要给 OCR 装个脑子吗?DeepSeek-OCR 2 让文档不再只是扫描
人工智能·深度学习·机器学习·ocr·cpu·gpu·deepseek
dazzle6 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
玄同7657 小时前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
B站_计算机毕业设计之家7 小时前
豆瓣电影推荐系统 | Python Django Echarts构建个性化影视推荐平台 大数据 毕业设计源码 (建议收藏)✅
大数据·python·机器学习·django·毕业设计·echarts·推荐算法
啊阿狸不会拉杆8 小时前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
铁蛋AI编程实战8 小时前
MemoryLake 实战:构建超长对话 AI 助手的完整代码教程
人工智能·python·microsoft·机器学习
张较瘦_8 小时前
[论文阅读] AI | 用机器学习给深度学习库“体检”:大幅提升测试效率的新思路
论文阅读·人工智能·机器学习