数据分析 设备一个月以来的参数变化

news/2024/9/17 7:38:48/ 标签: 数据分析, 数据挖掘

1数据预处理

import pandas as pd
import glob
import os# 读取所有CSV文件并合并为一个DataFrame
path = 'path_to_your_csv_files/'  # CSV文件的文件夹路径
all_files = glob.glob(os.path.join(path, "*.csv"))df_list = []
for file in all_files:df = pd.read_csv(file)df_list.append(df)# 合并所有DataFrame
data = pd.concat(df_list, ignore_index=True)# 将保存时间列转换为日期时间格式
data['保存时间'] = pd.to_datetime(data['保存时间'])# 检查并处理缺失值(这里以删除含缺失值的行为例)
data = data.dropna()# 检查数据类型是否正确
print(data.dtypes)

2数据探索性分析(EDA)

#数据探索性分析
import plotly.io as pio
import plotly.graph_objs as go
from sklearn.preprocessing import MinMaxScaler
import matplotlib.pyplot as plt
# 设置字体为 SimHei (黑体),你也可以使用其他已安装的中文字体
plt.rcParams['font.family'] = ['SimHei']# 解决负号 '-' 显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False
print(data.describe())#时间序列分析,展示主轴电机实时转速随时间变化#选择需要分析的变量
variables_to_analyze = ['主轴电机实时转速','主轴电机实时电流','腔体压力','喂料电机实时转速','喂料电机实时电流','循环泵口压力','出料压力']#创建一个Plotly图表图像
fig = go.Figure()
for variable in variables_to_analyze:fig.add_trace(go.Scatter(x=data['保存时间'],y=data[variable],mode='lines',name=variable))
#设置标题和标签
fig.update_layout(title='设备参数在一个月内的曲线变化图',xaxis_title='时间',yaxis_title='参数值',hovermode='x unified')
pio.show(fig)
# plt.figure(figsize=(10,6))
# plt.plot(data['保存时间'],data['主轴电机实时转速'],label='主轴电机实时转速')
# plt.xlabel('时间')
# plt.ylabel('转速')
# plt.title('主轴电机转速随时间的变化')
# plt.legend()
# plt.show()#相关性分析
corr_matrix = data.corr()
print(corr_matrix)

3数据可视化

import seaborn as sns# 热力图展示参数之间的相关性
plt.figure(figsize=(12, 10))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('参数相关性热力图')
plt.show()# 散点图展示主轴电机实时转速与主轴电机实时电流的关系
plt.figure(figsize=(8, 6))
sns.scatterplot(x='主轴电机实时转速', y='主轴电机实时电流', data=data)
plt.xlabel('主轴电机实时转速')
plt.ylabel('主轴电机实时电流')
plt.title('主轴电机实时转速与主轴电机实时电流的关系')
plt.show()

4特征工程

# 例如构造一个新的特征:转速与电流的比率
data['转速电流比'] = data['主轴电机实时转速'] / data['主轴电机实时电流']# 选择重要特征,作为后续分析或建模的输入
features = ['主轴电机设定转速', '主轴电机实时转速', '主轴电机实时电流', '转速电流比', '腔体压力']
target = '出料压力'X = data[features]
y = data[target]

5建模与预测

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score# 数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 使用线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)# 模型预测
y_pred = model.predict(X_test)# 模型评估
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)print(f'Mean Squared Error: {mse}')
print(f'R^2 Score: {r2}')

http://www.ppmy.cn/news/1522477.html

相关文章

FPGA进阶教程16 同一块FPGA的两个网口实现arp自通信

本项目使用同一个FPGA的两个网口进行千兆以太网的arp自动绑定 目的是为了以后实现两个FPGA之间进行以太网数据的交互 起因:最近公司画了一块板子,上面有两个网口,市面上常见的项目都是将FPGA与PC端实现arp的自动绑定和UDP数据的回环,很少实现两块FPGA之间的以太网数据通信…

网络学习-eNSP配置ACL

AR1路由器配置 <Huawei>system-view Enter system view, return user view with CtrlZ. [Huawei]undo info-center enable Info: Information center is disabled. [Huawei]interface gigabitethernet 0/0/0 [Huawei-GigabitEthernet0/0/0]ip address 192.168.2.254 24 …

chunk-vendors.js 文件过大导致页面加载缓慢解决方案

1、路由懒加载 在 Webpack 中&#xff0c;我们可以使用动态 import语法来定义代码分块点 (split point)&#xff1a; import(./Foo.vue) // 返回 Promise如果您使用的是 Babel&#xff0c;你将需要添加 syntax-dynamic-import 插件&#xff0c;才能使 Babel 可以正确地解析语…

Unity制作更换字体的插件

目录 1.前置知识 1.1 EditorWindow 1&#xff09;目的 2&#xff09;使用方式 1.2 OnGUI() 1&#xff09;目的 2&#xff09;使用方式 1.3 AssetDatabase 1&#xff09;目的 2&#xff09;使用方式 1.4 PrefabUtility 1&#xff09;目的 2&#xff09;使用方式 2…

GNU/Linux - Open函数使用的O_CLOEXEC flag

在 Linux 中&#xff0c;“O_CLOEXEC ”标志与 “open ”系统调用一起使用&#xff0c;用于指定在使用 “exec ”系列函数&#xff08;如 “execve”、“execl ”等&#xff09;执行新程序时&#xff0c;“open ”返回的文件描述符应自动关闭。 In Linux, the O_CLOEXEC flag i…

C++(多态性)

多态 多态是指同样的消息被不同类型的对象接收时导致不同的行为。所谓消息是指对类的成员函数的调用,不同的行为是指不同的实现,也就是调用了不同的函数。 最简单的例子就是使用同样的运算符&#xff0c;可以实现整数与整数之间&#xff0c;浮点数与浮点数之间的加法运算。 多…

