使用pythonsicikit处理一个分类问题,它是一个具有6个特征和2个目标的医学诊断数据。用一个目标进行了实验,用KNN算法训练了一个模型,该模型的预测精度为100%。在
现在想把这个扩展到第二个目标,想预测同一个特征集(6列)的两个y值的结果。在
下面是我的代码,我可以准确地预测目标1的结果(“结果1-膀胱”)。我怎样才能预测第二个目标的结果(肾性肾炎)。在
X = Feature_set
y = Target1['Outcome1-Urinary-bladder'].values
from sklearn.neighbors import KNeighborsClassifier
from sklearn import metrics
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X,y)
y_predictor = knn.predict(X)
print metrics.accuracy_score(y,y_predictor)
Click here to view the dataset
为了预测2个目标值(“结果1-膀胱”和“结果2肾性肾炎”)的结果,需要对代码进行哪些修改?在
请帮帮我。提前谢谢。在
通常,您只需将分类器包装到一个vs rest分类器包装器中:
http://scikit-learn.org/stable/modules/generated/sklearn.multiclass.OneVsRestClassifier.html#sklearn.multiclass.OneVsRestClassifier
用矩阵y来填充它,它将同时有两列。在
用法示例:
正如@yangjie所指出的,对于您的特定分类器,不需要包装它,它已经支持多输出分类。在
相关问题 更多 >
编程相关推荐