예제 #1
0
def main(fn):
    # data= pd.read_csv("../data/kddcup.data_10_percent_corrected", names=cols)
    data = pd.read_csv(fn, header=-1)

    # data= remove_missing(data)
    # data= impute_missing(data)
    data = impute_missing2(data)

    # Features to be used in classification
    features = [x for x in range(1, len(data.columns))]

    X = data[features]
    y = data[0]

    #h= TGaussianNB(X, y)
    #h.run()
    print("GaussianNB")
    h = Test(X, y, GaussianNB())
    h.run()
    h.report(fn="../Report/results/cancer.gnb.cm.tex")
    s = Search(X, y, GaussianNB(), [{}])
    s.search()
    s.report("../Report/results/cancer.gnb.tex")

    print("DTree neu")
    parameters = [{
        'criterion': ['gini', 'entropy'],
        'max_features': ['auto', 'sqrt', 'log2']
    }]
    s = Search(X, y, DTree(), parameters)
    s.search()
    s.report("../Report/results/cancer.dt.tex")
    h = Test(X, y,
             DTree(max_features='log2', criterion='gini', random_state=1234))
    h.run()
    h.report(fn="../Report/results/cancer.dt.cm.tex")
    print("RF")
    parameters = [{
        'n_estimators': range(1, 15),
        'criterion': ['gini', 'entropy'],
        'max_features': ['auto', 'sqrt', 'log2']
    }]
    s = Search(X, y, RandomForestClassifier(), parameters)
    s.search()
    s.report("../Report/results/cancer.rf.tex", )
    h = Test(
        X, y,
        RandomForestClassifier(n_estimators=6,
                               criterion='gini',
                               max_features='sqrt',
                               random_state=1234))
    h.run()
    h.report(fn="../Report/results/cancer.rf.cm.tex")

    parameters = [{
        'kernel': ['linear', 'sigmoid', 'rbf', 'poly'],
        'C': [0.1, 1, 10, 11, 20]
    }]
    print("SVM")
    from sklearn import preprocessing
    X_scaled = preprocessing.scale(X)
    s = Search(X_scaled, y, SVC(), parameters)
    s.search()
    s.report("../Report/results/cancer.svm.tex")
    h = Test(X, y, SVC(C=11, kernel='poly'))
    h.run()
    h.report(fn="../Report/results/cancer.svm.cm.tex")

    print("KNeighborsClassifier")
    parameters = [{
        'n_neighbors': range(4, 8),
        'weights': ['uniform', 'distance'],
        'p': [1, 2]
    }]
    s = Search(X, y, KNeighborsClassifier(), parameters)
    s.search()
    s.report("../Report/results/cancer.knn.tex")
    h = Test(X, y, KNeighborsClassifier(n_neighbors=5, weights='uniform', p=2))
    h.run()
    h.report(fn="../Report/results/cancer.knn.cm.tex")
예제 #2
0
# https://www.codewars.com/kata/58acfe4ae0201e1708000075/train/python

from Test import Test


def invite_more_women(arr):
    return False if sum(arr) <= 0 else True


# best solution
def invite_more_women_best(arr):
    return sum(arr) > 0


# Nice Solurion
def invite_more_women_nice(arr):
    return arr.count(1) > arr.count(-1)


testing = Test()

testing.describe("Basic Tests")
testing.assert_equals(invite_more_women([1, -1, 1]), True)
testing.assert_equals(invite_more_women([-1, -1, -1]), False)
testing.assert_equals(invite_more_women([1, -1]), False)
testing.assert_equals(invite_more_women([1, 1, 1]), True)
testing.assert_equals(invite_more_women([]), False)

testing.report()
예제 #3
0

def warn_the_sheep(queue):
    if (queue[-1] == 'wolf'):
        return 'Pls go away and stop eating my sheep'
    else:
        return 'Oi! Sheep number {}! You are about to be eaten by a wolf!'.format(
            len(queue) - (queue.index('wolf') + 1))


test = Test()

test.assert_equals(
    warn_the_sheep([
        'sheep', 'sheep', 'sheep', 'sheep', 'sheep', 'wolf', 'sheep', 'sheep'
    ]), 'Oi! Sheep number 2! You are about to be eaten by a wolf!')
test.assert_equals(
    warn_the_sheep(
        ['sheep', 'wolf', 'sheep', 'sheep', 'sheep', 'sheep', 'sheep']),
    'Oi! Sheep number 5! You are about to be eaten by a wolf!')
test.assert_equals(
    warn_the_sheep(
        ['wolf', 'sheep', 'sheep', 'sheep', 'sheep', 'sheep', 'sheep']),
    'Oi! Sheep number 6! You are about to be eaten by a wolf!')
test.assert_equals(warn_the_sheep(['sheep', 'wolf', 'sheep']),
                   'Oi! Sheep number 1! You are about to be eaten by a wolf!')
test.assert_equals(warn_the_sheep(['sheep', 'sheep', 'wolf']),
                   'Pls go away and stop eating my sheep')

test.report()