Python高效数据分析的综合复习指南【时间处理与机器学习】

news2025/6/8 23:58:17

五、时间处理

一、时间戳-----Timestamp类型

方法1:使用Timestamp创建

pandas.Timestamp(ts_input, freq=None, tz=None, unit=None, year=None, month=None, day=None, hour=None, minute=None, second=None, microsecond=None, tzinfo=None, offset=None)

import pandas as pd
ts1=pd.Timestamp('2023/4/19')
ts2=pd.Timestamp('20230419')
ts3=pd.Timestamp('2023-4-19')
print(ts1,ts2,ts3)#2023-04-19 00:00:00 2023-04-19 00:00:00 2023-04-19 00:00:00

方法2:使用to_datetime函数

pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix')

参数说明:

arg:需要转换的时间和日期

errors:值为ignore(无效的解析将返回原值),值为raise(无效的解析将引发异常),值为coerce(无效的解析将被置为NaT)

dayfirst:第一个为天,例如:23/11/2022,置为True:解析为 2022-11-23,置为False:解析为 2022-23-11

date_range()方法,用于生成一个固定频率的DatetimeIndex时间索引。

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs)

常用参数为start、end、periods、freq。

start:指定生成时间序列的开始时间

end:指定生成时间序列的结束时间

periods:指定生成时间序列的数量

freq:生成频率,默认‘D’,可以是‘D’(天)、‘10D’、’H’(时)、‘5H’、‘T’(分)、‘S’(秒)、‘15T’、‘M’(月)

重采样(Resample方法)

Resample()方法: resample能搭配各种不同时间维度,进行分组聚合。针对分组情况你可以搭配使用max、min、sum、mean等使用

resample(rule, how=None, axis=0, fill_method=N one, closed=None, label=None, ..

To_period()方法可以将时间戳转换为日期,从而实现按照日期显示数据

示例 1:将时间序列数据进行降采样为3分钟间隔,对每个区间内的数值求和。

示例2:将时间序列数据进行上采样为30秒间隔,利用ffill和bfill填充

降采样:将高频率转换为低频率,使用聚合函数 升采样:将低频率转为高频率,会引入缺失值。

滑动窗口rolling函数

根据指定的单位长度来框住时间序列,从而计算框内的统计指标

DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)

六、机器学习

机器学习就是通过算法,使得机器能从大量历史数据中学习规律,并利用规律对新的样本做智能识别或对未来做预测。

机器学习的分类

1.按学习目标的不同,机器学习可分为:

监督学习(Supervised Learning)---有标签

无监督学习(Unsupervised Learning) ---无标签

半监督学习(Semi-Supervised Learning) ---有部分标签

强化学习(Reinforcement Learning, RL) ---有延迟的标签

2. 根据训练数据是否有标注,机器学习可划分为:

监督学习

无监督学习

1.监督学习

监督式学习需要使用有输入和预期输出标记的数据集。

监督学习的目的是通过学习许多有标签的样本,然后对新的数据做出预测。

监督学习又可分为“分类”“回归”问题。

(1)分类问题

在分类问题中,机器学习的目标是对样本的类标签进行预测,判断样本属于哪一个分类,结果是离散的数值

(2)回归问题 在回归问题中,其目标是预测一个连续的数值或者是范围

数据集的划分

把数据分割成训练集(我们从中学习数据的属性)和测试集(我们测试这些性质)

训练集(Training set):用来拟合模型,通过设置分类器的参数,训练分类模型。

测试集(Test set):通过训练,得出最优模型后,使用测试集进行模型预测。用来衡量该最优模型的性能和分类能力。即可以把测试集视为从来不存在的数据集,当已经确定模型后,使用测试集进行模型性能评价。

Scikit-learn提供了train_test_split函数来帮助完成这一任务,train_test_split在model_selection模块下

聚类算法实现需要使用sklearn估计器(estimator)。

sklearn估计器拥有fit()和predict()两个方法,其说明如下表所示

K-means算法

(1)参数k的选取方法

k-means算法需要事先确定簇的数量,也即,参数k。过大或过小的k值均不能获得高质量的聚类结果。

(2)初始质心的选择问题

(3)K-means的方法实现

model = KMeans (n_clusters = 4)

KNN算法

K最近邻算法原理:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个类,就把该输入实例分类到这个类中。

流程:

(1)计算已知类别数据集中的点与当前点之间的距离;

(2)按照距离递增次序排序;

(3)选取与当前点距离最小的k个点;

(4)确定前k个点所在类别的出现频率;

(5)返回前k个点所出现频率最高的类别作为当前点的预测分类。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1694694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ICML 2024 时空数据(Spatial-Temporal)论文总结

2024ICML(International Conference on Machine Learning,国际机器学习会议)在2024年7月21日-27日在奥地利维也纳举行 (好像ICLR24现在正在维也纳开)。 本文总结了ICML 24有关时空数据(Spatial-temporal) 的相关论文…

机器学习预测-CNN数据预测示例

介绍 这段代码是一个基于 TensorFlow 和 Keras 的深度学习模型,用于进行数据的回归任务。让我逐步解释一下: 导入必要的库:这里导入了 NumPy 用于数值计算,Pandas 用于数据处理,Matplotlib 用于绘图,Tenso…

Docker学习(3):镜像使用

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。 一、列出镜像列表 可以使用 docker images 来列出本地主机上的镜像。 各个选项说明: REPOSITORY&am…

AI大模型:大数据+大算力+强算法

