资源简介
数据文件已经项目目录下,直接在IDE导入项目运行即可。(注:该项目是在jdk1.8环境下编译)
数据文件已经项目目录下,直接在IDE导入项目运行即可。(注:该项目是在jdk1.8环境下编译)
代码片段和文件信息
package com.hokilin.kmeans;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Random;
public class KAverage {
private int sampleCount = 0;
private int dimensionCount = 0;
private int centerCount = 0;
private double[][] sampleValues;
private double[][] centers;
private double[][] tmpCenters;
private String dataFile = ““;
/**
* 通过构造器传入数据文件
*/
public KAverage(String dataFile) throws NumberInvalieException {
this.dataFile = dataFile;
}
/**
* 第一行为s;d;c含义分别为样例的数目,每个样例特征的维数,聚类中心个数 文件格式为d[d]...;d[d]... 如:12;23;15
* 每一维之间用隔开,每个样例间用;隔开。结尾没有‘;‘ 可以有多行
*/
private int initData(String fileName) {
String line;
String samplesValue[];
String dimensionsValue[] = new String[dimensionCount];
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(fileName));
} catch (FileNotFoundException e) {
e.printStackTrace();
return -1;
}
/*
* 预处理样本,允许后面几维为0时,不写入文件
*/
for (int i = 0; i < sampleCount; i++) {
for (int j = 0; j < dimensionCount; j++) {
sampleValues[i][j] = 0;
}
}
int i = 0;
double tmpValue = 0.0;
try {
line = in.readLine();
String params[] = line.split(“;“);
if (params.length != 3) {// 必须为3个参数,否则错误
in.close();
return -1;
}
/**
* 获取参数
*/
this.sampleCount = Integer.parseInt(params[0]);
this.dimensionCount = Integer.parseInt(params[1]);
this.centerCount = Integer.parseInt(params[2]);
if (sampleCount <= 0 || dimensionCount <= 0 || centerCount <= 0) {
in.close();
throw new NumberInvalieException(“input number <= 0.“);
}
if (sampleCount < centerCount) {
in.close();
throw new NumberInvalieException(
“sample number < center number“);
}
sampleValues = new double[sampleCount][dimensionCount + 1];
centers = new double[centerCount][dimensionCount];
tmpCenters = new double[centerCount][dimensionCount];
while ((line = in.readLine()) != null) {
samplesValue = line.split(“;“);
for (int j = 0; j < samplesValue.length; j++) {
dimensionsValue = samplesValue[j].split(““);
for (int k = 0; k < dimensionsValue.length; k++) {
tmpValue = Double.parseDouble(dimensions
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-05-24 13:43 Kmeans\
文件 302 2017-05-24 13:43 Kmeans\.classpath
文件 382 2017-05-24 13:43 Kmeans\.project
目录 0 2017-05-24 13:43 Kmeans\.settings\
文件 598 2017-05-24 13:43 Kmeans\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-05-24 21:19 Kmeans\bin\
目录 0 2017-05-24 13:43 Kmeans\bin\com\
目录 0 2017-05-24 13:43 Kmeans\bin\com\hokilin\
目录 0 2017-05-24 13:43 Kmeans\bin\com\hokilin\kmeans\
文件 6294 2017-05-24 13:46 Kmeans\bin\com\hokilin\kmeans\KAverage.class
文件 902 2017-05-24 13:43 Kmeans\bin\com\hokilin\kmeans\NumberInvalieException.class
文件 85 2017-05-24 13:45 Kmeans\bin\sample.txt
文件 89 2017-05-24 20:58 Kmeans\bin\使用说明.txt
目录 0 2017-05-24 21:19 Kmeans\src\
目录 0 2017-05-24 13:43 Kmeans\src\com\
目录 0 2017-05-24 13:43 Kmeans\src\com\hokilin\
目录 0 2017-05-24 13:43 Kmeans\src\com\hokilin\kmeans\
文件 9036 2017-05-24 13:46 Kmeans\src\com\hokilin\kmeans\KAverage.java
文件 603 2017-05-20 11:03 Kmeans\src\com\hokilin\kmeans\NumberInvalieException.java
文件 85 2017-05-24 13:45 Kmeans\src\sample.txt
文件 89 2017-05-24 20:58 Kmeans\src\使用说明.txt
- 上一篇:Java 字符/字母 雨
- 下一篇:J2EE期末复习题汇总
相关资源
- 小小工具箱-备忘录,日历,倒计时
- java数据挖掘C4.5决策树的动态生成
- 网上花店Java源代码
- 开发基于控制台的购书系统_java源代码
- JAVA数据预处理中的等宽和等频分箱操
- 蚁群算法实现的java源代码
- 连连看java源代码
- 图像隐写F5 JAVA源代码
- 计算机组成原理(BOOTH算法)java源代
- 图中找图对比,Java源代码,Android源代
- erf函数JAVA源代码
- java源代码:日程管理小程序
- 物业管理系统JAVA源代码
- java版kmeans实现
- kmeans中文文本聚类java源码包括对文本
- 贪吃蛇JAVA源代码带注解
- kmeans聚类java实现附测试数据及结果
- 交通模拟软件java源代码
- 基于随机字符组动态口令身份认证系
- 简单银行存款取款,以及实现线程j
- 简单订单系统实现java源代码
- 微信公众开放平台开发 -智能机器人
- eclipse中快速打开java源代码所对应的
- 五子棋java源代码
- 基于Java的SM2_SM3_SM4国密算法java源代码
- Apk 反编译成Java源代码工具
- 50个java游戏源代码
- SMTP-Java源代码
- 操作系统调度算法java源代码
- Java实现的KMeans均值聚类算法
评论
共有 条评论