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

机器学习基本篇

文章目录

  • 1 基本概念
  • 2 基本流程
    • 2.0 数据获取
    • 2.1 预处理
      • 2.1.0 认识数据
        • 认识问题
      • 2.1.1 不平衡标签的处理
        • a.随机过采样方法 ROS,random over-sampling
        • b. SMOTE synthetic minority Over-Sampling Technique
      • 2.2 缺失值处理
      • 2.3 数据清洗
        • 2.3.0离散特征编码
      • 2.3.1 连续特征处理
        • 归一化
        • 标准化
      • 特征工程

1 基本概念

机器学习,分为 回归,分类,聚类,降维
有监督学习 回归,分类, 有特征,有标签,进行训练,然后对新数据进行预测
无监督学习 聚类,降维。

题目越多,训练越好,

2 基本流程

数据预处理—— 模型训练与评估
可以优化为 获取数据——数据预处理——EDA 分析——特征工程——模型训练——可解释性分析

2.0 数据获取

利用 kaggle, 天池 等平台的 开源 数据,

2.1 预处理

目的:

  1. 让数据更符合逻辑
  2. 让数据更容易计算
    借助函数实现变换 or 运算

2.1.0 认识数据

常用 pandas 包,是 python 中一个强大的数据分析和处理库。
其可以

  1. 数据处理,对数据进行 清洗,转换,合并,分组等操作,处理缺失的和重复的数据。
  2. 数据读取和写入, 如 CSV 格式,excel, JSON, SQL 等
  3. 对数据进行时间序列分析,移动窗口统计等操作

** 部分常用 API **
import pandas as pd
读取数据
df = pd.read_csv(‘data.csv’)
查看数据
df.head()
显示数据集形状. (几行几列)
df.shape

查看数据集信息。 (特征的种类和标签)
Data.info
显示 data.frame 的详细信息,数据类型,每列数据类型,非空值数量

显示数据集的统计特征,
df.decribe()
count 非空值的数量
mean 均值
std 标准差
min 最小值
25% 第 25 %分位点, 就是 100组数据,25%在 25.
50%
max 最大值
unique 唯一值数量
top 出现频率最高的值
freq 最高频率出现次数

认识问题

机器学习: 特征 和 标签
说白了 输入 和 输出
工作 会称 这一对为 字段

2.1.1 不平衡标签的处理

在机器学习任务中,标签的均衡性会对模型的性能有重大影响。
主要是在 分类中。
若 各类样本的数量差异较大,则使得数据集不平衡,
会导致 数据集更偏向 多数类,从而影响少数类的预测性能。
比如说: 990张狗,10张猫
那么模型在 95%以上正确率时,可能会更偏向把猫全部认为成狗。

a.随机过采样方法 ROS,random over-sampling

就是 随机复制少数类样本,增加其数量,使各类样本区于平衡。
但是可能会导致模型过拟合,模型对少数样本的特征过于敏感。

如果数据过多,也能用 欠采样。

from imblearn.over_sampling import RandomOverSampler
# 定义随机过采样器,设置过采样倍数为 2
ros = RandomOverSampler(sampling_strategy=2, random_state=42)# 对数据集进行过采样
X_resampled, y_resampled = 
http://www.lryc.cn/news/538711.html

相关文章:

  • vue2.x与vue3.x生命周期的比较
  • 接口测试及常用接口测试工具(Postman/Jmeter)
  • [论文阅读] SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution
  • Python实战进阶 No1: RESTful API - 基于Flask的实例说明
  • Redis——优惠券秒杀问题(分布式id、一人多单超卖、乐悲锁、CAS、分布式锁、Redisson)
  • OpenCV机器学习(5)逻辑回归算法cv::ml::LogisticRegression
  • 百度百舸 DeepSeek 一体机发布,支持昆仑芯 P800 单机 8 卡满血版开箱即用
  • 批处理效率提升技巧
  • Kubernetes知识点总结(十)
  • 安全防御综合练习2 nat+智能选路
  • Flutter 中的数据跨层传递方案
  • 代码随想录D50-51 图论 Python
  • MyBatis进阶
  • 容器化部署Kafka的最佳实践:基于KRaft模式的无ZooKeeper方案
  • DeepSeek核心算法解析:如何打造比肩ChatGPT的国产大模型
  • LeetCode-633. 平方数之和
  • 前端面试技巧与实践
  • windows Redis Insight 如何查看宝塔docker里的redis数据
  • sql数据执行失败,三个命令依次执行
  • BGP配置华为——RR反射器配置
  • 基于Flask的艺恩影片票房分析系统的设计与实现
  • 架构设计系列(三):架构模式
  • 零基础学QT、C++(一)安装QT
  • SQL注入(SQL Injection)详解与实战
  • 【Prometheus】prometheus结合domain_exporter实现域名监控
  • Java 设计模式之命令模式
  • BT401双模音频蓝牙模块如何开启ble的透传,有什么注意事项
  • 利用二分法+布尔盲注、时间盲注进行sql注入
  • Vue 项目登录的基本流程
  • kubernetes源码分析 kubelet