当前位置: 首页 > news >正文

Python 数据建模与分析项目实战预备 Day 3 - 特征工程基础与数据预处理(针对简历结构化数据)

✅ 今日目标

  • 熟悉分类与数值特征的处理方式
  • 完成字段的编码、标准化与清洗准备
  • 构建可用于模型训练的 DataFrame

🧾 一、特征分类

我们将字段拆解为两类处理:

特征类型字段处理方法
分类变量degree, university_typeOne-Hot 编码(pandas 或 sklearn)
布尔变量skill_python, skill_sql, skill_ml, pass_screening可直接使用(或视为分类)
数值变量work_years, project_count, project_desc_len可标准化 / 归一化处理

🧪 二、常见处理操作

  1. 缺失值处理(当前数据无缺失)
  2. One-Hot 编码:将 degree, university_type 转为哑变量
  3. 数值标准化:对 project_desc_lenwork_years 等做 StandardScaler
  4. 目标值提取pass_screening 为目标 y,其余为特征 X

📌 重点工具/API

  • pandas.get_dummies(df, columns=[...])
  • sklearn.preprocessing.StandardScaler
  • train_test_split():训练测试集划分

✏️ 今日练习任务

编写脚本 prepare_features.py 实现以下内容:

  • 读取 resume_data.csv

  • 对分类字段进行 one-hot 编码

  • 对数值字段进行标准化

  • 拆分训练/测试集

  • 保存为新文件 processed_resume_data.csv

    # prepare_features.py - 特征工程与数据预处理脚本import pandas as pd
    from sklearn.model_selection import train_test_split
    from sklearn.preprocessing import StandardScaler# 读取数据
    df = pd.read_csv("./data/resume_data.csv")# One-hot 编码分类字段
    df_encoded = pd.get_dummies(df, columns=["degree", "university_type"])# 分离标签与特征
    X = df_encoded.drop("pass_screening", axis=1)
    y = df_encoded["pass_screening"]# 数值字段标准化
    num_cols = ["work_years", "project_count", "project_desc_len"]
    scaler = StandardScaler()
    X[num_cols] = scaler.fit_transform(X[num_cols])# 拆分训练与测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42
    )# 保存预处理结果
    X_train.to_csv("./data/processed_X_train.csv", index=False)
    X_test.to_csv("./data/processed_X_test.csv", index=False)
    y_train.to_csv("./data/processed_y_train.csv", index=False)
    y_test.to_csv("./data/processed_y_test.csv", index=False)print("✅ 特征处理完毕,数据已保存。")
    
http://www.dtcms.com/a/276442.html

相关文章:

  • 使用iso制作ubuntu22.04docker镜像
  • 处理日期与时间
  • 【嵌入式电机控制#13】PID参数整定的全面步骤
  • ClickHouse 25.6 版本发布说明
  • 【华为机试】HJ68 成绩排序
  • 从0设计一个短链接服务:如何实现尽可能短、可变长的短网址系统?
  • 过拟合 跷跷板 幻觉 混合精度
  • 计算机毕业设计springboot影视周边推荐系统 基于SpringBoot的电影衍生品智能推荐平台 JavaWeb实现的影视文化周边个性化服务系统
  • git版本发布
  • 黑客工具Nessus介绍及其安装使用教程
  • 使用Kali Linux hydra进行密码爆破(仅供学习)
  • 质量属性场景(Quality Attribute Scenario)深度解析
  • mybatis模糊匹配采用concat与#{},动态sql讲解
  • 模拟专家协作网络——重塑LLM专业内容生成
  • C语言基础知识--枚举
  • 商业智能(BI)系统深度解析
  • Matlab R2024b下载及详细安装教程,附中文免费Matlab安装包(含离线帮助文档)
  • 为什么一个 @Transactional 注解就能开启事务?揭秘 Spring AOP 的底层魔法
  • 维基艺术图片: python + scrapy 爬取图片
  • 【读书笔记】《C++ Software Design》第一章《The Art of Software Design》
  • 典型的前后端交互数据示例
  • 消息认证码(message authentication code)MAC
  • 自动编码器:深度学习的特征提取与数据压缩利器
  • c++11——移动语义的举例说明
  • 数据结构与算法:逆元、除法同余和容斥原理
  • 指令微调时,也要考虑提示损失
  • Linux - 安全排查 3
  • 用 MATLAB 模拟传染病传播:从 SI 模型到 SIS 模型的可视化之旅
  • 【无标题】基于拓扑膨胀-收缩对偶性(TED),TED原理构建任意维度TQCD模型并推演宇宙可能性的完整方案:
  • 网络连接:拨号连接宽带PPPOE