如何将包含字符串列表的 numpy 数组转换为包含零和一列表的数组?
How can I convert a numpy array containing a list of strings into an array containing a list of zeros and ones?
现在我有这个 numpy 数组,其中包含对电子邮件是 'spam' 还是 'ham' 的预测.所以基本上是垃圾邮件预测模型的结果。我想与包含所用测试集 类 的数组进行比较。当我对它们使用 MultinominalNB.score()
方法时,我得到一个错误,因为它是为了比较浮点值而不是字符串。
那么如何根据列表条目是 'spam' 还是 'ham'[ 将这两个数组更改为浮点值=19=]?更妙的是,是否有另一种更好的方法来定量衡量模型的质量?
假设你已经获得了y_true
和y_predicted
然后使用这个:
import numpy as np
y_test = np.array(['ham', 'spam', 'ham', 'spam', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'spam','ham', 'ham', 'spam'], dtype=object)
y_predicted = np.array(['ham', 'spam', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'spam','ham', 'ham', 'spam'], dtype=object)
y_test[y_test == 'ham']=0
y_test[y_test == 'spam']=1
y_predicted[y_predicted == 'ham']=0
y_predicted[y_predicted == 'spam']=1
结果:
print(y_test=
#array([0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1], dtype=object)
print(y_predicted)
#array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1], dtype=object)
现在我有这个 numpy 数组,其中包含对电子邮件是 'spam' 还是 'ham' 的预测.所以基本上是垃圾邮件预测模型的结果。我想与包含所用测试集 类 的数组进行比较。当我对它们使用 MultinominalNB.score()
方法时,我得到一个错误,因为它是为了比较浮点值而不是字符串。
那么如何根据列表条目是 'spam' 还是 'ham'[ 将这两个数组更改为浮点值=19=]?更妙的是,是否有另一种更好的方法来定量衡量模型的质量?
假设你已经获得了y_true
和y_predicted
然后使用这个:
import numpy as np
y_test = np.array(['ham', 'spam', 'ham', 'spam', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'spam','ham', 'ham', 'spam'], dtype=object)
y_predicted = np.array(['ham', 'spam', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham', 'ham',
'ham', 'ham', 'ham', 'spam','ham', 'ham', 'spam'], dtype=object)
y_test[y_test == 'ham']=0
y_test[y_test == 'spam']=1
y_predicted[y_predicted == 'ham']=0
y_predicted[y_predicted == 'spam']=1
结果:
print(y_test=
#array([0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1], dtype=object)
print(y_predicted)
#array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1], dtype=object)