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

Python 数据建模与分析项目实战预备 Day 2 - 数据构建与字段解析(模拟简历结构化数据)

✅ 今日目标

  • 构建项目所需的简历结构化数据(模拟或从开源源获取)
  • 明确各字段的含义、类型和取值范围
  • 输出首个训练数据集(CSV / DataFrame 格式)

🧾 一、模拟简历数据字段设计(结构化)

我们将构建如下字段的结构化数据,每条代表一个候选人:

字段含义类型示例值
degree学历等级分类变量(本科/硕士/博士)“硕士”
university_type学校等级分类变量(双一流/普通)“双一流”
work_years工作年限数值型3
skill_python是否掌握 Python布尔/0-11
skill_sql是否掌握 SQL布尔/0-11
skill_ml是否掌握机器学习布尔/0-10
project_count项目数量数值型2
project_desc_len项目描述总长度(字符)数值型500
pass_screening是否通过简历初筛目标值(0/1)1

🛠 二、构建模拟数据

我们将生成 200 条样本数据,模拟随机简历,规则包含:

  • 学历越高、学校越好、技能越多,越可能通过筛选
  • 项目数量 + 描述越丰富,也会有正相关影响
  • 引入一定随机性避免过拟合

✨ 今日产出

  • 一个名为 resume_data.csv 的训练数据文件

    使用以下代码生成样本数据:

    # Kernel was reset, so we need to regenerate the dataset againimport pandas as pd
    import numpy as np
    import os# 设置随机种子
    np.random.seed(42)
    n = 200# 模拟字段
    degrees = np.random.choice(['本科', '硕士', '博士'], size=n, p=[0.6, 0.3, 0.1])
    univ_types = np.random.choice(['普通', '双一流'], size=n, p=[0.7, 0.3])
    work_years = np.random.randint(0, 11, size=n)
    skill_python = np.random.choice([0, 1], size=n, p=[0.3, 0.7])
    skill_sql = np.random.choice([0, 1], size=n, p=[0.4, 0.6])
    skill_ml = np.random.choice([0, 1], size=n, p=[0.6, 0.4])
    project_count = np.random.randint(0, 6, size=n)
    project_desc_len = np.random.randint(50, 1000, size=n)# 评分构造
    score = ((degrees == '博士') * 2 +(degrees == '硕士') * 1 +(univ_types == '双一流') * 1 +work_years * 0.2 +skill_python * 1.5 +skill_sql * 1.2 +skill_ml * 1.3 +project_count * 0.8 +(project_desc_len / 500)
    )prob = 1 / (1 + np.exp(-(score - 7)))  # sigmoid
    pass_screening = (np.random.rand(n) < prob).astype(int)# 生成 DataFrame
    df = pd.DataFrame({"degree": degrees,"university_type": univ_types,"work_years": work_years,"skill_python": skill_python,"skill_sql": skill_sql,"skill_ml": skill_ml,"project_count": project_count,"project_desc_len": project_desc_len,"pass_screening": pass_screening
    })# 保存 CSV
    csv_path = "./data/resume_data.csv"
    df.to_csv(csv_path, index=False)
    print(f"✅ 模拟数据已生成并保存到 {csv_path}")
    
  • 字段说明字典或文档 (如上述第一章所示)

http://www.dtcms.com/a/274125.html

相关文章:

  • 【Python练习】038. 编写一个函数,检查一个链表是否有环
  • PHY模式,slave master怎么区分
  • 力扣网编程134题:加油站(双指针)
  • Android15 无法接收到应用自身发出的广播分析解决
  • 【牛客刷题】dd爱科学1.0
  • Java 大视界 -- Java 大数据在智能医疗远程手术机器人操作数据记录与分析中的应用(342)
  • 从静到动的创作革命:Midjourney Video V1重塑AI影像叙事
  • 滑动窗口-3.无重复字符的最长子串-力扣(LeetCode)
  • 【Linux】虚拟内存的概念和布局
  • UI自动化神器:Playwright元素定位方法!
  • 新型变种木马正在伪装成Termius入侵系统
  • Kotlin 常用语法糖完整整理
  • 【springboot】IDEA手动创建SpringBoot简单工程(无插件)
  • 【零基础学AI】第37讲:提示词工程(Prompt Engineering)
  • NLP_知识图谱_大模型——个人学习记录
  • 解决MySQL虚拟删除影响唯一索引的问题
  • 《PyWin32:Python与Windows的桥梁,解锁系统自动化新姿势》
  • 从0开始学习R语言--Day44--LR检验
  • 外媒:蚂蚁数科等科技公司在香港数字资产枢纽建设中显身手
  • python 在 Linux CentOS 上安装 playwright 的完整步骤
  • 【每日刷题】回文数
  • 【数据结构】8. 二叉树
  • 【LeetCode 热题 100】24. 两两交换链表中的节点——(解法一)迭代+哨兵
  • leetcode106深度解析:从中序与后序遍历序列构造二叉树
  • leetcode:518. 零钱兑换 II[完全背包]
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_congestion_control
  • (LeetCode 每日一题) 3169. 无需开会的工作日 ( 排序+贪心 )
  • 力扣_二叉搜索树_python版本
  • 1965–2022年中国大陆高分辨率分部门用水数据集,包含:灌溉用水、工业制造用水、生活用水和火电冷却
  • 【unitrix】 4.21 类型级二进制数基本结构体(types.rs)