如何使用skLearn构建基准模型来预测具有多个值的Y

我有一个如下所示的样本数据框。我希望使用X=df.filter(regex='x_')构建一个基准模型来预测y_combined

df = pd.DataFrame({    'x_1':[0.1,0.2,0.1,0],    'x_2':[0.5,0.1,0.3,0.4],    'x_3':[0.2,0.1,0.6,0.1],    'x_4':[0,0.5,0.2,0.3],    'y_1': [0, 1, 1, 0],    'y_2': [0, 0, 1, 0],    'y_3': [0, 1, 0, 1],    'y_combined': [np.array([0, 0, 0]), np.array([1, 0, 1]),                   np.array([1, 1, 0]), np.array([0, 0, 1])]})

enter image description here

我对构建基准模型还不太熟悉。为了获得y_predicted,我应该如何指定DummyClassifer()模型并使用strategy="constant"?或者应该使用其他策略吗?

例如,如果y_predicted = [1,1,1],那么我将通过获取y_combinedy_predicted之间的平均质心来查看预测模型的表现如何。


回答:

在你希望使用strategy='constant'设置的DummyClassifier来构建一个多标签分类问题的基准模型的前提下,我将回答你的问题,其中输出等于dfy_combined。在这种情况下,以下代码将有效:

from sklearn.dummy import DummyClassifierimport numpy as npimport pandas as pdX = pd.DataFrame({    'x_1': [0.1,0.2,0.1,0],    'x_2': [0.5,0.1,0.3,0.4],    'x_3': [0.2,0.1,0.6,0.1],    'x_4': [0,0.5,0.2,0.3]})y = np.array([[0, 0, 0], [1, 0, 1], [1, 1, 0], [0, 0, 1]])clf = DummyClassifier(strategy='constant', constant=np.array([1, 1, 1]))clf.fit(X, y)

请注意,当你使用strategy='constant'时,你还必须通过DummyClassifierconstant=...参数声明应该预测的常数值。你会发现基准模型现在将始终预测指定的常数值,无论输入如何:

y_pred = clf.predict(X)print(y_pred)# output[[1 1 1] [1 1 1] [1 1 1] [1 1 1]]

由于你还询问了其他策略,你基本上可以选择DummyClassifier文档中提到的任何策略。所有策略都有一个共同的行为,如用户指南中所述:

请注意,使用所有这些策略时,预测方法完全忽略输入数据!

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注