如何解决为什么具有多个元素的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 举报,一经查实,本站将立刻删除。