news 2026/4/18 5:43:09

Python Victor-DAY 8 标签编码与连续变量处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python Victor-DAY 8 标签编码与连续变量处理

知识点复盘:

  1. 字典的简单介绍(增删查改)
  2. 标签编码(字典的映射)
  3. 对独热编码的深入理解----n个不相关变量只有n-1个自由的
  4. 连续特征的处理:归一化和标准化----一般选一个即可,谁好谁坏做了才知道,除非有先验知识。

至此,常见的预处理方式都说完了

作业:对心脏病数据集的特征用上述知识完成,一次性用所有的处理方式完成预处理,包括

  1. 缺失值的处理
  2. 离散特征的编码
  3. 连续特征的归一化or标准化
  4. 数据可视化(单特征、单特征与标签)
import pandas as pd data = pd.read_csv(r'D:\课程\课程文件1\pythonstudy\pythonx训练营\python-60days-challenge\heart.csv') data.head()

输出

缺失值的处理

data.isnull()

输出

data.head()

输出

离散特征的编码

data.columns

输出

print(data.dtypes)

输出

for discrete_features in data.columns: if data[discrete_features].dtype == 'object': print(discrete_features)
data['age']

data['age'].value_counts()

整合

连续特征的归一化or标准化

数据可视化(单特征、单特征与标签)

# 手动实现归一化 def manual_normalize(data): min_val = data.min() max_val = data.max() normalized_data = (data - min_val) / (max_val - min_val) return normalized_data data['sex'] = manual_normalize(data['sex']) data['sex'].head()

输出

0 1.0 1 1.0 2 0.0 3 1.0 4 0.0 Name: sex, dtype: float64
# 使用sklearn进行归一化处理 from sklearn.preprocessing import StandardScaler, MinMaxScaler data = pd.read_csv(r'D:\课程\课程文件1\pythonstudy\pythonx训练营\python-60days-challenge\heart.csv') min_max_scaler = MinMaxScaler() data['sex'] = min_max_scaler.fit_transform(data[['sex']]) data['sex'].head

输出

<bound method NDFrame.head of 0 1.0 1 1.0 2 0.0 3 1.0 4 0.0 ... 298 0.0 299 1.0 300 1.0 301 1.0 302 0.0 Name: sex, Length: 303, dtype: float64>
# 使用sklearn进行标准化处理 data = pd.read_csv(r'D:\课程\课程文件1\pythonstudy\pythonx训练营\python-60days-challenge\heart.csv') scaler = StandardScaler() data['sex'] = scaler.fit_transform(data[['sex']]) data['sex'].head()

输出

0 0.681005 1 0.681005 2 -1.468418 3 0.681005 4 -1.468418 Name: sex, dtype: float64

数据可视化

单特征

单特征与标签的关系

plt.figure(figsize=(12, 6)) sns.violinplot(x='age', y='chol', data=data, scale='width', inner='quartile')#把年龄(age)当横轴分组,胆固醇(chol)当纵轴连续量,画“小提琴”——左右鼓包表示每个年龄组里 chol 的分布形状,宽度代表样本量。 plt.title('Cholesterol vs. age') plt.xlabel('Age (years)') plt.ylabel('Cholesterol (mg/dL)') plt.tight_layout() plt.show()

输出

import seaborn as sns import matplotlib.pyplot as plt plt.figure(figsize=(8, 5)) # 1. 只画 KDE 轮廓,填不填都可以 sns.kdeplot(data=data, x='chol', hue='target', fill=True, # 填色更直观 bw_adjust=0.7, # 平滑度 common_norm=False,# 各自积分=1,方便比较形状 palette='Set2') # 2. 细节美化 plt.title('Cholesterol distribution by Heart Disease') plt.xlabel('Cholesterol (mg/dL)') plt.ylabel('Density') plt.legend(title='Heart Disease', labels=['No', 'Yes']) plt.tight_layout() plt.show()

输出

@浙大疏锦行

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:23:50

Web层接口通用鉴权注解实践(基于JDK8)

背景 目前我负责的一个公司内部Java应用&#xff0c;其Web层几乎没有进行水平鉴权&#xff0c;存在着一定的风险&#xff0c;比如A可以看到不属于他的B公司的数据。最近公司进行渗透测试&#xff0c;将这个风险暴露出来&#xff0c;并将修复提上了议程。 由于Web层的接口很多…

作者头像 李华
网站建设 2026/4/14 18:13:36

如何将TECNO联系人导出到Excel

许多TECNO用户希望找到一种简单的方法&#xff0c;以熟悉的电子表格格式&#xff08;如Excel&#xff09;备份联系人&#xff0c;以便更好地整理、查看或共享信息。无论您是更换设备、与其他平台同步&#xff0c;还是创建手机外的本地备份&#xff0c;了解如何将TECNO联系人导出…

作者头像 李华
网站建设 2026/4/9 14:36:16

如何查找研究需要的文献:实用方法与技巧指南

一、wispaper 入口在这&#x1f449;https://www.wispaper.ai/ 追踪自己研究方向的前沿&#xff0c;其实是搞科研关键的技能之一 问题是&#xff0c;每天手动去检索新论文太麻烦&#xff01;看《Nature》《Science》这种综合期刊又太杂&#xff0c;想找对口内容很难&#xf…

作者头像 李华
网站建设 2026/4/16 10:36:24

云手机的兼容性如何

云手机的兼容性整体表现较好&#xff0c;在操作系统适配、硬件设备适配、应用程序适配等方面均有不错的表现&#xff0c;多数云手机基于安卓系统开发&#xff0c;部分云手机可支持安卓全版本自由切换&#xff0c;云手机目前通常不支持安装 iOS 系统&#xff0c;仅能通过 iOS 设…

作者头像 李华
网站建设 2026/4/17 12:33:35

大模型分布式训练面试精解:DP/TP/PP与ZeRO全指南

文章以面试问答形式介绍大模型分布式训练核心技术&#xff0c;包括数据并行(DP)、流水线并行(PP)、张量并行(TP)和ZeRO优化策略。详细解析各并行方式原理、适用场景及叠加条件(3D并行)&#xff0c;分析多机多卡环境下的技术挑战与显存限制解决方案&#xff0c;为LLM训练提供全面…

作者头像 李华