import sys
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_gaussian_quantiles
from sklearn.svm import NuSVC
#which base classify can be used in adaboost
#see https://stackoverflow.com/questions/18306416/adaboostclassifier-with-different-base-learners
inputn = int(sys.argv[1])
outputn = int(sys.argv[2])
inputcol = tuple(range(0,inputn,1))
outputcol = tuple(range(inputn,inputn+outputn,1))
print inputcol
print outputcol
x = np.loadtxt(open(sys.argv[3],"r"),delimiter="\t",usecols=inputcol)
y = np.loadtxt(open(sys.argv[3],"r"),delimiter="\t",usecols=outputcol)
x2 = np.loadtxt(open(sys.argv[4],"r"),delimiter="\t",usecols=inputcol)
y2 = np.loadtxt(open(sys.argv[4],"r"),delimiter="\t",usecols=outputcol)
'''
bdt = AdaBoostClassifier(DecisionTreeClassifier(max_depth=2, min_samples_split=20, min_samples_leaf=5),
algorithm="SAMME",
n_estimators=200, learning_rate=1.5)
'''
bdt = AdaBoostClassifier(NuSVC(),
algorithm="SAMME",
n_estimators=200, learning_rate=1.5)
bdt.fit(x, y)
allcount=0
hit=0
print('----------fit over---------------')
for i in range(0,x2.shape[0]):
left = bdt.predict(x2[i].reshape(1,-1)).tolist()[0]
right = y2[i].tolist()
allcount+=1
#print left,right
if int(left)==int(right):
hit+=1
print(hit,allcount)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPClassifier
from sklearn.ensemble import AdaBoostClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.datasets import make_gaussian_quantiles
from sklearn.svm import NuSVC
#which base classify can be used in adaboost
#see https://stackoverflow.com/questions/18306416/adaboostclassifier-with-different-base-learners
inputn = int(sys.argv[1])
outputn = int(sys.argv[2])
inputcol = tuple(range(0,inputn,1))
outputcol = tuple(range(inputn,inputn+outputn,1))
print inputcol
print outputcol
x = np.loadtxt(open(sys.argv[3],"r"),delimiter="\t",usecols=inputcol)
y = np.loadtxt(open(sys.argv[3],"r"),delimiter="\t",usecols=outputcol)
x2 = np.loadtxt(open(sys.argv[4],"r"),delimiter="\t",usecols=inputcol)
y2 = np.loadtxt(open(sys.argv[4],"r"),delimiter="\t",usecols=outputcol)
'''
bdt = AdaBoostClassifier(DecisionTreeClassifier(max_depth=2, min_samples_split=20, min_samples_leaf=5),
algorithm="SAMME",
n_estimators=200, learning_rate=1.5)
'''
bdt = AdaBoostClassifier(NuSVC(),
algorithm="SAMME",
n_estimators=200, learning_rate=1.5)
bdt.fit(x, y)
allcount=0
hit=0
print('----------fit over---------------')
for i in range(0,x2.shape[0]):
left = bdt.predict(x2[i].reshape(1,-1)).tolist()[0]
right = y2[i].tolist()
allcount+=1
#print left,right
if int(left)==int(right):
hit+=1
print(hit,allcount)