双值和scikit多类分类



我想训练一个程序,根据它们包含的数值给字典不同的标签-使用scikit。我的问题是,我似乎只知道如何分类文本(句子)或数字变量(而不是包含多个数字的变量)。

下面是我要做的:

# available classes:
# hot, cold, wet, sticky
first_sample = {}
first_sample["temp"] = 30
first_sample["airpressure"] = 104
first_sample["airmoisture"] = 70
second_sample = {}
second_sample["temp"] = 2
second_sample["airpressure"] = 100
second_sample["airmoisture"] = 40
# do this manually X times
train(first_sample, ['sticky', 'hot'])
train(second_sample, ['wet', 'cold'])
train(...)
# then do it on a bunch of data by programme
classify(bunch_of_data)

您需要训练两个分类器并使它们两次适合您的数据。假设您的数据是(您可以使用Pandas将您的字典转换为数据帧):

| "temp" | "airpressure" | "airmoisture"| "target1" | "target2" | 
|:------:|:-------------:|:------------:|:---------:|:---------:|
|   30   |      104      |      70      |  'sticky' |   'hot'   |
|   2    |      100      |      40      |    'wet'  |   'cold'  |
|   .    |       .       |       .      |      .    |     .     |
|   .    |       .       |       .      |      .    |     .     |
|   .    |       .       |       .      |      .    |     .     |

首先,将第一个分类器(clf1)拟合到所有样本(设为X)和目标target1的第一列(设为y1)

clf1.fit(X,y1)

然后是X上的第二个分类器(clf2)和目标target2(或y2)的第二列。

clf2.fit(X,y2)

相关内容

  • 没有找到相关文章

最新更新