news 2026/7/22 10:56:10

DAY 11 机器学习建模与评估

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DAY 11 机器学习建模与评估

@浙大疏锦行

一、知识点

1.1 数据预处理

1.1.1 导入所需要的包

(边写代码边添加包)

import pandas as pd #用于数据处理和分析,可处理表格数据 import numpy as np #用于数值计算,提供高效数组操作 import matplotlib.pyplot as plt #用于绘制各类图表 import seaborn as sns #基于matplotlib的绘图库,绘制更美观 import warnings warnings.filterwarnings('ignore') #设置中文字体(解决中文显示问题) plt.rcParams['font.sans-serif'] = ['SimHei'] # Windows系统常用黑体字体 plt.rcParams['axes.unicode_minus'] = False # 正常显示负号

1.1.2查看数据

data=pd.read_csv(r'文件地址')

data.head()

1.1.3特征名映射

mapping={'Term':'期限'}

data=data.rename(columns=mapping)

1.1.4删除无用列

data=data.drop(column=['ID'])

data.head()

1.1.5编码映射

两种标签编码方式:

方法一:使用map():未匹配转化为NAN

mapping = { "Term": { "Short Term": 1, "Long Term": 0 }, "Home Ownership": { "Rent": 0, "Own Home": 1, "Have Mortgage ": 2, "Home Mortgage": 3 } } data['Term']=data['Term'].map(mapping['Term'])

方法二:使用replace():未匹配则静默跳过

mapping = { "Term": { "Short Term": 1, "Long Term": 0 }, "Home Ownership": { "Rent": 0, "Own Home": 1, "Have Mortgage ": 2, "Home Mortgage": 3 } } data=data.replace(mapping)

1.1.6填补缺失值

#确定需要填充的列 data.isnull().sum() missing_cols= [ '年收入', '当前工作年限' ] #使用众数填充缺失值 for col in missing_cols: #可能存在多个众数,这里取第一个 mode_val=data[col].mode()[0] data[col].fillna(mode_val,inplace=True)

1.1.7异常值处理

异常值可处理可不处理,不处理也会增强泛化性和鲁棒性

异常值一般不处理,或者结合对照试验处理和不处理都要尝试一下

# 1. 绘制箱线图观察异常值 plt.figure(figsize=(8,6)) sns.boxplot(x=data['年收入']) plt.title('年收入箱线图') plt.xlabel('年收入') plt.show() # 2.计算Q1下四分位数、Q3上四分位数、IQR四分位距离 Q1=data[column_name].quantile(0.25) Q3=data[column_name].quantile(0.75) IQR=Q3-Q1 #3.确定异常值边界 lower_bound=Q1-1.5*IQR upper_bound=Q3-1.5*IQR #4.筛选数据,保存边界内的数据 data_before_drop = len(data) data_filtered = data[ (data[column_name] >= lower_bound) & (data[column_name] <= upper_bound) ].copy() # 使用 .copy() 避免 SettingWithCopyWarning # 5. 更新 DataFrame 并报告结果 data = data_filtered data_after_drop = len(data) rows_dropped = data_before_drop - data_after_drop print(f"\n原始数据行数: {data_before_drop}") print(f"删除异常值后行数: {data_after_drop}") print(f"共删除异常值 (行): {rows_dropped}") print(f"\nDataFrame 已更新,'{column_name}' 的异常值已被移除。")

1.1.8可视化部分

1.1.9其他核心部分

特征工程

1.2机器学习模型建模

数据划分、数据归一化、模型训练与评估

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

CUDA进阶学习与深入

什么需要错误处理&#xff1f; CUDA API 调用可能失败&#xff0c;常见原因&#xff1a; 内存不足 设备不存在 内核启动失败 驱动程序错误 不检查错误会导致&#xff1a; 程序崩溃 结果错误 难以调试 CUDA 错误类型 typedef enum cudaError { cudaSuccess 0, …

作者头像 李华
网站建设 2026/7/22 10:54:35

知识的边界:从Anthropic与阿里风波看大模型安全攻防战

知识的边界&#xff1a;从Anthropic与阿里风波看大模型安全攻防战 在人工智能飞速迭代的今天&#xff0c;我们往往沉迷于模型参数的规模、推理速度的快慢以及多模态能力的炫酷&#xff0c;却容易忽视一个隐藏在冰山之下的核心议题——模型知识产权的保护与数据边界的界定。近期…

作者头像 李华
网站建设 2026/7/22 10:54:06

Qt资源系统实战:从图片集成到自定义图标按钮开发

1. 项目概述与核心价值在嵌入式系统或桌面应用的图形用户界面&#xff08;GUI&#xff09;开发中&#xff0c;一个直观、美观的界面往往离不开图片、图标等视觉元素的支撑。然而&#xff0c;对于刚接触Qt框架的开发者来说&#xff0c;如何将这些外部资源高效、可靠地集成到应用…

作者头像 李华
网站建设 2026/7/22 10:53:26

高精度相机标定:编码同心环方法与实践

1. 项目概述&#xff1a;高精度相机标定的挑战与创新 在计算机视觉领域&#xff0c;相机标定是三维重建、视觉测量等应用的基础环节。传统棋盘格标定法存在两个显著痛点&#xff1a;一是角点检测易受透视畸变影响&#xff0c;二是标定精度受限于像素级特征提取。我们提出的编码…

作者头像 李华