为什么具有多个元素的python数组的真值不明确?

问题描述

我有两个问题。首先,我想绘制预测的生存函数代码如下:

from sksurv.preprocessing import OneHotEncoder
from sksurv.datasets import load_veterans_lung_cancer
from sksurv.linear_model import CoxPHSurvivalAnalysis
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt


data_x,data_y = load_veterans_lung_cancer()
data_y


data_x_numeric = OneHotEncoder().fit_transform(data_x)



estimator = CoxPHSurvivalAnalysis()
estimator.fit(data_x_numeric,data_y)


x_new = pd.DataFrame.from_dict({
    1: [65,1,60,1],2: [65,0],3: [65,4: [65,1]},columns=data_x_numeric.columns,orient='index')

pred_surv = estimator.predict_survival_function(x_new)

当我想绘制结果时:


time_points = np.arange(1,1000)
for i,surv_func in enumerate(pred_surv):
    plt.step(time_points,surv_func(time_points),where="post",label="Sample %d" % (i + 1))
plt.ylabel("est. probability of survival $\hat{S}(t)$")
plt.xlabel("time $t$")
plt.legend(loc="best")

我收到以下错误

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我该如何解决这个问题?

第二个问题是,如何将对象 pred_surv 的结果传输到数据帧?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)