#python #orange
Вопрос:
основной задачей кода является автоматизация прогнозирования модели Orange с использованием обновленных данных для обучения и обновленного ввода в модель. Код работает, но он не выдает тот же результат, что и визуальный интерфейс, мне интересно, не упускаю ли я что-то в тесте и результатах.
Ниже нерабочий код :
import pickle import pandas as pd import Orange import numpy as np from Orange.classification import NaiveBayesLearner data = Orange.data.Table("c:/Temp/1Model.tab") testFile = "c:/1M.csv" dataTest = Orange.data.Table(testFile) final_data = Orange.data.Table.from_table(data.domain,dataTest)// to apply domain and avoid mapping values learner = Orange.classification.NaiveBayesLearner() model = learner(final_data) with open("c:/Temp/1.pkcls", "wb") as f: pickle.dump(model , f) Predicted =[] with open("c:/ABT/1.pkcls", "rb") as f: loadCF = pickle.load(f) testFile = "c:/Temp/1Pred.csv" data = Orange.data.Table(testFile) pred_ind = loadCF(data) prob = loadCF(data, loadCF.Probs) for i in range(len(data)): id = int(data[i].list[0]) Issue = pred_ind[i] Proba = prob [i][0] if Issue==0 else prob [i][1] Home =data[i].list[20] Away =data[i].list[21] item ={ 'id' : id, 'Issue' :Issue, 'Vendor' :Home, 'Seller' :Away, 'Term' :data[i].list[1], 'Proba' : round(Proba*100,2) } Predicted.append(item) df =pd.DataFrame(Predicted) df.to_csv('c:/Temp/output.csv')
проблема здесь в том, что я не получаю одинаковое значение прогноза с моделью рассола, которая содержит тест и оценку с наивными байсами, я чувствую, что в моем коде отсутствует этот шаг