前言:好久不见,甚是想念,我是辣条,我又回来啦,兄弟们,一别两年,还有多少老哥们在呢? 目录 一年半没更文我干啥去了? AI大模型火了 人工智能 大模型的理解 为什么学习…

H5扫描二维码相关实现

H5 Web网页实现扫一扫识别解析二维码,就现在方法的npm包就能实现,在这个过程中使用过html5-qrcode 和 vue3-qr-reader。 1、html5-qrcode的使用 感觉html5-qrcode有点小坑,在使用的时候识别不成功还总是进入到错误回调中出现类似NotFoundExc…

MFC密码对话框之间数据传送实例(源码下载)

新建一个login工程项目对话框,主对话框IDD_LOGIN_DIALOG中一个显示按钮IDC_BUTTON1、一个密码按钮IDC_BUTTON2。添加一个密码对话框IDD_DIALOG1,添加类password,在对话框中添加一个编辑框IDC_EDIT1、一个确定按钮IDC_BUTTON1。 程序功能&…

Java进阶学习笔记13——抽象类

认识抽象类: 当我们在做子类共性功能抽取的时候,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了。在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类就定义为抽象类…

IOS开发者证书快捷申请

App Uploader 在进行iOS应用开发中,可以借助appuploader辅助工具进行证书制作、上传和安装测试等操作。首先,您需要访问官方网站获取最新版本的appuploader。最新版本已经优化了与Apple账号的登录流程,无需支付688元,并提供了Windows版和Mac版供用户选择。下载完成后,解压…

c++编程14——STL(3)list

欢迎来到博主的专栏:c编程 博主ID:代码小豪 文章目录 list成员类型构造、析构、与赋值iterator元素访问修改元素list的操作 list list的数据结构是一个链表,准确的说应该是一个双向链表。这是一个双向链表的节点结构: list的使用…

Java轻松转换Markdown文件到Word和PDF文档

Markdown 凭借其简洁易用的特性,成为创建和编辑纯文本文档的常用选择。但某些时候我们需要更加精致的展示效果,例如在专业分享文档或打印成离线使用的纸质版时,就需要将Markdown文件以其他固定的文档格式呈现。通过将 Markdown 转换为 Word 和…

PostgreSQL用户与角色简述

简述 PostgreSQL通过角色(role)来控制数据库的访问权限。角色可以拥有数据库对象(比如表、函数等),并允许将这些对象的权限授予其他角色,从而实现对象访问的控制。角色(role)包含了…

llama3-8b-instruct-262k微调过程的问题笔记(场景为llama论文审稿)

目录 一、环境配置 1.1、模型 1.2、微调环境 1.3、微调数据 二、发现的问题 2.1、过拟合问题 2.2、Qlora zero3 保存模型时OOM问题(已解决) 一、环境配置 1.1、模型 llama3-8b-instruct-262k (英文) 1.2、微调环境 Package Version ------------------…

军队仓库管理系统|DW-S301系统特点

部队仓库管理系统DW-S301系统通过数据采集、互联网和物联网技术,实现数字化智能管控,以提高军用物资的仓储准确率和流转率,缩短周转时间,降低库存成本,也有助于消除生产过程中的不确定性。 系统功能:通过部…

ComfyUI完全入门:图生图局部重绘

大家好,我是每天分享AI应用的萤火君! 这篇文章的主题和美女有关,不过并不是教大家生产美女视频,而是讲解 ComfyUI 的图生图局部重绘,其中将会以美女图片为例,来展示局部重绘的强大威力。 先看看效果&…

STM32学习和实践笔记(30):窗口看门狗(WWDG)实验

1.WWDG介绍 1.1 WWDG简介 上一章我们已经介绍了IWDG,知道它的工作原理就是一个12位递减计数器不断递减计数,当减到0之前还未进行喂狗的话,产生一个MCU复位。 窗口看门狗WWDG其实和独立看门狗类似,它是一个7位递减计数器不断的往…

网络模型-策略路由配置

在实际网络应用中,策略路由也是一种重要的技术手段。尽管在考试并不注重策略路由,但是实际上应用较多建议考生除了掌握基本的静态路由协议IP route-static,动态路由协议RIP、还要掌握如何配置策略路由。策略路由的基本原理:根据ACL定义的不同…

基于高通公司AI Hub Models的On-Device AI学习:Introduction to On-Device AI

Introduction to On-Device AI 本文是学习 https://www.deeplearning.ai/short-courses/introduction-to-on-device-ai/这门课的学习笔记。 What you’ll learn in this course As AI moves beyond the cloud, on-device inference is rapidly expanding to smartphones, IoT…

前端-移动端布局

如何在PC端模拟移动端设备 可以在浏览器里打开检查 点击一下移动端按钮 然后选择一下对应的手机型号可以切换到对应的手机端 响应式布局实现方法 Viewport Flex 弹性盒子 Flex容器属性 flex-direction flex-wrap justify-content align-items align-content 进阶学习建议 Vu…

Point-Nerf 理论笔记和理解

文章目录 什么是point nerf 和Nerf 有什么区别Point Nerf 核心结构有哪些?什么是point-based radiance field? 点云位置以及置信度是怎么来Point pruning 和 Point Growing 什么是point nerf 和Nerf 有什么区别 基本的nerf 是通过过拟合MLP来完成任意视角场景的重…

Express 的 req 和 res 对象

新建 learn-express文件夹,执行命令行 npm init -y npm install express 新建 index.js const express require(express); const app express();app.get(/, (req, res, next) > {res.json(return get) })app.post(/, (req, res, next) > {res.json(retur…