나는 Oracle 데이터베이스로 작업하고 있으며 다음 코드를 java에 구현했습니다 (SQL 가져온 라이브러리 사용). 여기에는 평균 학생 그룹이 있으며, 평균은 평균에서 표준 편차보다 1 표준 편차보다 큽니다 ("1"이있는 새 열을 삽입 함). 그럼 난 기준을 충족하고 새 테이블에 추가 학생수 수 :K 평균 알고리즘 구현하기 JDBC
이try{
Statement stOne, stTwo, stThree, stFour;
String SelectAverage = "SELECT MEAN FROM STUDENTS";
ResultSet rsOne = stOne.executeQuery(SelectAverage);
String TotalAverage = "SELECT Avg(MEAN) AS averages FROM STUDENTS";
ResultSet rsTwo = stTwo.executeQuery(TotalAverage);
String student_stan_dev = "SELECT STDEV(MEAN) AS standardDeviation FROM STUDENTS";
ResultSet rsThree = stThree.executeQuery(student_stan_dev);
int onesdMean = 1;
//Loop Duration_Sec column
while(rsOne.next()){
//Convert values into float values
float allAvgs = rsOne.getFloat("MEAN");
float totalAvg = rsTwo.getFloat("averages");
float StDev = rsThree.getFloat("standardDeviation");
float theSD = allAvgs - (onesdMean * StDev);
}
String flaggedStudents = "ALTER TABLE STUDENTS ADD FlaggedStudents INT";
ResultSet rsFour = stFour.executeUpdate(flaggedStudents);
if(allAvgs >= theSD){
String FlagHint = "INSERT INTO STUDENTS.FlaggedStudents VALUES('1')";
st.executeUpdate(FlagHint);
}
String countInstances = "SELECT STUDENTS.NAME, STUDENTS.FlaggedStudents" +
"COUNT(*)OVER(PARTITION BY STUDENTS) AS cnt FROM STUDENTS";
st.executeQuery(countInstances);
st.executeUpdate("CREATE TABLE IF NOT EXISTS StudentCount" +
"(NAME INT , cnt INT)");
String insertVals = String.format("INSERT INTO StudentCount" +
"(NAME , cnt INT") +
" VALUES ('%s','%s')");
st.execute(insertVals);
내 질문은 제가 구현하려는이며,이 기준 및 별도을 충족 학생들을 클러스터링, 대신 알고리즘을 케이 - 의미 이 기준에 미치지 못하는 사람들. k-means 알고리즘의 소스 코드를 보았습니다. 그러나 java/SQL로 구현 된 데이터베이스로 어떻게 할 것입니까? 이 정보를 클러스터 배열에 추가하면됩니까? 어떤 도움을 주시면 감사하겠습니다.