def main():

    #Simple argument consistency check
    #Exit if arguments not specified
    if len(sys.argv) != 3:
        print("usage: python3 nblearn.py TRAININGFILE MODELFILE")
        sys.exit(0)

    #Create an instance of Naive Bayes class in training mode
    naive_bayes = NB('TRAIN')
    #Fit the data with the training file
    naive_bayes.fit(sys.argv[1])
    #Train the classifier
    naive_bayes.train()
    #Output a model file to the file specified
    naive_bayes.generate_model(sys.argv[2])
Пример #2
0
zr = ZeroR()
zr.train(t, rows)
print("\ndiabetes")
zr.dump()

# NB

print("\n\n#--- Nbok ---------------------")
tbl = Tbl("weathernon.csv")
rows = []
for lst in tbl.fromString(False, "file"):
    rows.append(lst)
c = Col()
tbl.cols = c.colNum(tbl.rows)
nb = NB(tbl, 3)
nb.train(tbl, rows)
print("\nweathernon")
nb.dump()

print()
tbl = Tbl("diabetes.csv")
rows = []
for lst in tbl.fromString(False, "file"):
    rows.append(lst)
c = Col()

tbl.cols = c.colNum(tbl.rows)
nb = NB(tbl, 19)
nb.train(tbl, rows)
print("\ndiabetes")
nb.dump()
Пример #3
0
    print('\n所有平均交叉结果:\n', round(sum(loss01)/len(loss01), 3))

if Global_V.SCHEME.upper() == 'KDB':
    pass
if Global_V.SCHEME.upper() == 'AODE':
    pass
if Global_V.SCHEME.upper() == 'NB':

    result = []
    fold_count = 0
    for CrossTest_count in range(0, data_len, data_len // 10):  # 交叉验证
        p_c_fold = []
        loss01_fold = 0
        NB_data = NB(data_initial, 0.9, CrossTest_count)
        NB_data.train()
        p_c_fold, result_fold = NB_data.classify()
        result.append(result_fold)
        # print('\n第', fold_count, '次交叉结果:\n')
        print('\n第', fold_count, '次交叉')
        loss01_fold = estimate_Output(NB_data.testData, p_c_fold, result_fold, 1)
        loss01.append(loss01_fold)
        fold_count += 1
        # 每个分类的过程,必须保存:1. 每一个testdata里的instance分类到每个Ci的概率p_y    2. 分类结果:result
        # output(result, TAN_car.testData,1)    # output 函数的输入为:
        # output的输出,应该要有:1.每个testdata分到每个类的概率  2.分类结果result  3.testData,(以及参数1,2,3;不同的参数,输出不同)
        # compare the prediction results with the real results
        if Global_V.PRINTPAR == 3:
            print('testset:\n', NB_data.testData, '\n')
            print('p_ci= \n', p_c_fold, '\n', 'result:\n', result)
            print('the first element is the result of prediction, second is real result!\n')