短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)
一.代码流程(运行效果:短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)_哔哩哔哩_bilibili
模型流程:
-
导入所需的库,包括NumPy、Pandas、Matplotlib、Seaborn等。
-
读取发电数据和天气传感器数据,将它们存储在
df_plt1_gen和df_plt1_weather中。 -
数据预处理:
- 对发电数据进行了一些处理,包括删除不需要的列、将日期时间列转换为日期时间类型,并根据逆变器创建了新的逆变器列。
- 天气数据也被处理,删除了不需要的列,将日期时间列转换为日期时间类型。
-
确保数据完整性:
- 创建了一个完整的日期时间序列,以确保数据中没有缺失值。
- 初始化一个空列表,用于存储处理后的发电数据。
-
遍历每个逆变器:
- 选择特定逆变器的数据。
- 使用完整的日期时间序列合并数据,以确保没有缺失值。
- 添加逆变器列并将数据附加到列表中。
-
合并所有逆变器的数据,创建了一个完整的数据集
df。 -
提取并映射日期时间特征,计算特征之间的相关性,并检查是否有负值。
-
创建一个新的数据集
df_eda,用于探索性数据分析(EDA)。 -
处理异常值:
- 创建用于统计异常值的数据集,包括低异常值、高异常值和标准差范围内的数据点。
- 绘制散点图可视化数据点。
-
统计低异常值的数量,包括低异常值且AC功率为0的数量。
-
绘制逆变器异常值计数的条形图,包括AC功率为0的部分。
-
定义一个函数
outliers用于处理异常值,并绘制散点图可视化处理后的数据。 -
处理DAILY_YIELD特征的异常值,包括将夜间时间段的发电功率设为0。
-
插补缺失值:
- 使用KNNImputer插补缺失值。
- 使用时间插值、线性插值和多项式插值方法插补缺失值。
-
计算每天的总发电量,并将目标变量向后移动一天,以便进行预测。
-
使用季节性分解方法对目标变量进行分解,以查看趋势和季节性成分。
-
创建基准模型,计算基准模型的RMSE(均方根误差)。
-
准备数据用于机器学习模型和深度学习模型的训练和测试。
-
使用XGBoost模型进行训练和测试,评估模型的性能,并绘制预测结果。
-
最后,绘制了模型的特征重要性图表。
二.数据集(68779条数据)
这些数据是在印度的两个太阳能发电厂收集的,时间跨度为34天。每对文件包含一个电力发电数据集和一个传感器读数数据集。电力发电数据集是在逆变器级别收集的,每个逆变器都连接着多行太阳能电池板。传感器数据是在发电厂级别收集的,是单个传感器阵列在发电厂中的最佳放置。
DATE_TIME: 表示日期和时间的时间戳,记录数据采集的具体时间点。PLANT_ID: 发电厂的唯一标识符,用于区分不同的太阳能发电厂。SOURCE_KEY: 太阳能发电设备的唯一标识符,用于区分不同的发电设备。DC_POWER: 直流功率的测量值,表示从太阳能电池板产生的直流电功率。AC_POWER: 交流功率的测量值,表示从逆变器转换后的交流电功率。DAILY_YIELD: 每天的发电量,表示在给定日期内生成的总电量。TOTAL_YIELD: 总发电量,表示从安装以来生成的总电量。
这些列提供了关于太阳能发电厂的重要信息,包括发电设备的功率输出、每天的发电量以及总发电量。通过这些数据,可以进行发电量的分析、设备性能的评估以及故障检测等任务。
开始时间
| DATE_TIME | PLANT_ID | SOURCE_KEY | DC_POWER | AC_POWER | DAILY_YIELD | TOTAL_YIELD |
| 15-05-2020 00:00 | 4135001 | 1BY6WEcLGh8j5v7 | 0 | 0 | 0 | 6259559 |
| 15-05-2020 00:00 | 4135001 | 1IF53ai7Xc0U56Y | 0 | 0 | 0 | 6183645 |
| 15-05-2020 00:00 | 4135001 | 3PZuoBAID5Wc2HD | 0 | 0 | 0 | 6987759 |
| 15-05-2020 00:00 | 4135001 | 7JYdWkrLSPkdwr4 | 0 | 0 | 0 | 7602960 |
| 15-05-2020 00:00 | 4135001 | McdE0feGgRqW7Ca | 0 | 0 | 0 | 7158964 |
| 15-05-2020 00:00 | 4135001 | VHMLBKoKgIrUVDU | 0 | 0 | 0 | 7206408 |
| 15-05-2020 00:00 | 4135001 | WRmjgnKYAwPKWDb | 0 | 0 | 0 | 7028673 |
| 15-05-2020 00:00 | 4135001 | ZnxXDlPa8U1GXgE | 0 | 0 | 0 | 6522172 |
| 15-05-2020 00:00 | 4135001 | ZoEaEvLYb1n2sOq | 0 | 0 | 0 | 7098099 |
| 15-05-2020 00:00 | 4135001 | adLQvlD726eNBSB | 0 | 0 | 0 | 6271355 |
| 15-05-2020 00:00 | 4135001 | bvBOhCH3iADSZry | 0 | 0 | 0 | 6316803 |
| 15-05-2020 00:00 | 4135001 | iCRJl6heRkivqQ3 | 0 | 0 | 0 | 7177992 |
| 15-05-2020 00:00 | 4135001 | ih0vzX44oOqAx2f | 0 | 0 | 0 | 6185184 |
| 15-05-2020 00:00 | 4135001 | pkci93gMrogZuBj | 0 | 0 | 0 | 7169102 |
| 15-05-2020 00:00 | 4135001 | rGa61gmuvPhdLxV | 0 | 0 | 0 | 7111493 |
| 15-05-2020 00:00 | 4135001 | sjndEbLyjtCKgGv | 0 | 0 | 0 | 7016832 |
| 15-05-2020 00:00 | 4135001 | uHbuxQJl8lW7ozc | 0 | 0 | 0 | 7038681 |
| 15-05-2020 00:00 | 4135001 | wCURE6d3bPkepu2 | 0 | 0 | 0 | 6782598 |
| 15-05-2020 00:00 | 4135001 | z9Y9gH1T5YWrNuG | 0 | 0 | 0 | 7007866 |
| 15-05-2020 00:00 | 4135001 | zBIq5rxdHJRwDNY | 0 | 0 | 0 | 6339380 |
| 15-05-2020 00:00 | 4135001 | zVJPv84UY57bAof | 0 | 0 | 0 | 7116151 |
| 15-05-2020 00:15 | 4135001 | 1BY6WEcLGh8j5v7 | 0 | 0 | 0 | 6259559 |
| 15-05-2020 00:15 | 4135001 | 1IF53ai7Xc0U56Y | 0 | 0 | 0 | 6183645 |
| 15-05-2020 00:15 | 4135001 | 3PZuoBAID5Wc2HD | 0 | 0 | 0 | 6987759 |
| 15-05-2020 00:15 | 4135001 | 7JYdWkrLSPkdwr4 | 0 | 0 | 0 | 7602960 |
| 15-05-2020 00:15 | 4135001 | McdE0feGgRqW7Ca | 0 | 0 | 0 | 7158964 |
| 15-05-2020 00:15 | 4135001 | VHMLBKoKgIrUVDU | 0 | 0 | 0 | 7206408 |
| 15-05-2020 00:15 | 4135001 | WRmjgnKYAwPKWDb | 0 | 0 | 0 | 7028673 |
| 15-05-2020 00:15 | 4135001 | ZnxXDlPa8U1GXgE | 0 | 0 | 0 | 6522172 |
中期时间段数据展示
| 20-05-2020 06:45 | 4135001 | uHbuxQJl8lW7ozc | 947.875 | 92.0875 | 40.25 | 7071238.25 |
| 20-05-2020 06:45 | 4135001 | wCURE6d3bPkepu2 | 944.25 | 91.725 | 41.25 | 6815390.25 |
| 20-05-2020 06:45 | 4135001 | z9Y9gH1T5YWrNuG | 953.875 | 92.6625 | 40.375 | 7040505.375 |
| 20-05-2020 06:45 | 4135001 | zBIq5rxdHJRwDNY | 936.75 | 91 | 39.625 | 6372010.625 |
| 20-05-2020 06:45 | 4135001 | zVJPv84UY57bAof | 933.625 | 90.675 | 40.125 | 7148377.125 |
| 20-05-2020 07:00 | 4135001 | 1BY6WEcLGh8j5v7 | 1564.714286 | 152.9571429 | 68 | 6290165 |
| 20-05-2020 07:00 | 4135001 | 1IF53ai7Xc0U56Y | 1790.375 | 175.2375 | 76.625 | 6216506.625 |
| 20-05-2020 07:00 | 4135001 | 3PZuoBAID5Wc2HD | 1728.714286 | 169.1571429 | 73.71428571 | 7020585.714 |
| 20-05-2020 07:00 | 4135001 | 7JYdWkrLSPkdwr4 | 1690.571429 | 165.4285714 | 74.85714286 | 7635282.857 |
| 20-05-2020 07:00 | 4135001 | McdE0feGgRqW7Ca | 1628.714286 | 159.2571429 | 71.42857143 | 7192169.429 |
| 20-05-2020 07:00 | 4135001 | VHMLBKoKgIrUVDU | 1727.428571 | 169.0428571 | 76.57142857 | 7239618.571 |
| 20-05-2020 07:00 | 4135001 | WRmjgnKYAwPKWDb | 1700 | 166.3571429 | 72.57142857 | 7061004.571 |
| 20-05-2020 07:00 | 4135001 | YxYtjZvoooNbGkE | 1593.857143 | 155.7857143 | 70 | 7212546 |
| 20-05-2020 07:00 | 4135001 | ZnxXDlPa8U1GXgE | 1638.428571 | 160.1857143 | 59.57142857 | 6555195.571 |
| 20-05-2020 07:00 | 4135001 | ZoEaEvLYb1n2sOq | 1567 | 153.1857143 | 69.57142857 | 7130401.571 |
| 20-05-2020 07:00 | 4135001 | adLQvlD726eNBSB | 1818.125 | 178 | 79.125 | 6304592.125 |
| 20-05-2020 07:00 | 4135001 | bvBOhCH3iADSZry | 1535.714286 | 150 | 66.85714286 | 6346973.857 |
| 20-05-2020 07:00 | 4135001 | iCRJl6heRkivqQ3 | 1568.857143 | 153.2857143 | 69.85714286 | 7210787.857 |
| 20-05-2020 07:00 | 4135001 | ih0vzX44oOqAx2f | 1584.142857 | 154.8571429 | 69 | 6217346 |
| 20-05-2020 07:00 | 4135001 | pkci93gMrogZuBj | 1550.571429 | 151.5 | 68.57142857 | 7201417.571 |
| 20-05-2020 07:00 | 4135001 | rGa61gmuvPhdLxV | 1542 | 150.6714286 | 68.57142857 | 7143880.571 |
| 20-05-2020 07:00 | 4135001 | sjndEbLyjtCKgGv | 1587.714286 | 155.2428571 | 69.57142857 | 7049353.571 |
| 20-05-2020 07:00 | 4135001 | uHbuxQJl8lW7ozc | 1588.571429 | 155.3 | 69.71428571 | 7071267.714 |
| 20-05-2020 07:00 | 4135001 | wCURE6d3bPkepu2 | 1578.571429 | 154.3 | 70 | 6815419 |
截止时间的数据展示
| 17-06-2020 23:30 | 4135001 | wCURE6d3bPkepu2 | 0 | 0 | 5883 | 7028601 |
| 17-06-2020 23:30 | 4135001 | z9Y9gH1T5YWrNuG | 0 | 0 | 5819 | 7251204 |
| 17-06-2020 23:30 | 4135001 | zBIq5rxdHJRwDNY | 0 | 0 | 5817 | 6583369 |
| 17-06-2020 23:30 | 4135001 | zVJPv84UY57bAof | 0 | 0 | 5910 | 7363272 |
| 17-06-2020 23:45 | 4135001 | 1BY6WEcLGh8j5v7 | 0 | 0 | 5521 | 6485319 |
| 17-06-2020 23:45 | 4135001 | 1IF53ai7Xc0U56Y | 0 | 0 | 6034 | 6433566 |
| 17-06-2020 23:45 | 4135001 | 3PZuoBAID5Wc2HD | 0 | 0 | 6052 | 7237425 |
| 17-06-2020 23:45 | 4135001 | 7JYdWkrLSPkdwr4 | 0 | 0 | 5856 | 7846821 |
| 17-06-2020 23:45 | 4135001 | McdE0feGgRqW7Ca | 0 | 0 | 5992 | 7408587 |
| 17-06-2020 23:45 | 4135001 | VHMLBKoKgIrUVDU | 0 | 0 | 6007 | 7456208 |
| 17-06-2020 23:45 | 4135001 | WRmjgnKYAwPKWDb | 0 | 0 | 5953 | 7273532 |
| 17-06-2020 23:45 | 4135001 | YxYtjZvoooNbGkE | 0 | 0 | 5886 | 7425442 |
| 17-06-2020 23:45 | 4135001 | ZnxXDlPa8U1GXgE | 0 | 0 | 5929 | 6770737 |
| 17-06-2020 23:45 | 4135001 | ZoEaEvLYb1n2sOq | 0 | 0 | 5871 | 7341753 |
| 17-06-2020 23:45 | 4135001 | adLQvlD726eNBSB | 0 | 0 | 5237.142857 | 6524508 |
| 17-06-2020 23:45 | 4135001 | bvBOhCH3iADSZry | 0 | 0 | 5460 | 6539009 |
| 17-06-2020 23:45 | 4135001 | iCRJl6heRkivqQ3 | 0 | 0 | 5957 | 7426263 |
| 17-06-2020 23:45 | 4135001 | ih0vzX44oOqAx2f | 0 | 0 | 5758 | 6426129 |
| 17-06-2020 23:45 | 4135001 | pkci93gMrogZuBj | 0 | 0 | 5952 | 7415430 |
| 17-06-2020 23:45 | 4135001 | rGa61gmuvPhdLxV | 0 | 0 | 5950 | 7356897 |
| 17-06-2020 23:45 | 4135001 | sjndEbLyjtCKgGv | 0 | 0 | 5887 | 7261681 |
| 17-06-2020 23:45 | 4135001 | uHbuxQJl8lW7ozc | 0 | 0 | 5967 | 7287002 |
| 17-06-2020 23:45 | 4135001 | wCURE6d3bPkepu2 | 0 | 0 | 5147.625 | 7028601 |
| 17-06-2020 23:45 | 4135001 | z9Y9gH1T5YWrNuG | 0 | 0 | 5819 | 7251204 |
| 17-06-2020 23:45 | 4135001 | zBIq5rxdHJRwDNY | 0 | 0 | 5817 | 6583369 |
| 17-06-2020 23:45 | 4135001 | zVJPv84UY57bAof | 0 | 0 | 5910 | 7363272 |
三.效果图











