#python
#python
Вопрос:
Я пытаюсь создать соответствие баллов с помощью pymatch. К сожалению, я получаю следующую ошибку
Fitting Models on Balanced Samples: 1200Error: Unable to coerce to Series, length must be 1: given 1898
Вот мой код
from sklearn.datasets.samples_generator import make_blobs
from pymatch.Matcher import Matcher
import pandas as pd
import numpy as np
X, y = make_blobs(n_samples=5000, centers=2, n_features=2, cluster_std=3.5)
df = pd.DataFrame(dict(x=X[:,0], y=X[:,1], label=y))
df['population'] = np.random.choice([1, 0], size=len(df), p=[0.8, 0.2])
control = df[df.label == 1]
test = df[df.label == 0]
m = Matcher(test, control, yvar="population", exclude=['label'])
m.fit_scores(balance=True, nmodels=200)
если я выполню этот код, я получу ошибку. Я совершенно уверен, что мне удавалось запускать это раньше, но после изменения некоторых версий это больше не работает. К сожалению, я не смог это исправить, вернувшись к предыдущим версиям, поэтому не уверен, что здесь происходит…
Ответ №1:
Понижение рейтинга pandas у меня не сработало, но я нашел, в чем проблема.
Это ошибка в методе _scores_to_accuracy() из Matcher.py . Я загрузил исходный файл, отредактировал функцию на своем локальном компьютере, и теперь она работает нормально.
Ответ №2:
Пожалуйста, понизьте рейтинг своих pandas до версии 0.23.4.
Используйте код:
pip install pandas==0.23.4