没有合适的资源?快使用搜索试试~ 我知道了~
个软申请 数据预测引擎系统1.0.0 源码1
需积分: 0 0 下载量 30 浏览量
2022-08-08
19:53:44
上传
评论
收藏 108KB DOCX 举报
温馨提示
试读
60页
个软申请 数据预测引擎系统1.0.0 源码1
资源详情
资源评论
资源推荐
1
数据预测引擎系统 1.0.0 源码
package org.tinos.deta.classification;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.tinos.deta.basic.Distance;
import org.tinos.deta.basic.Euclid;
import org.tinos.deta.demension.Position2D;
import org.tinos.deta.demension.Position3D;
//task 20191219 daytime
//通过 scale 距离来进行 坐标团切裂。
//Theory yaoguang.luo 20191219, 欧基里德
//Application yaoguang.luo
public class Fissile{
public static Map<Double, List<Position2D>> fissilePosition2D(List<Position2D> groups
, double scale) {
Map<Double, List<Position2D>> distanceGroups= new HashMap<>();
Map<Double, Position2D> distanceHeart= new HashMap<>();
Iterator<Position2D> iterator= groups.iterator();
double i= 0.0;
Here:
while(iterator.hasNext()) {
Position2D position2D= iterator.next();
if(distanceGroups.isEmpty()) {
List<Position2D> list= new ArrayList<>();
list.add(position2D);
distanceGroups.put(i, list);
distanceHeart.put(i, position2D);
}else {
//遍历所有团
//团重心匹配如果超精度新存,不是就融入。
Iterator<Double> iteratorScale= distanceHeart.keySet().iterator();
boolean isFind= false;
while(iteratorScale.hasNext()) {
Double doubleScale= iteratorScale.next();
Position2D currenctHeart= distanceHeart.get(doubleScale);
double distance= Distance.getDistance2D(currenctHeart, position2D);
if(distance< scale) {
//融入得到新的重心
Position2D newHeart
= Euclid.findCryptionPosition2D(currenctHeart, position2D);
//删除当前增加坐标集,更新坐标集
List<Position2D> list= distanceGroups.get(doubleScale);
list.add(position2D);
distanceGroups.put(doubleScale, list);
//删除当前重心数据,更新重心数据
2
数据预测引擎系统 1.0.0 源码
distanceHeart.put(doubleScale, newHeart);
//找到
isFind= true;
//如果预测 坐标适应状态 可以把 continue 省略。
continue Here;
}
}
//新存
if(!isFind) {
List<Position2D> list= new ArrayList<>();
list.add(position2D);
distanceGroups.put(++i, list);
distanceHeart.put(i, position2D);
}
}
}
return distanceGroups;
}
public static Map<Double, List<Position3D>> fissilePosition3D(List<Position3D> groups
, double scale) {
Map<Double, List<Position3D>> distanceGroups= new HashMap<>();
Map<Double, Position3D> distanceHeart= new HashMap<>();
Iterator<Position3D> iterator= groups.iterator();
double i= 0.0;
Here:
while(iterator.hasNext()) {
Position3D position3D= iterator.next();
if(distanceGroups.isEmpty()) {
List<Position3D> list= new ArrayList<>();
list.add(position3D);
distanceGroups.put(i, list);
distanceHeart.put(i, position3D);
}else {
//遍历所有团
//团重心匹配如果超精度新存,不是就融入。
Iterator<Double> iteratorScale= distanceHeart.keySet().iterator();
boolean isFind= false;
while(iteratorScale.hasNext()) {
Double doubleScale= iteratorScale.next();
Position3D currenctHeart= distanceHeart.get(doubleScale);
double distance= Distance.getDistance3D(currenctHeart, position3D);
if(distance< scale) {
//融入得到新的重心
Position3D newHeart
= Euclid.findCryptionPosition3D(currenctHeart, position3D);
//删除当前增加坐标集,更新坐标集
List<Position3D> list= distanceGroups.get(doubleScale);
3
数据预测引擎系统 1.0.0 源码
list.add(position3D);
distanceGroups.put(doubleScale, list);
//删除当前重心数据,更新重心数据
distanceHeart.put(doubleScale, newHeart);
//找到
isFind= true;
//如果预测 坐标适应状态 可以把 continue 省略。
continue Here;
}
}
//新存
if(!isFind) {
List<Position3D> list= new ArrayList<>();
list.add(position3D);
distanceGroups.put(++i, list);
distanceHeart.put(i, position3D);
}
}
}
return distanceGroups;
}
}
***********************************************************
package org.tinos.deta.classification;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.tinos.deta.basic.Distance;
import org.tinos.deta.basic.Euclid;
import org.tinos.deta.demension.Position2D;
import org.tinos.deta.demension.Position3D;
//task 20191219 daytime
//通过 scale 距离来进行 坐标团切裂, 并匹配最短最近重心域融入。
//算法 耗时更长,准确度再增加。
//Theory yaoguang.luo 20191219~23, 欧基里德
//Application yaoguang.luo
public class FissileWithMatch{
public static Map<Double, ArrayList<Position2D>>
fissilePosition2DWithMatch(ArrayList<Position2D> groups, double scale) {
Map<Double, ArrayList<Position2D>> distanceGroups= new HashMap<>();
Map<Double, Position2D> distanceHeart= new HashMap<>();
Iterator<Position2D> iterator= groups.iterator();
double i= 0.0;
while(iterator.hasNext()) {
Position2D position2D= iterator.next();
if(distanceGroups.isEmpty()) {
4
数据预测引擎系统 1.0.0 源码
ArrayList<Position2D> ArrayList= new ArrayList<>();
ArrayList.add(position2D);
distanceGroups.put(i, ArrayList);
distanceHeart.put(i, position2D);
}else {
//遍历所有团
//团重心匹配如果超精度新存,不是就融入。
Iterator<Double> iteratorScale= distanceHeart.keySet().iterator();
double shortest= 0;
double shortestDoubleScale= 0;
boolean isFind= false;
while(iteratorScale.hasNext()) {
Double doubleScale= iteratorScale.next();
Position2D currenctHeart= distanceHeart.get(doubleScale);
double distance= Distance.getDistance2D(currenctHeart, position2D);
if(distance< scale) {
if(false== isFind) {
isFind= true;
shortest= distance;
shortestDoubleScale= doubleScale;
}else {
if(shortest< distance) {
shortest= distance;
shortestDoubleScale= doubleScale;
}
}
}
}
if(true== isFind) {
Position2D currenctHeart= distanceHeart.get(shortestDoubleScale);
//融入得到新的重心
Position2D newHeart= Euclid.findCryptionPosition2D(currenctHeart, position2D);
//删除当前增加坐标集,更新坐标集
ArrayList<Position2D> ArrayList= distanceGroups.get(shortestDoubleScale);
ArrayList.add(position2D);
distanceGroups.put(shortestDoubleScale, ArrayList);
//删除当前重心数据,更新重心数据
distanceHeart.put(shortestDoubleScale, newHeart);
}else {
ArrayList<Position2D> ArrayList= new ArrayList<>();
ArrayList.add(position2D);
distanceGroups.put(++i, ArrayList);
distanceHeart.put(i, position2D);
}
}
}
return distanceGroups;
5
数据预测引擎系统 1.0.0 源码
}
public static Map<Double, ArrayList<Position3D>>
fissilePosition3DWithMatch(ArrayList<Position3D> groups, double scale) {
Map<Double, ArrayList<Position3D>> distanceGroups= new HashMap<>();
Map<Double, Position3D> distanceHeart= new HashMap<>();
Iterator<Position3D> iterator= groups.iterator();
double i= 0.0;
while(iterator.hasNext()) {
Position3D position3D= iterator.next();
if(distanceGroups.isEmpty()) {
ArrayList<Position3D> ArrayList= new ArrayList<>();
ArrayList.add(position3D);
distanceGroups.put(i, ArrayList);
distanceHeart.put(i, position3D);
}else {
//遍历所有团
//团重心匹配如果超精度新存,不是就融入。
Iterator<Double> iteratorScale= distanceHeart.keySet().iterator();
double shortest= 0;
double shortestDoubleScale= 0;
boolean isFind= false;
while(iteratorScale.hasNext()) {
Double doubleScale= iteratorScale.next();
Position3D currenctHeart= distanceHeart.get(doubleScale);
double distance= Distance.getDistance3D(currenctHeart, position3D);
if(distance< scale) {
if(false== isFind) {
isFind= true;
shortest= distance;
shortestDoubleScale= doubleScale;
}else {
if(shortest< distance) {
shortest= distance;
shortestDoubleScale= doubleScale;
}
}
}
}
if(true== isFind) {
Position3D currenctHeart= distanceHeart.get(shortestDoubleScale);
//融入得到新的重心
Position3D newHeart= Euclid.findCryptionPosition3D(currenctHeart, position3D);
//删除当前增加坐标集,更新坐标集
ArrayList<Position3D> ArrayList= distanceGroups.get(shortestDoubleScale);
ArrayList.add(position3D);
distanceGroups.put(shortestDoubleScale, ArrayList);
//删除当前重心数据,更新重心数据
剩余59页未读,继续阅读
张景淇
- 粉丝: 39
- 资源: 276
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 海尔618算价表_七海5.20_16.00xlsx(1)(2).xlsx
- WebCrawler.scr
- 【计算机专业毕业设计】大学生就业信息管理系统设计源码.zip
- YOLO 数据集:8种路面缺陷病害检测【包含划分好的数据集、类别class文件、数据可视化脚本】
- JAVA实现Modbus RTU或Modbus TCPIP案例.zip
- 基于YOLOv8的FPS TPS AI自动锁定源码+使用步骤说明.zip
- JAVA实现Modbus RTU或Modbus TCPIP案例.zip
- 基于yolov8+streamlit的火灾检测部署源码+模型.zip
- 测试aaaaaaabbbbb
- VID20240521070643.mp4
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0