internal static ArrayList run(IList para)
    {
        int degree = 20;
        modshogun.init_shogun_with_defaults();
        double C = (double)((double?)para[0]);
        double epsilon = (double)((double?)para[1]);
        int num_threads = (int)((int?)para[2]);

        string[] fm_train_dna = Load.load_dna("../data/fm_train_dna.dat");
        string[] fm_test_dna = Load.load_dna("../data/fm_test_dna.dat");

        StringCharFeatures feats_train = new StringCharFeatures(fm_train_dna, DNA);
        StringCharFeatures feats_test = new StringCharFeatures(fm_test_dna, DNA);

        Labels labels = new Labels(Load.load_labels("../data/label_train_dna.dat"));
        WeightedDegreeStringKernel kernel = new WeightedDegreeStringKernel(feats_train, feats_train, degree);

        SVMLight svm = new SVMLight(C, kernel, labels);
        svm.set_epsilon(epsilon);
        //svm.parallel.set_num_threads(num_threads);
        svm.train();

        kernel.init(feats_train, feats_test);
        svm.apply().get_labels();

        ArrayList result = new ArrayList();
        result.Add(kernel);
        modshogun.exit_shogun();
        return result;
    }
    internal static ArrayList run(IList para)
    {
        modshogun.init_shogun_with_defaults();
        int degree = (int)((int?)para[0]);

        string[] fm_train_dna = Load.load_dna("../data/fm_train_dna.dat");
        string[] fm_test_dna = Load.load_dna("../data/fm_test_dna.dat");

        StringCharFeatures feats_train = new StringCharFeatures(fm_train_dna, DNA);
        StringCharFeatures feats_test = new StringCharFeatures(fm_test_dna, DNA);

        WeightedDegreeStringKernel kernel = new WeightedDegreeStringKernel(feats_train, feats_train, degree);
        double[] w = new double[degree];
        double sum = degree * (degree + 1)/2;
        for (int i = 0; i < degree; i++)
        {
            w[i] = (degree - i)/sum;
        }

        DoubleMatrix weights = new DoubleMatrix(1, degree, w);
        kernel.set_wd_weights(weights);

        DoubleMatrix km_train = kernel.get_kernel_matrix();
        kernel.init(feats_train, feats_test);
        DoubleMatrix km_test = kernel.get_kernel_matrix();

        ArrayList result = new ArrayList();
        result.Add(km_train);
        result.Add(km_test);
        result.Add(kernel);
        modshogun.exit_shogun();
        return result;
    }
    static void Main(string[] argv)
    {
        modshogun.init_shogun_with_defaults();
        int degree = 3;
        int C = 1;

        string[] fm_train_dna = {"CGCACGTACGTAGCTCGAT", "CGACGTAGTCGTAGTCGTA", "CGACGGGGGGGGGGTCGTA", "CGACCTAGTCGTAGTCGTA", "CGACCACAGTTATATAGTA", "CGACGTAGTCGTAGTCGTA", "CGACGTAGTTTTTTTCGTA", "CGACGTAGTCGTAGCCCCA", "CAAAAAAAAAAAAAAAATA", "CGACGGGGGGGGGGGCGTA"};
        string[] fm_test_dna = {"AGCACGTACGTAGCTCGAT", "AGACGTAGTCGTAGTCGTA", "CAACGGGGGGGGGGTCGTA", "CGACCTAGTCGTAGTCGTA", "CGAACACAGTTATATAGTA", "CGACCTAGTCGTAGTCGTA", "CGACGTGGGGTTTTTCGTA", "CGACGTAGTCCCAGCCCCA", "CAAAAAAAAAAAACCAATA", "CGACGGCCGGGGGGGCGTA"};

        StringCharFeatures feats_train = new StringCharFeatures(fm_train_dna, DNA);
        StringCharFeatures feats_test = new StringCharFeatures(fm_test_dna, DNA);

        WeightedDegreeStringKernel kernel = new WeightedDegreeStringKernel(feats_train, feats_train, degree);
        double[][] label_train_dna = { new double[] { -1, -1, -1, -1, -1, 1, 1, 1, 1, 1 } };
        Labels labels = new Labels(new DoubleMatrix(label_train_dna));

        SVMLight svm = new SVMLight(C, kernel, labels);
        svm.train();

        DomainAdaptationSVM dasvm = new DomainAdaptationSVM(C, kernel, labels, svm, 1.0);
        dasvm.train();

        DoubleMatrix @out = dasvm.apply(feats_test).get_labels();
        modshogun.exit_shogun();
    }
    internal static DoubleMatrix run(IList para)
    {
        int degree = 20;
        modshogun.init_shogun_with_defaults();
        double C = (double)((double?)para[0]);
        double epsilon = (double)((double?)para[1]);
        int num_threads = (int)((int?)para[2]);

        string[] fm_train_dna = {"CGCACGTACGTAGCTCGAT", "CGACGTAGTCGTAGTCGTA", "CGACGGGGGGGGGGTCGTA", "CGACCTAGTCGTAGTCGTA", "CGACCACAGTTATATAGTA", "CGACGTAGTCGTAGTCGTA", "CGACGTAGTTTTTTTCGTA", "CGACGTAGTCGTAGCCCCA", "CAAAAAAAAAAAAAAAATA", "CGACGGGGGGGGGGGCGTA"};
        string[] fm_test_dna = {"AGCACGTACGTAGCTCGAT", "AGACGTAGTCGTAGTCGTA", "CAACGGGGGGGGGGTCGTA", "CGACCTAGTCGTAGTCGTA", "CGAACACAGTTATATAGTA", "CGACCTAGTCGTAGTCGTA", "CGACGTGGGGTTTTTCGTA", "CGACGTAGTCCCAGCCCCA", "CAAAAAAAAAAAACCAATA", "CGACGGCCGGGGGGGCGTA"};

        StringCharFeatures feats_train = new StringCharFeatures(fm_train_dna, DNA);
        StringCharFeatures feats_test = new StringCharFeatures(fm_test_dna, DNA);

        WeightedDegreeStringKernel kernel = new WeightedDegreeStringKernel(feats_train, feats_train, degree);
        double[][] label_train_dna = { new double[] { -1, -1, -1, -1, -1, 1, 1, 1, 1, 1 } };
        Labels labels = new Labels(new DoubleMatrix(label_train_dna));

        SVMLight svm = new SVMLight(C, kernel, labels);
        svm.set_qpsize(3);
        svm.set_linear_term(new DoubleMatrix(new double[][] {{-1,-2,-3,-4,-5,-6,-7,-8,-7,-6}}));
        svm.set_epsilon(epsilon);
        //svm.parallel.set_num_threads(num_threads);
        svm.train();

        kernel.init(feats_train, feats_test);
        DoubleMatrix @out = svm.apply().get_labels();

        modshogun.exit_shogun();
        return @out;
    }
