Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.io.*;
- import java.sql.*;
- public class PF {
- private static boolean neato = false;
- private static boolean showTransitionCount = true;
- public static void main(String[] Args) {
- System.out.println("I am here");
- (new PF()).go();
- }
- private void goX() {
- String students[] = { "class", "studentA", "studentB", "studentC" };
- int n = students.length;
- Pathfinder pf[] = new Pathfinder[n];
- pf[0] = new Pathfinder();
- System.out.println("reading log file");
- pf[0].readLogfile("example/log.txt");
- for (int i = 1; i < n; i++) pf[i] = new Pathfinder(pf[0]);
- for (int i = 1; i < n; i++) pf[i].restrictTo(students[i]);
- for (int i = 0; i < n; i++) pf[i].setFrequencies();
- for (int i = 0; i < n; i++) pf[i].MCN();
- for (int i = 0; i < n; i++) pf[i].outputGraph("example\\" + students[i]);
- /*
- for (int i = 0; i < n-1; i++) {
- for (int j = i+1; j < n; j++) {
- int similarity = (int) (1000*pf[i].sim(pf[j]));
- System.out.println(students[i]+" ~ "+students[j]+" = "+similarity);
- }
- }
- */
- }
- //ling
- // private void go2() {
- // doClass("4","visitordata","2001-10-19");
- // }
- // end ling
- private void go1() {
- Pathfinder pf = new Pathfinder();
- System.out.println("starting...");
- pf.readLogfile("iisdata/visit.txt");
- System.out.println("data read");
- pf.setFrequencies();
- System.out.println("frequencies set");
- pf.MCN();
- System.out.println("MCN computed");
- pf.outputGraph("iisdata/visit");
- System.out.println("XML written");
- }
- private void go() {
- // String[] classNumber = { "2", "4", "2", "4", "2", "4"};
- // String[] date = {"2001-10-16", "2001-10-17", "2001-10-18", "2001-10-19", "2001-11-07", "2001-11-08"};
- // int[] classNumber = { 4};
- // String[] date = {"2001-10-19"};
- //ling did it.
- //ling String[] classNumber = { "pulley", "lever", "wheelaxle"};
- //ling String[] date = { "2002-05-06", "2002-04-12", "2002-04-26"};
- int[] classNumber = { 1 };
- String[] date = {"2002-5-02"};
- //end ling
- for (int i = 0; i < classNumber.length; i++) {
- //ling doClass(classNumber[i],"agnes1",date[i]);
- doClass(classNumber[i],date[i]);
- }
- }
- //ling private void doClass(String classNumber, String dir, String dateRestriction) {
- private void doClass(int classNumber, String dateRestriction) {
- RawData rd = new RawData();
- String[] nodeNames = rd.getNodeNames("%",classNumber, dateRestriction);
- String[] studentNames = rd.getStudentNames("%", classNumber, dateRestriction);
- int n = studentNames.length;
- System.out.print("Class " + classNumber + ", " + dateRestriction + " has " + n + " students");
- System.out.println(" and " + nodeNames.length + " nodes.");
- Pathfinder[] pf = new Pathfinder[n + 1]; // for all students and the class
- Hashtable invNodeNames = new Hashtable();
- for (int i = 0; i < nodeNames.length; i++) {
- invNodeNames.put(nodeNames[i].toLowerCase(),new Integer(i));
- }
- for (int i = 0; i < n+1; i++) {
- double[][] s;
- if (i < n) {
- System.out.print(studentNames[i] + " ");
- s = rd.getTransitionMatrix(classNumber, dateRestriction, studentNames[i], invNodeNames);
- } else {
- System.out.println("all students");
- s = rd.getTransitionMatrix(classNumber, dateRestriction, "%", invNodeNames);
- }
- pf[i] = new Pathfinder();
- pf[i].setFrequencies(s);
- pf[i].setNames(nodeNames);
- pf[i].MCN();
- if (i < n) {
- pf[i].outputGraph("data/" + "/" + classNumber + "_" + studentNames[i] + "_" + dateRestriction,showTransitionCount,neato);
- } else {
- pf[i].outputGraph("data/" + "/" + classNumber + "_" + "CLASS_" + dateRestriction,showTransitionCount,neato);
- }
- }
- System.out.println();
- try {
- //finally generating the comaprison output into a tab delimited file
- System.out.println("Writing comparison file");
- String filename = "data/" + "/" + classNumber + "_" + "CLASS_" + dateRestriction + ".txt";
- PrintWriter outFile = new PrintWriter(new BufferedWriter(new FileWriter(filename)));
- outFile.write("Comparing each student to the whole class\n\n");
- for (int i = 0; i < n; i++) {
- double sim = pf[i].sim(pf[n]);
- outFile.write(studentNames[i] + "\t" + sim + "\n");
- }
- outFile.write("\nComparing all student to each other\n\n");
- outFile.write("\t");
- for (int i = 0; i < n; i++) {
- outFile.write(studentNames[i] + "\t");
- }
- outFile.write("\n");
- double[][] matrix = new double[n][n];
- for (int i = 0; i < n; i++) {
- outFile.write(studentNames[i] + "\t");
- for (int j = 0; j < n; j++) {
- double sim = pf[i].sim(pf[j]);
- outFile.write(sim + "\t");
- matrix[i][j] = sim;
- if (sim <= 0) matrix[i][j] = -1;
- }
- outFile.write("\n");
- }
- outFile.close();
- //now we treat similarities as frequencies and use pathfinder again
- //that's probably silly, but...
- /* ling uncomments */
- System.out.println("doing the pathfinder for the big thing");
- Pathfinder p = new Pathfinder();
- System.out.println("setting frequencies");
- p.setFrequencies(matrix);
- System.out.println("setting names");
- p.setNames(studentNames);
- System.out.println("MCN...");
- p.MCN();
- System.out.println("MCN done!");
- p.outputGraph("data/" + "/" + classNumber + "_allstudents_" + dateRestriction,showTransitionCount, neato, 10);
- //now we do the real clustering
- //ling for (int k = 1; k <= 3; k++) {
- int k=3;
- System.out.println("clustering with k = " + k);
- ClusterAlg clusterAlg = new ClusterAlg(k,studentNames);
- for(int i = 0; i < n; i++) {
- clusterAlg.addPNF(pf[i]);
- }
- float v = 0, worstV = 0;
- v = clusterAlg.cluster();
- worstV += clusterAlg.worstClusterValue();
- Pathfinder centroid[] = clusterAlg.getCentroids();
- for (int i = 0; i < k; i++) {
- centroid[i].outputGraph("data/" + "/" + classNumber +"_C_"+k+"_"+(i+1)+"_"+ dateRestriction,showTransitionCount, neato, 10);
- }
- System.out.println("k = " + k + " -> " + v + " -- " + worstV);
- System.out.println(clusterAlg);
- // }
- /*ling end */
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
- ---------------------------
- "C:\Program Files\Java\jdk1.8.0_91\bin\java" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_91\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_91\jre\lib\rt.jar;C:\Users\jalal\IdeaProjects\Good_PF\out\production\Good_PF;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.1.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain PF
- I am here
- Unable to load driver.
- java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
- at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
- at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
- at java.lang.Class.forName0(Native Method)
- at java.lang.Class.forName(Class.java:264)
- at RawData.getConnection(RawData.java:229)
- at RawData.getNodeNames(RawData.java:16)
- at PF.doClass(PF.java:94)
- at PF.go(PF.java:86)
- at PF.main(PF.java:16)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
- SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433
- SQLState: 08001
- VendorError: 0
- Exception in thread "main" java.lang.NullPointerException
- at RawData.getNodeNames(RawData.java:21)
- at PF.doClass(PF.java:94)
- at PF.go(PF.java:86)
- at PF.main(PF.java:16)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- at java.lang.reflect.Method.invoke(Method.java:498)
- at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
- Process finished with exit code 1
Advertisement
Add Comment
Please, Sign In to add comment