Advertisement
MiaShuki

Успешност на криотерапија

Jan 24th, 2021
1,132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.42 KB | None | 0 0
  1. Успешност на криотерапија Problem 2 (1 / 8)
  2. Дадено ни е податочно множество за третмани со криотерапија. Сите атрибути кои ги содржи се од непрекинат тип и може да се претпостави дека имаат непрекината распределба. Ваша задача е да истренирате наивен баесов класификатор кој ќе предвидува дали терапијата е успешна или не (1 и 0) користејќи првите 85% од даденото податочно множество. Треба да ја пресметате точноста која ја добивате над останатите 15% од податочното множество и потоа да направите предвидувања на записи кои ги примате на влез.
  3.  
  4. Во почетниот код имате дадено податочно множество. На влез се прима еден запис за кој треба да се направи предвидување на класата. На излез треба да се испечати точноста на моделот, класата на предвидување како и веројатностите за припадност во класите.
  5.  
  6. import math
  7. from sklearn.naive_bayes import GaussianNB
  8.  
  9. if __name__ == '__main__':
  10.  
  11.     dataset = [['1', '35', '12', '5', '1', '100', '0'], ['1', '29', '7', '5', '1', '96', '1'],
  12.                ['1', '50', '8', '1', '3', '132', '0'], ['1', '32', '11.75', '7', '3', '750', '0'],
  13.                ['1', '67', '9.25', '1', '1', '42', '0'], ['1', '41', '8', '2', '2', '20', '1'],
  14.                ['1', '36', '11', '2', '1', '8', '0'], ['1', '59', '3.5', '3', '3', '20', '0'],
  15.                ['1', '20', '4.5', '12', '1', '6', '1'], ['2', '34', '11.25', '3', '3', '150', '0'],
  16.                ['2', '21', '10.75', '5', '1', '35', '0'], ['2', '15', '6', '2', '1', '30', '1'],
  17.                ['2', '15', '2', '3', '1', '4', '1'], ['2', '15', '3.75', '2', '3', '70', '1'],
  18.                ['2', '17', '11', '2', '1', '10', '0'], ['2', '17', '5.25', '3', '1', '63', '1'],
  19.                ['2', '23', '11.75', '12', '3', '72', '0'], ['2', '27', '8.75', '2', '1', '6', '0'],
  20.                ['2', '15', '4.25', '1', '1', '6', '1'], ['2', '18', '5.75', '1', '1', '80', '1'],
  21.                ['1', '22', '5.5', '2', '1', '70', '1'], ['2', '16', '8.5', '1', '2', '60', '1'],
  22.                ['1', '28', '4.75', '3', '1', '100', '1'], ['2', '40', '9.75', '1', '2', '80', '0'],
  23.                ['1', '30', '2.5', '2', '1', '115', '1'], ['2', '34', '12', '3', '3', '95', '0'],
  24.                ['1', '20', '0.5', '2', '1', '75', '1'], ['2', '35', '12', '5', '3', '100', '0'],
  25.                ['2', '24', '9.5', '3', '3', '20', '0'], ['2', '19', '8.75', '6', '1', '160', '1'],
  26.                ['1', '35', '9.25', '9', '1', '100', '1'], ['1', '29', '7.25', '6', '1', '96', '1'],
  27.                ['1', '50', '8.75', '11', '3', '132', '0'], ['2', '32', '12', '4', '3', '750', '0'],
  28.                ['2', '67', '12', '12', '3', '42', '0'], ['2', '41', '10.5', '2', '2', '20', '1'],
  29.                ['2', '36', '11', '6', '1', '8', '0'], ['1', '63', '2.75', '3', '3', '20', '0'],
  30.                ['1', '20', '5', '3', '1', '6', '1'], ['1', '34', '12', '1', '3', '150', '0'],
  31.                ['2', '21', '10.5', '5', '1', '35', '0'], ['2', '15', '8', '12', '1', '30', '1'],
  32.                ['1', '15', '3.5', '2', '1', '4', '1'], ['2', '15', '1.5', '12', '3', '70', '1'],
  33.                ['1', '17', '11.5', '2', '1', '10', '0'], ['1', '17', '5.25', '4', '1', '63', '1'],
  34.                ['2', '23', '9.5', '5', '3', '72', '0'], ['1', '27', '10', '5', '1', '6', '0'],
  35.                ['1', '15', '4', '7', '1', '6', '1'], ['2', '18', '4.5', '8', '1', '80', '1'],
  36.                ['2', '22', '5', '9', '1', '70', '1'], ['1', '16', '10.25', '3', '2', '60', '1'],
  37.                ['2', '28', '4', '11', '1', '100', '1'], ['2', '40', '8.75', '6', '2', '80', '0'],
  38.                ['2', '30', '0.5', '8', '3', '115', '1'], ['1', '34', '10.75', '1', '3', '95', '0'],
  39.                ['1', '20', '3.75', '11', '1', '75', '1'], ['2', '35', '8.5', '6', '3', '100', '0'],
  40.                ['1', '24', '9.5', '8', '1', '20', '1'], ['2', '19', '8', '9', '1', '160', '1'],
  41.                ['1', '35', '7.25', '2', '1', '100', '1'], ['1', '29', '11.75', '5', '1', '96', '0'],
  42.                ['2', '50', '9.5', '4', '3', '132', '0'], ['2', '32', '12', '12', '3', '750', '0'],
  43.                ['1', '67', '10', '7', '1', '42', '0'], ['2', '41', '7.75', '5', '2', '20', '1'],
  44.                ['2', '36', '10.5', '4', '1', '8', '0'], ['1', '67', '3.75', '11', '3', '20', '0'],
  45.                ['1', '15', '10.5', '11', '1', '30', '1'], ['1', '15', '2', '11', '1', '4', '1'],
  46.                ['2', '15', '2', '10', '3', '70', '1'], ['1', '17', '9.25', '12', '1', '10', '0'],
  47.                ['1', '17', '5.75', '10', '1', '63', '1'], ['1', '23', '10.25', '7', '3', '72', '0'],
  48.                ['1', '27', '10.5', '7', '1', '6', '0'], ['1', '15', '5.5', '5', '1', '6', '1'],
  49.                ['1', '18', '4', '1', '1', '80', '1'], ['2', '22', '4.5', '2', '1', '70', '1'],
  50.                ['1', '16', '11', '3', '2', '60', '1'], ['2', '28', '5', '9', '1', '100', '1'],
  51.                ['1', '40', '11.5', '9', '2', '80', '0'], ['1', '30', '0.25', '10', '1', '115', '1'],
  52.                ['2', '34', '12', '3', '3', '95', '0'], ['2', '20', '3.5', '6', '1', '75', '1'],
  53.                ['2', '35', '8.25', '8', '3', '100', '0'], ['1', '24', '10.75', '10', '1', '20', '1'],
  54.                ['1', '19', '8', '8', '1', '160', '1']]
  55.  
  56.     dataset = [[float(dataset[i][j]) for j in range(0, len(dataset[i]))] for i in range(0, len(dataset))]
  57.  
  58.     train_set = dataset[0:math.ceil(0.85 * len(dataset))]
  59.     test_set = dataset[math.ceil(0.85 * len(dataset)):]
  60.  
  61.     X = [train_set[i][:-1] for i in range(0, len(train_set))]
  62.     Y = [train_set[i][-1] for i in range(0, len(train_set))]
  63.  
  64.     clf = GaussianNB()
  65.     clf.fit(X, Y)
  66.  
  67.     accuracy = 0
  68.  
  69.     for row in test_set:
  70.         prediction = clf.predict([row[:-1]])
  71.         if prediction[0] == row[-1]:
  72.             accuracy += 1
  73.  
  74.     print(accuracy / len(test_set))
  75.  
  76.     entry = [float(element) for element in input().split(' ')]
  77.     print(int(clf.predict([entry])))
  78.     print(clf.predict_proba([entry]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement