news 2026/7/7 19:36:12

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/7/7 3:38:30

(虚拟教师落地难题破解)基于Open-AutoGLM的教育闭环设计

第一章&#xff1a;虚拟教师落地难题破解的背景与意义随着人工智能与教育深度融合&#xff0c;虚拟教师作为智慧教育的重要载体&#xff0c;正逐步从概念走向实际应用。然而&#xff0c;在真实教学场景中&#xff0c;虚拟教师仍面临技术适配性差、师生交互不自然、教学内容生成…

作者头像 李华
网站建设 2026/7/7 17:33:58

UI 测试最佳实践的通用测试的好处篇:将测试视为文档工具

这篇博文强调了 UI 测试最佳实践中通用测试的好处&#xff0c;特别是将测试视为文档工具的优势。文章解释了通过编写清晰、可读的测试代码&#xff0c;测试不仅仅是验证功能的手段&#xff0c;还是项目文档的一部分。这种做法有助于项目团队更好地理解系统&#xff0c;提高协作…

作者头像 李华
网站建设 2026/7/7 17:34:14

接口测试全流程扫盲..

一.为什么要做接口测试&#xff1f; ①.越底层发现bug&#xff0c;它的修复成本是越低的。 ②.前端随便变&#xff0c;接口测好了&#xff0c;后端不用变&#xff0c;前后端是两拨人开发的。 ③.检查系统的安全性、稳定性&#xff0c;前端传参不可信&#xff0c;比如京东购物…

作者头像 李华
网站建设 2026/7/7 9:46:13

为什么顶级三甲医院都在测试Open-AutoGLM医疗数字人协同系统?

第一章&#xff1a;Open-AutoGLM医疗数字人协同系统的战略意义在人工智能与医疗深度融合的背景下&#xff0c;Open-AutoGLM医疗数字人协同系统应运而生&#xff0c;标志着智慧医疗进入全新阶段。该系统通过整合大语言模型、多模态感知与临床知识图谱&#xff0c;构建起医生、患…

作者头像 李华
网站建设 2026/7/7 9:24:01

国家电网Java面试被问:Spring Boot Starter 制作原理

Spring Boot Starter 制作原理 Spring Boot Starter 是 Spring Boot 的核心特性之一&#xff0c;它通过自动配置简化了依赖管理和配置。下面详细解释其制作原理&#xff1a; 一、核心概念 1. Starter 的本质 依赖集合包&#xff1a;Starter 本身是一个空的 JAR 文件&#xf…

作者头像 李华