Esempio n. 1
0
def myclassify_oneclass(numfiers,xtrain,xtest,xtrunc,nuparam=.5):

    # remove NaN, Inf, and -Inf values from the xtest feature matrix
    xtest = xtest[~np.isnan(xtest).any(axis=1),:]
    xtest = xtest[~np.isinf(xtest).any(axis=1),:]
    xtrunc = xtrunc[0] # this is because the xtrunc is a list and we want only the first index, which is our array

    #if xtest is NxM matrix, returns Nxnumifiers matrix where each column corresponds to a classifiers prediction vector
    count = 0
    # print numfiers

    predictionMat = np.empty((xtest.shape[0],numfiers))
    predictionStringMat = []
    finalPredMat = []


    oneclassifier = oneclass(nu = nuparam)
    # print 'created classifier'
    oneclassifier = oneclassifier.fit(xtrain)
    # print 'trained classifier'
    ytest = oneclassifier.predict(xtest)
    # print 'predicted classifier results'
    predictionMat[:,count] = ytest

    count += 1

    for colCount in range(predictionMat.shape[1]):
        tempCol = predictionMat[:,colCount]
        modeCol = predWindowVecModeFinder(tempCol,xtrunc)
        finalPredMat += map(int,modeCol)
        modeStr = predVec2Str(modeCol)
        predictionStringMat.append(modeStr)

    return predictionStringMat,finalPredMat
Esempio n. 2
0

xtrain_pow_shortened = xtrain_pow[:,0:6]








tuned_params = [{'kernel': ['rbf'],'tol' : [.9,1]}] #,{'kernel': ['linear']},{'kernel': ['poly'], 'degree': [2,6],'gamma':[.1,.0001],'coef0': [0.0,1.0]}]
#indep_grid ={'iid': [True,False]} then use ParameterGrid?


oc = oneclass()
oc.fit(xtrain_aud_shortened)
predVec = oc.predict(xtrain_aud_shortened)
predVec = (predVec+1)/2
for i in range(len(predVec)):
    predVec[i] = int(predVec[i])

score = recsco(np.ones(xtrain_aud_shortened.shape),predVec)
print "Score %s" % score


#gridSearch = GridSearchCV(estimator = oneclass(),param_grid = tuned_params,iid=True,scoring=recsco)
print "starting grid search"
#gridSearch.fit(xtrain_aud)
print("Best params found")
# print()
Esempio n. 3
0
def myclassify_NA(numfiers,xtrain,xtest,xtrunc,xtest2,xtrunc2,nuparam):

    # remove NaN, Inf, and -Inf values from the xtest feature matrix
    xtest = xtest[~np.isnan(xtest).any(axis=1),:]
    xtest = xtest[~np.isinf(xtest).any(axis=1),:]

    xtrunclength = sio.loadmat('Files/xtrunclength.mat')
    xtrunclength = xtrunclength['xtrunclength'][0]
    xtrunc = xtrunc[0]
    xtrunc2 = xtrunc2[0]
    #if xtest is NxM matrix, returns Nxnumifiers matrix where each column corresponds to a classifiers prediction vector
    count = 0
    print numfiers

    predictionMat = np.empty((xtest.shape[0],numfiers))
    predictionStringMat = []
    predictionMat2 = np.empty((xtest2.shape[0],numfiers))
    predictionStringMat2 = []

    print 'part 1'

    oneclassclass = oneclass(nu = nuparam)
    print 'part 2'
    oneclassclass.fit(xtrain)
    print 'part 3'
    ytest = oneclassclass.predict(xtest)
    ytest2 = oneclassclass.predict(xtest2)
    print 'part 4'
    predictionMat[:,count] = ytest
    predictionMat2[:,count] = ytest2
    count += 1
    #print oneclassclass.get_params()

    # print 'finished one'
    # if count < numfiers:
    #     oc2 = oneclass(nu = .05)
    #     oc2.fit(xtrain)
    #     ytest = oc2.predict(xtest)
    #     predictionMat[:,count] = ytest
    #     count +=1
    # #
    # if count < numfiers:
    #     oc3 = oneclass(kernel='linear', degree = 4)
    #     oc3.fit(xtrain)
    #     ytest = oc3.predict(xtest)
    #     predictionMat[:,count] = ytest
    #     count+=1
    #
    # if count < numfiers:
    #     oneclass2 = oneclass(kernel = 'poly', degree = 4)
    #     print 'part 5'
    #     oneclass2.fit(xtrain)
    #     print 'part 6'
    #     ytest = oneclass2.predict(xtest)
    #     print 'part 7'
    #     predictionMat[:,count] = ytest
    #     count+=1
    if count < numfiers:
        oneclass2 = oneclass(kernel = 'poly', nu = nuparam)
        print 'part 5'
        oneclass2.fit(xtrain)
        print 'part 6'
        ytest = oneclass2.predict(xtest)
        ytest2 = oneclass2.predict(xtest2)
        print 'part 7'
        predictionMat[:,count] = ytest
        predictionMat2[:,count] = ytest2
        count+=1

    for colCount in range(predictionMat.shape[1]):
        tempCol = predictionMat[:,colCount]
        modeCol = predWindowVecModeFinder(tempCol,xtrunc)
        modeStr = predVec2Str(modeCol)
        predictionStringMat.append(modeStr)

    for colCount2 in range(predictionMat2.shape[1]):
        tempCol2 = predictionMat2[:,colCount2]
        modeCol2 = predWindowVecModeFinder(tempCol2,xtrunc2)
        modeStr2 = predVec2Str(modeCol2)
        predictionStringMat2.append(modeStr2)


    return predictionStringMat,predictionStringMat2