Example #5
0
    public static void Main()
    {
        modshogun.init_shogun_with_defaults();
        int degree = 3;

        string[] fm_train_dna = Load.load_dna("../data/fm_train_dna.dat");
        string[] fm_test_dna  = Load.load_dna("../data/fm_test_dna.dat");

        foreach (string item in fm_train_dna)
        {
            Console.WriteLine(item);
        }

        StringCharFeatures feats_train = new StringCharFeatures(fm_train_dna, EAlphabet.DNA);
        StringCharFeatures feats_test  = new StringCharFeatures(fm_test_dna, EAlphabet.DNA);

        WeightedDegreeStringKernel kernel = new WeightedDegreeStringKernel(feats_train, feats_train, degree);

        double [] w   = new double[degree];
        double    sum = degree * (degree + 1) / 2;

        for (int i = 0; i < degree; i++)
        {
            w[i] = (degree - i) / sum;
        }

        kernel.set_wd_weights(w);

        double[,] km_train = kernel.get_kernel_matrix();
        kernel.init(feats_train, feats_test);
        double[,] km_test = kernel.get_kernel_matrix();

        foreach (double item in km_train)
        {
            Console.Write(item);
        }

        foreach (double item in km_test)
        {
            Console.Write(item);
        }

        modshogun.exit_shogun();
    }
    public static void Main()
    {
        modshogun.init_shogun_with_defaults();
        int degree = 3;

        string[] fm_train_dna = Load.load_dna("../data/fm_train_dna.dat");
        string[] fm_test_dna = Load.load_dna("../data/fm_test_dna.dat");

        foreach(string item in fm_train_dna) {
            Console.WriteLine(item);
        }

        StringCharFeatures feats_train = new StringCharFeatures(fm_train_dna, EAlphabet.DNA);
        StringCharFeatures feats_test = new StringCharFeatures(fm_test_dna, EAlphabet.DNA);

        WeightedDegreeStringKernel kernel = new WeightedDegreeStringKernel(feats_train, feats_train, degree);
        double [] w = new double[degree];
        double sum = degree * (degree + 1)/2;
        for (int i = 0; i < degree; i++) {
            w[i] = (degree - i)/sum;
        }

        kernel.set_wd_weights(w);

        double[,] km_train = kernel.get_kernel_matrix();
        kernel.init(feats_train, feats_test);
        double[,] km_test = kernel.get_kernel_matrix();

        foreach(double item in km_train) {
            Console.Write(item);
        }

        foreach(double item in km_test) {
            Console.Write(item);
        }

        modshogun.exit_shogun();
    }
Example #7
0
 internal static HandleRef getCPtr(WeightedDegreeStringKernel obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
 internal static HandleRef getCPtr(WeightedDegreeStringKernel obj) {
   return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }