Day31

文件的拆分和使用

知识点回顾

  1. 规范的文件命名
  2. 规范的文件夹管理
  3. 机器学习项目的拆分
  4. 编码格式和类型注解

作业:
day31 data.py

# -*- coding: utf-8 -*-
import sys
import io
# 设置标准输出为 UTF-8 编码
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
import pandas as pd
 
def load_data(file_path: str) -> pd.DataFrame:
    """加载数据文件
    Args:
        file_path: 数据文件路径
    Returns:
        加载的数据框
    """
    return pd.read_csv(file_path)
 
if __name__ == "__main__":
    # 测试代码
    data = load_data("day31 文件的拆分和使用/data/raw/heart.csv")
    print("数据读取完成!") 

day31 文件的拆分和使用\src\data\preprocessing.py

# -*- coding: utf-8 -*-
import sys
import io
import os
# 设置标准输出为 UTF-8 编码
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
 
import pandas as pd
import numpy as np
from typing import Tuple, Dict
 
 
def load_data(file_path: str) -> pd.DataFrame:
    """加载数据文件
    Args:
        file_path: 数据文件路径
    Returns:
        加载的数据框
    """
    return pd.read_csv(file_path)
 
# 仅以处理缺失值为例
def handle_missing_values(data: pd.DataFrame) -> pd.DataFrame:
    """处理缺失值
    Args:
        data: 包含缺失值的数据框
    Returns:
        处理后的数据框
    """
    data_clean = data.copy()
    continuous_features = data.select_dtypes(include=['int64', 'float64']).columns.tolist()
    
    for feature in continuous_features:
        mode_value = data[feature].mode()[0]
        data_clean[feature].fillna(mode_value, inplace=True)
    
    return data_clean
 
if __name__ == "__main__":
    # 测试代码
    data = load_data("day31 文件的拆分和使用/data/raw/heart.csv")
    # data_encoded, mappings = encode_categorical_features(data)
    data_clean = handle_missing_values(data)
    print("数据预处理完成!") 

输出

 data_clean[feature].fillna(mode_value, inplace=True)
 
训练耗时: 0.3986 秒
 
分类报告:
              precision    recall  f1-score   support
 
           0       0.83      0.83      0.83        29
           1       0.84      0.84      0.84        32
 
    accuracy                           0.84        61
   macro avg       0.84      0.84      0.84        61
weighted avg       0.84      0.84      0.84        61
 
 
 
混淆矩阵:
[[24  5]
 [ 5 27]]
 
模型已保存至: day31 文件的拆分和使用/models/random_forest_model.joblib

@浙大疏锦行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值