Как получить значение достоверности для мультиклассовых моделей классификации, чтобы получить 5 лучших прогнозов с наивысшей степенью достоверности - PullRequest
0 голосов
/ 02 августа 2020

Я работаю с текстовыми данными. Я использую word2ve c сгенерированные векторы (размер = 100) в качестве функций для прогнозирования проблемы классификации нескольких классов. Пример набора данных для справки (вектор длины 4 здесь только из-за ограничения размера)

     Disease                           Symptom  Vectors
    
    disease a, disease k         [ 0.2520773 ,  0.433798, 0.38915345, 0.5541569]
    
    disease x                    [0.12321666, 0.64195603, 0.434113, 0.8831223]
    
    disease y, disease b         [0.38915345, 0.5541569, 0.12321666, 0.64195603]
    
    disease c                    [0.38915345, 0.5541569, 0.322567, 0.112953]

Я построил модель классификатора дерева решений на моем наборе данных, которая предсказывает выходное заболевание с учетом массива векторов. Теперь я хочу получить 5 основных прогнозируемых заболеваний на основе оценки достоверности для каждого входного вектора, а не только 1 прогнозируемое заболевание. Я читал, что для деревьев решений использование показателя достоверности не является хорошим подходом, поэтому любые предложения о том, как получить 5 прогнозируемых классов с показателем достоверности, и какие модели классификации лучше всего подходят для моей постановки задачи. У меня есть данные для around 65000 rows такого симптома, сочетания болезней

Прикрепив ниже код для справки:

dataset = pd.read_csv('Desktop/training.csv')
X = dataset.iloc[:, 4:105]
y = dataset.iloc[:, 0]

from sklearn.cross_validation import train_test_split
from sklearn.tree import DecisionTreeClassifier
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 0)
classifier = DecisionTreeClassifier(criterion = 'entropy', random_state = 0)
classifier.fit(X_train, y_train)
y_pred = classifier.predict(X_test)
...