油田生产数据选取进展22.2.11——2.17——2.26
2.11
其他算法实验
SVM
使用非线性SVM,在训练集中(带生成数据)得到结果:
AccuracyF | precisionFn | recallFn |
---|---|---|
70.71% | 94.83% | 31.47% |
ANN
目前调整后的ANN,只能取得在训练集合中对查全率的优势
round | AccuracyF | precisionFn | recallFn |
---|---|---|---|
1 | 88.83% | 50.00% | 35.37% |
6 | 89.37% | 52.56% | 50.00% |
11 | 87.87% | 46.46% | 56.10% |
16 | 88.96% | 50.54% | 57.32% |
21 | 87.60% | 46.22% | 67.07% |
Random Forest
效果最好的是随机森林。从原始数据(不加入生成数据)直接开始训练,获得较好的训练精度,并在测试集获得结果:
AccuracyF | precisionFn | recallFn |
---|---|---|
93.19% | 83.33% | 35.71% |
结果再分析
数据标准化、归一化的问题。
对于ANN,生成负类数据能进一步提高其对负类分类的准确率。
再查看分类结果,发现模型对以下状况缺少判断能力:
1.出现连续不选用情况时,会有一次直接选用。
2.时间上相邻的两天都出现计量值,且计量值相差不大,第一天不选用,而第二天选用(是否选用也和曾经的计量值有关、和以后计量值有关)。(见1555,1556行)
3.未出现计量,但是存在控制变化。如开关井,只会出现在备注当中。(见3182行)
4.
目前也还有一些我也看不出来为什么不选用的但仍然保留的数据。(见2227行)
反思
现在工作基本上是对原数据的处理以及生成数据。人工提取信息。除开从备注中提取信息,其余工作是否有悖于让机器自己学习。
我甚至觉得拿正确率以及负类的查准查全率来直接衡量模型的效果并不好。而应该称之为与专家判断的重合度。待和专家讨论。
2.17
ANN
初步修改错误历史数据、增加提取信息:
round | AccuracyF | precisionFn | recallFn |
---|---|---|---|
1 | 67.98% | 17.67% | 59.46% |
6 | 89.65% | 48.68 % | 50.00% |
11 | 90.60% | 53.33% | 54.05% |
16 | 90.74% | 53.33% | 64.86% |
21 | 89.92% | 50.00% | 66.22% |
26 | 92.64% | 61.90% | 70.27% |
31 | 91.83% | 57.95% | 68.92% |
36 | 91.96% | 57.89% | 74.32% |
41 | 91.42% | 55.67% | 72.97% |
Random Forest
初步修改错误历史数据后训练效果:
AccuracyF | precisionFn | recallFn |
---|---|---|
94.55% | 83.33% | 41.66% |
2.26
1 号井
473 计量
原始数据:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.036935 | 0.134181 | 40.13 | 13.08 | 93.33 | 22.95 |
fold 2 | 0.019199 | 0.030440 | 89.81 | 83.33 | 86.54 | 84.91 |
fold 3 | 0.022982 | 0.038105 | 80.56 | 80.56 | 93.33 | 80.56 |
人工去噪后:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.017498 | 0.131981 | 40.13 | 12.96 | 100.00 | 22.95 |
fold 2 | 0.009566 | 0.019558 | 96.18 | 100.00 | 82.35 | 90.32 |
fold 3 | 0.012156 | 0.021183 | 92.36 | 78.38 | 87.88 | 82.86 |
********** fold 1 **********
train_loss:0.017498 train_acc:95.2229
valid loss:0.131981 valid_acc:40.1274
AccuracyF 40.13 posLabel 68.79
precisionF 12.96 recallF 100.00 f1score 22.95
********** fold 2 **********
train_loss:0.009566 train_acc:98.4076
valid loss:0.019558 valid_acc:96.1783
AccuracyF 96.18 posLabel 17.83
precisionF 100.00 recallF 82.35 f1score 90.32
********** fold 3 **********
train_loss:0.012156 train_acc:97.1338
valid loss:0.021183 valid_acc:92.3567
AccuracyF 92.36 posLabel 23.57
precisionF 78.38 recallF 87.88 f1score 82.86
2 号井
735 计量
原始数据:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.019975 | 0.045306 | 84.90 | 35.71 | 95.24 | 51.95 |
fold 2 | 0.012172 | 0.021511 | 95.51 | 94.12 | 78.05 | 85.33 |
fold 3 | 0.010313 | 0.024738 | 94.69 | 87.76 | 86.00 | 86.87 |
********** fold 1 **********
train_loss:0.019975 train_acc:95.1020
valid loss:0.045306 valid_acc:84.8980
AccuracyF 84.90 posLabel 22.86
precisionF 35.71 recallF 95.24 f1score 51.95
********** fold 2 **********
train_loss:0.012172 train_acc:97.9592
valid loss:0.021511 valid_acc:95.5102
AccuracyF 95.51 posLabel 13.88
precisionF 94.12 recallF 78.05 f1score 85.33
********** fold 3 **********
train_loss:0.010313 train_acc:97.3469
valid loss:0.024738 valid_acc:94.6939
AccuracyF 94.69 posLabel 20.00
precisionF 87.76 recallF 86.00 f1score 86.87
人工去噪后:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.008610 | 0.017070 | 95.51 | 70.00 | 73.68 | 71.79 |
fold 2 | 0.005306 | 0.015061 | 96.73 | 96.55 | 80.00 | 87.50 |
fold 3 | 0.007223 | 0.012422 | 97.96 | 89.47 | 85.00 | 87.18 |
********** fold 1 **********
train_loss:0.008610 train_acc:98.1633
valid loss:0.017070 valid_acc:95.5102
AccuracyF 95.51 posLabel 8.16
precisionF 70.00 recallF 73.68 f1score 71.79
********** fold 2 **********
train_loss:0.005306 train_acc:99.1837
valid loss:0.015061 valid_acc:96.7347
AccuracyF 96.73 posLabel 11.84
precisionF 96.55 recallF 80.00 f1score 87.50
********** fold 3 **********
train_loss:0.007223 train_acc:98.5714
valid loss:0.012422 valid_acc:97.9592
AccuracyF 97.96 posLabel 7.76
precisionF 89.47 recallF 85.00 f1score 87.18
3 号井
500 计量
原始数据:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.006831 | 0.020066 | 97.59 | 71.43 | 100.00 | 83.33 |
fold 2 | 0.008887 | 0.011371 | 98.19 | 92.31 | 96.00 | 94.12 |
fold 3 | 0.002982 | 0.009007 | 98.19 | 100.00 | 86.36 | 92.68 |
********** fold 1 **********
train_loss:0.006831 train_acc:98.1928
valid loss:0.020066 valid_acc:97.5904
AccuracyF 97.59 posLabel 8.43
precisionF 71.43 recallF 100.00 f1score 83.33
********** fold 2 **********
train_loss:0.008887 train_acc:98.1928
valid loss:0.011371 valid_acc:98.1928
AccuracyF 98.19 posLabel 15.66
precisionF 92.31 recallF 96.00 f1score 94.12
********** fold 3 **********
train_loss:0.002982 train_acc:99.6988
valid loss:0.009007 valid_acc:98.1928
AccuracyF 98.19 posLabel 11.45
precisionF 100.00 recallF 86.36 f1score 92.68
4 号井
438 计量
原始数据:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.036123 | 0.061221 | 80.14 | 75.00 | 32.43 | 45.28 |
fold 2 | 0.012165 | 0.046827 | 91.10 | 98.00 | 80.33 | 88.29 |
fold 3 | 0.034513 | 0.017605 | 98.63 | 95.45 | 95.45 | 95.45 |
********** fold 1 **********
train_loss:0.036123 train_acc:91.4384
valid loss:0.061221 valid_acc:80.1370
AccuracyF 80.14 posLabel 10.96
precisionF 75.00 recallF 32.43 f1score 45.28
********** fold 2 **********
train_loss:0.012165 train_acc:98.2877
valid loss:0.046827 valid_acc:91.0959
AccuracyF 91.10 posLabel 34.25
precisionF 98.00 recallF 80.33 f1score 88.29
********** fold 3 **********
train_loss:0.034513 train_acc:93.8356
valid loss:0.017605 valid_acc:98.6301
AccuracyF 98.63 posLabel 15.07
precisionF 95.45 recallF 95.45 f1score 95.45
5 号井
386 计量
原始数据:
fold | train loss | valid loss | AccuracyF | precisionFn | recallFn | f1-score |
---|---|---|---|---|---|---|
fold 1 | 0.018768 | 0.077099 | 81.25 | 47.83 | 47.83 | 47.83 |
fold 2 | 0.019433 | 0.022893 | 95.31 | 84.38 | 96.43 | 90.00 |
fold 3 | 0.008144 | 0.020113 | 95.31 | 96.43 | 84.38 | 90.00 |
********** fold 1 **********
train_loss:0.018768 train_acc:95.7031
valid loss:0.077099 valid_acc:81.2500
AccuracyF 81.25 posLabel 17.97
precisionF 47.83 recallF 47.83 f1score 47.83
********** fold 2 **********
train_loss:0.019433 train_acc:97.2656
valid loss:0.022893 valid_acc:95.3125
AccuracyF 95.31 posLabel 25.00
precisionF 84.38 recallF 96.43 f1score 90.00
********** fold 3 **********
train_loss:0.008144 train_acc:98.8281
valid loss:0.020113 valid_acc:95.3125
AccuracyF 95.31 posLabel 21.88
precisionF 96.43 recallF 84.38 f1score 90.00
老板的笔记
2.11
- 实际数据中,相对效果不重要,绝对效果才重要。应该达到甲方需求,而不是体现算法在对比中显示的先进性。
- 数据的可用性。离群点、标签含噪声。能否通过与专家交互改进数据质量。
- 数据的进一步使用。
- 模型的复杂性(样本不独立)。
- 正、负类的误分类代价不同,应该考虑代价敏感学习。
- 附加信息不可得。
关键信息不可得。 - 数据必须独立同分布。
garbage in, garbage out
2.28
实验观察的三个层次:
- 顶层,如测试精度。可以通过最终结果来观察。相当于系统测试。
- 中层,如:把数据分成几块,分别计算:
a) 训练集中的精度、召回率等,知道模型的拟合能力,这是一个基本保障。如果这个效果不好,就表示数据质量不好,无法保证内部的一致性;
b) 用一块训练,另一块测试,获取精度、召回率等。如果这个不好,就表示分布不同;
c) 用 k - 1 块训练,另一块测试,获取精度、召回率等。如果这个不好,就表示这一块与其它的分布不同;
d) 生成决策树等具有可读性的模型,比较不同数据块获得的模型;
相当于集成测试。 - 底层,对单个的样例分类。可以通过跟踪调拭来观察。相当于单元测试。
总之,要进行具体问题的定位。
油田生产数据选取进展22.2.11——2.17——2.26相关推荐
- 油田生产数据选取问题4
1 现状 因为遇到了数据不均衡问题,正在重新对数据进行分析以及修改模型.整个框架见 油田生产数据选取问题3 2 数据问题 2.1 统计 统计项 数量 时间跨度 3425 天 产液量计量 734 天 未 ...
- 油田生产数据选取22.4.1 观察实验
井类型相同,井数:35,计量数:18938 提取连续未选用属性效果: fold train loss valid loss AccuracyF precisionFn recallFn f1-scor ...
- 斐讯k2刷不死breed K2 22.5.11.14
[k2] 斐讯K2 22.5.11.14 A5 原厂固件 刷breed刷官方固件定制版方法 这个是我刷机之前备份的,有用的拿去. 首先是刷breed,按照abccba94大神的终极方法刷入成功,参考[ ...
- 22年11月-自研-面试题
目录 背景 题目 Activiti 回退功能 条件分支功能, 并行网关.包含网关有没有用到 流程流转中,需知会其他人,这些人需同意/做处理(有点流程的感觉),最后所有的意见都要汇总.你的实现思路 Re ...
- 22年11月-外包-面试题
目录 背景 题目 Spring怎么解决循环依赖? 什么是循环依赖 第一种:互相依赖 第二种:三者间依赖 第三种:自我依赖 三级缓存 补充:那第三级缓存的作用是什么? 补充:Spring 中哪些情况下, ...
- C++11\14\17\20 特性介绍
C++11 新特性 #01 auto 与 decltype auto: 对于变量,指定要从其初始化器⾃动推导出其类型.⽰例: auto a = 10; // 自动推导 a 为 int auto b = ...
- C++11/14/17 新特性总结
C++11/14/17 新特性总结 initializer_list std::vector<int> vctInts({92, 12, 39, 46, 92, 84, -1, 0, -2 ...
- Kubespray v2.22.1 在线部署 kubernetes v1.26.5 集群
文章目录 1. 介绍 2. 预备条件 3. 配置 hostname 4. yum 5. 下载 kubespray 6. 编写 inventory.ini 7. 配置互信 8. 安装 ansible 9 ...
- VS2010-2015对C++11/14/17特性的支持
VS2010-2015对C++11/14/17特性的支持 C++11 功能列表 Visual C++ 实现了 C++11 核心语言规范 中的绝大多数功能.许多 C++14 库功能和某些为 C++17 ...
- 广州.NET俱乐部活动通知(11月17日)
本周六(2007年11月17日)下午我们将在广州微软office(中信大厦66楼)举行主题为<手握VS2008.肩扛Silverlight.迎战S+S>讲义活动,届时将有微软工作人员.MV ...
最新文章
- vue bind绑定this上下文
- JS正则表达式使用方法及示例
- 主成分与因子分析异同_因子分析
- Qt creator 编译错误 :cannot find file .pro qt
- 结构计算机分析,计算机系统结构 (三) CPU及其结构分析
- top、postop、scrolltop、scrollHeight、offsetHeight
- MATLAB获得子图位置
- 课程目标 线程 java 1615387415
- 如何在xshell中创建一个SSH隧道
- 【个人笔记】OpenCV4 C++ 图像处理与视频分析 07课
- 时间插件只能选择整点和半点_外贸人如何把控合适的客户开发时间及跟进频率...
- Java 通过JDBC连接Mysql数据库
- 浏览器限制html5 audio.play()自动播放的问题
- mac 外接双显示器
- 【悟空云课堂】第七期:不安全的反射漏洞(CWE-470: Use of Externally-Controlled Input to Select Classes or Code)
- JS正则——将字符串中的逗号替换成空格
- 中通开放平台简介——连锁门店解决方案
- 给每个物品一张“身份证”
- 前端打包工具webpack和Vite
- Switch用String做参数
热门文章
- Android, App常用图标尺寸规范
- 从物联网到元宇宙 PPT
- 传感器i2c与arduino连接_ARDUINO的I2C通信详解 - arduino读取I2C总线上连接设备的地址...
- Linux 嗅探 网络扫描 攻击防御神器 NMAP
- PLC与RobotStudio联合仿真调试——项目一
- C#判断一个数是否为素数
- android studio实现ar,在Android Studio上运行EasyAR
- 基于python tkinter 实现的类似于everthing的文件检索工具
- 暗通道去雾算法原理及实现
- 上海计算机短期培训,上海日语短期培训速成班