前端基础面试题·第一篇——HTML

1 .HTML标签头部< !DOCTYPE html> 的作用 DOCTYPE 使 document type的缩写&#xff0c;是html文档的类型声明&#xff0c;告诉浏览器文档的类型&#xff0c;便于解析文档。 这里会涉及到浏览器渲染页面的两种形式&#xff1a; CSS1 Compatible Mode(标准模式): 浏览器使…

Nginx反向代理功能及动静分离实现

一&#xff1a;Nginx支持正向代理和反向代理 1.正向代理 正向代理&#xff0c;指的是通过代理服务器 代理浏览器/客户端去重定向请求访问到目标服务器 的一种代理服务。 正向代理服务的特点是代理服务器 代理的对象是浏览器/客户端&#xff0c;也就是对于目标服务器 来说浏览…

共享内存和信号量

共享内存和信号量可以配合起来一起使用。 什么是共享内存&#xff1f;&#xff1a; 共享内存就是映射一段能被其他进程所访问的内存&#xff0c;这段共享内存由一个进程创建&#xff0c;但多个进程都可以访问。共享内存是最快的IPC方式&#xff0c;它是针对其他进程间通信方式…

漫谈设计模式 [8]:装饰器模式

引导性开场 菜鸟&#xff1a;老鸟&#xff0c;我最近在项目中遇到一个问题。有些功能&#xff0c;比如日志记录和权限校验&#xff0c;我需要在多个地方使用。代码很冗余&#xff0c;不知道有没有更好的解决办法&#xff1f; 老鸟&#xff1a;菜鸟&#xff0c;这个问题很常见…

FaskAPI Web学习

FaskAPI Web学习 个人笔记使用&#xff0c;感谢阅读&#xff01; # -*- ecoding: utf-8 -*- # Author: SuperLong # Email: miu_zxl163.com # Time: 2024/9/7 11:37 from enum import Enum from typing import Optionalfrom fastapi import FastAPI import uvicorn app FastA…

log4j 多classloader重复加载配置问题解决

最近OneCoder在开发隔离任务运行的沙箱&#xff0c;用于隔离用户不同任务间以及任务和 框架本身运行代码的隔离和解决潜在的jar包冲突问题。 运行发现&#xff0c;隔离的任务正常运行&#xff0c;但是却没有任何日志记录。从控制台可看到如下错误信息&#xff1a; 全文详见个人…

从零开始学习JVM(七)- StringTable字符串常量池

1 概述 String应该是Java使用最多的类吧&#xff0c;很少有Java程序没有使用到String的。在Java中创建对象是一件挺耗费性能的事&#xff0c;而且我们又经常使用相同的String对象&#xff0c;那么创建这些相同的对象不是白白浪费性能吗。所以就有了StringTable这一特殊的存在&…

Spark2.x 入门:逻辑回归分类器

方法简介 逻辑斯蒂回归&#xff08;logistic regression&#xff09;是统计学习中的经典分类方法&#xff0c;属于对数线性模型。logistic回归的因变量可以是二分类的&#xff0c;也可以是多分类的。 示例代码 我们以iris数据集&#xff08;iris&#xff09;为例进行分析。i…

Spring AOP的注解式开发实现

目录 AOP常用注解注解开发实现步骤1. 导入Maven项目依赖2. 准备一个实体类&#xff08;先定义接口再实现&#xff09;3. 定义切面类4. 准备配置文件5. 编写测试类 注意事项 AOP的配置开发方式见&#xff1a;Spring入门之AOP&#xff08;包含实例代码&#xff09;。其他纯注解开…

记忆化搜索【下】

375. 猜数字大小II 题目分析 题目链接&#xff1a;375. 猜数字大小 II - 力扣&#xff08;LeetCode&#xff09; 题目比较长&#xff0c;大致意思就是给一个数&#xff0c;比如说10&#xff0c;定的数字是7&#xff0c;让我们在[1, 10]这个区间猜。 如果猜大或猜小都会说明…

Spring Boot之DevTools介绍

Spring Boot DevTools 是 Spring Boot 提供的一组易于使用的工具&#xff0c;旨在加速开发和测试过程。它通过提供一系列实用的功能&#xff0c;如自动重启、实时属性更新、依赖项的热替换等&#xff0c;极大地提高了开发者的开发效率。本文将详细介绍 Spring Boot DevTools 的…

RLVF:避免过度泛化地从口头反馈中学习

人工智能咨询培训老师叶梓 转载标明出处 大模型在不同行业和个人中的广泛应用要求模型能够根据具体的用户反馈进行调整或定制&#xff0c;以满足细微的要求和偏好。虽然通过高层次的口头反馈来指定模型调整非常方便&#xff0c;例如“在给老板起草电子邮件时不要使用表情符号”…

【A题第二套完整论文已出】2024数模国赛A题第二套完整论文+可运行代码参考(无偿分享)

“板凳龙” 闹元宵路径速度问题 摘要 本文针对传统舞龙进行了轨迹分析&#xff0c;并针对一系列问题提出了解决方案&#xff0c;将这一运动进行了模型可视化。 针对问题一&#xff0c;我们首先对舞龙的螺线轨迹进行了建模&#xff0c;将直角坐标系转换为极坐标系&#xff0…

缓存和数据库缓存有什么区别

缓存通常是在应用层面进行管理的&#xff0c;它就像是应用的一个临时数据仓库&#xff0c;可以存储一些常用的数据&#xff0c;这样应用就可以直接从缓存中获取数据&#xff0c;而不用每次都去数据库里查询。而数据库缓存则是在数据库层面进行管理的&#xff0c;它主要存储的是…