我有一个数据集users。每个用户都有性别和颜色属性(最喜欢的颜色)等等。我将每种颜色和喜欢这种颜色的一种性别的用户总数划分到一个列表中:
features_train = [['indigo', 2341], ['yellow', 856], ['lavender', 690], ['yellowgreen', 1208], ['indigo', 565], ['yellow', 103], ['lavender', 571], ['yellowgreen', 234] ...]在第二个列表中,对于第一个列表中的每个元素,我说哪个性别代表这个元素:
labels_train = [0, 0, 0, 0, 1, 1, 1, 1, ...]现在我有了第三个带有颜色的列表:features_test = ['yellow', 'red', ...],我需要预测一个性别。
我必须使用sklearn中的naive_bayes.GaussianNB函数,并且我将拥有更多的users属性,但为了解释我的问题,我只使用了颜色和性别。所以,我找到了一个官方的例子,但我不明白我应该如何重新格式化我的数据集来使用它们。我应该将我的颜色转换为某种数字表示形式,比如:[[0, 2341], [1, 856]],或者我应该使用sklearn中的其他函数来实现这一点?
import numpy as np
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(features_train, labels_train)
print(clf.predict(features_test))https://stackoverflow.com/questions/44366146
复制相似问题