我想训练一个程序,根据它们包含的数字值给出各种标签 - 用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)
答案 0 :(得分:0)
您需要训练两个分类器并将它们适合您的数据两次。假设您的数据是(您可以使用Pandas
将您的dicts转换为数据框):
| "temp" | "airpressure" | "airmoisture"| "target1" | "target2" |
|:------:|:-------------:|:------------:|:---------:|:---------:|
| 30 | 104 | 70 | 'sticky' | 'hot' |
| 2 | 100 | 40 | 'wet' | 'cold' |
| . | . | . | . | . |
| . | . | . | . | . |
| . | . | . | . | . |
首先,您将第一个分类器(clf1)与所有样本(我们称之为X)和目标的第一列target1
拟合(让我们称之为y1)
clf1.fit(X,y1)
然后是目标target2
(或y2)的X和第二列上的第二个分类器(clf2)。
clf2.fit(X,y2)