传递值的形状为(2,49),索引暗含(2,137210)

时间:2018-10-23 15:28:12

标签: python lift indices

我正在尝试使用以下定义的函数绘制升力曲线:

  def plotLiftChart(actual, predicted):
df_dict = {'actual': X, 'pred': Y}
df = pd.DataFrame(df_dict)
pred_ranks = pd.qcut(df['pred'].rank(method='first'), 100, labels=False)
actual_ranks = pd.qcut(df['actual'].rank(method='first'), 100, labels=False)
pred_percentiles = df.groupby(pred_ranks).mean()
actual_percentiles = df.groupby(actual_ranks).mean()
plt.title('Lift Chart')
plt.plot(np.arange(.01, 1.01, .01), np.array(pred_percentiles['pred']),
         color='darkorange', lw=2, label='Prediction')
plt.plot(np.arange(.01, 1.01, .01), np.array(pred_percentiles['actual']),
         color='navy', lw=2, linestyle='--', label='Actual')
plt.ylabel('Target Percentile')
plt.xlabel('Population Percentile')
plt.xlim([0.0, 1.0])
plt.ylim([-0.05, 1.05])
plt.legend(loc="best")

然后,我尝试为训练集的目标值调用该函数:Y_test和预测概率:Pred。两者具有相同的形状:(137210,)

plotLiftChart(Y_test, pred)

当我尝试执行此操作时,出现以下错误:传递的值的形状为(2,49),索引表示(2,137210)。有人知道如何解决吗?

0 个答案:

没有答案