对项目感兴趣的,可以关注中间一行
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
import warnings
import datetime as dt
import matplotlib.dates as mdates
#代码和数据集的压缩包:https://mbd.pub/o/bread/mbd-ZJ6Zmphv
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style('darkgrid')
import warnings
import datetime as dt
import matplotlib.dates as mdates
相关文章:
短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)
一.代码流程(运行效果:短期光伏发电量短期预测(Python代码,先对异常值处理,再基于XGBoost模型预测)_哔哩哔哩_bilibili 模型流程: 导入所需的库,包括NumPy、Pandas、Matplotlib、Sea…...
SpringCloud Gateway--Predicate/断言(详细介绍)中
😀前言 本篇博文是关于SpringCloud Gateway–Predicate/断言(详细介绍)中,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以…...
Linux内核启动流程-第一阶段汇编流程简介
一. Linux启动流程 看完 Linux 内核的顶层 Makefile 以后再来看 Linux 内核的大致启动流程, Linux 内核的启 动流程要比 uboot 复杂的多,涉及到的内容也更多。 本文中,我们就大致的了解一下 Linux 内 核的启动流程。 要分析 Li…...
SpringBoot-Druid
目录 1.什么是Druid 2.主要优点和原因 3.误区 4.Part代码 0.pom 1.Spring.datasource.type: com.alibaba.druid.pool.DruidDataSource 2.Druid用Jasypt加密任意内容 EnableEncryptableProperties开启加密注解 3.Druid监控平台 1.什么是Druid Druid 是一个开源的数据库…...
PAT甲级真题1006:签到与签出
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的…...
【架构篇】Supabase架构和功能介绍
Supabase是什么 Supabase将自己定位为Firebase的开源替代品,提供了一套工具来帮助开发者构建web或移动应用程序。Supabase是建立在Postgres之上的,Postgres是一个免费的开源数据库,被认为是世界上最稳定、最先进的数据库之一。Supabase对标F…...
Github主页无法打开和Assets转圈
1、cmd启动命令行 2、github.com打不开,多刷新几遍。等成功打开时,命令行输入nslookup github.com,把非权威应答下的IP地址复制到C:\Windows\System32\drivers\etc\hosts里,如查到的IP是192.30.255.112,则填写 192.30.255.112 gi…...
rm误删文件恢复
rm误删文件恢复 问题描述安装extundeleteyum安装extundelete编译安装extundelete 常用参数动作(action): 尝试数据恢复前置条件卸载磁盘分区查看被删除数据信息 恢复文件恢复指定inode号文件恢复指定文件名恢复指定目录恢复所有可恢复文件恢复指定时间的文件恢复指定…...
爬虫 — 多线程
目录 一、多任务概念二、实现多任务方式1、多进程 (Multiprocessing)2、多线程(Multithreading)3、协程(Coroutine) 三、多线程执行顺序四、多线程的方法1、join()2、setDaemon()3、threading.enumerate() …...
Cython 笔记 (Python/Jython)
目录 1. Cython 笔记 (Python)2. python 加速库 cython 简介2.1. Cython 是什么?2.2. 如何安装 Cython?2.3. 简单示例2.4. 性能比对2.5. 总结 3. PYTHON, CYTHON, JYTHON, IRONPYTHON 的区别 (注意: 此篇有误导,表述不一定正确,只提供一个方向)3.1. PY…...
[React] react-hooks如何使用
react-hooks思想和初衷,也是把组件,颗粒化,单元化,形成独立的渲染环境,减少渲染次数,优化性能。 文章目录 1.为什么要使用hooks2.如何使用hooks2.1 useState2.2 useEffect2.3 useLayoutEffect2.4 useRef2.5…...
多个pdf合并成一个文件,3个方法合并pdf
如何把多个pdf合并成一个文件?在我们日常的工作中,经常会遇到一些需要处理的文件,其中包括PDF文件。特别是当我们需要将多个PDF文件合并成一个PDF文件时,会面临一些困难。这样的情况下,我们的阅读能力会受到限制&#…...
代码随想录 动态规划Ⅸ
198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个…...
【数据结构】散列表(哈希表)的学习知识总结
目录 1、散列表 2、散列函数 2.1 定义 2.2 散列函数的构造 2.2.1 除留余数法 2.2.2 直接定址法 2.2.3 数字分析法 2.2.4 平方取中法 3、冲突(碰撞) 4、处理冲突的方法 4.1 拉链法(链接法) 4.2 开放定址法 5、C语言…...
2023智慧云打印小程序源码多店铺开源版 +前端
智慧自助云打印系统/智慧云打印小程序源码 前端 这是一款全新的基于Thinkphp的最新自助打印系统,最新UI界面设计的云打印小程序源码...
利用亚马逊 云服务器 EC2 和S3免费套餐搭建私人网盘
网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度࿰…...
数据分析技能点-数据的种类
在日常生活中,数据无处不在。当你去超市购物时,你可能会注意到商品的价格、重量、口味等;当你在社交媒体上浏览时,你可能会注意到好友的点赞数、评论等。这些都是数据的一种形式,而了解这些数据的种类和特点有助于我们更好地理解和使用它们。 数据的基本分类 数据大致可…...
解读:ISO 14644-21:2023《洁净室及相关受控环境:悬浮粒子采样》发布指导粒子采样!
药品洁净实验室环境监测结果是否满足微生物检测需求,直接决定检测结果的有效性准确性,进行药品微生物检测,必须对实验环境进行日常和定期监测,其内容包括非生物活性的空气悬浮粒子数及有生物活性的微生物监测。 悬浮粒子监测是保证…...
Java --- MySQL8之索引优化与查询优化
目录 一、索引失效场景 1.1、全值匹配 1.2、最佳左前缀规则 1.3、主键插入顺序 1.4、计算、函数、类型转换(自动或手动)导致索引失效 1.5、类型转换导致索引失效 1.6、范围条件右边的列索引失效 1.7、不等于(! 或者<>)索引失效 1.8、is null可以使用索引&…...
澳大利亚新版《2023年消费品(36个月以下儿童玩具) 安全标准》发布 旨在降低危险小零件的伤害
2023年9月4日,澳大利亚政府发布了新的儿童玩具强制性安全标准《2023年消费品(36个月以下儿童玩具)安全标准》(Consumer Goods (Toys for Children up to and including 36 Months of Age) Safety Standard 2023)。该强制性标准旨在尽可能地降…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
OCC笔记:TDF_Label中有多个相同类型属性
注:OCCT版本:7.9.1 TDF_Label中有多个相同类型的属性的方案 OCAF imposes the restriction that only one attribute type may be allocated to one label. It is necessary to take into account the design of the application data tree. For exampl…...
基于机器学习的智能故障预测系统:构建与优化
前言 在现代工业生产中,设备故障不仅会导致生产中断,还会带来巨大的经济损失。传统的故障检测方法依赖于人工巡检和定期维护,这种方式效率低下且难以提前预测潜在故障。随着工业物联网(IIoT)和机器学习技术的发展&…...
