Я пытаюсь вычислить вероятность прогноза. Я написал программу, которая рассчитывает, но скорость очень медленная и занимает много времени для большого набора данных.
Цель состоит в том, чтобы рассчитать каждую вероятность предсказания в модели SVM, используя LinearSVC
и OneVsRestClassifier
, но получая ошибку
AttributeError: 'LinearSVC' object has no attribute 'predict_proba'
Из-за вышеуказанной ошибки, я попробовал ниже
Код
from sklearn import svm
model_1 = svm.SVC(kernel='linear', probability=True)
from sklearn.preprocessing import LabelEncoder
X_1 = df["Property Address"]
lb = LabelEncoder()
X_2 = lb.fit_transform(X_1)
y_1 = df["Location_Name"]
y_2 = lb.fit_transform(y_1)
test_1 = test["Property Address"]
lb = LabelEncoder()
test_1 = lb.fit_transform(test_1)
X_2= X_2.reshape(-1, 1)
y_2= y_2.reshape(-1, 1)
test_1 = test_1.reshape(-1, 1)
model_1.fit(X_2, y_2)
results = model_1.predict_proba(test_1)[0]
# gets a dictionary of {'class_name': probability}
prob_per_class_dictionary = dict(zip(model.classes_, results))
Есть ли другой способ решения той же задачи? пожалуйста, предложите