微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:如何为 numpy.int64 打印带有多个参数的 for 循环?

如何解决Python:如何为 numpy.int64 打印带有多个参数的 for 循环?

我想打印被标记错误分类中的样本。

我从 Sklearn SVM - how to get a list of the wrong predictions?

找到了这个代码
for idx,input,prediction,label in zip(enumerate(X_test),X_test,predicted,y_test):
    print("No.",idx[0],'input,',has been classified as','and should be',label) 

我收到这个 TypeError: 'numpy.int64' object is not iterable

我的数据由文件夹中的文本数据(电子邮件)组成,这些数据由 TFIDF 转换为 int,大约有 250 个文件错误分类,我想列出这些文件以便更深入地了解这些文件分类错误

请帮助我找到列出这些错误分类方法

数据由 4000 多封电子邮件组成,如下所示:

电子邮件[X_test]: MESSAGEID 14149441075861143483javamailevansthyme日星期四从staylorsdecom 2001年12月13日051749 0800 pst文件来teblokeyenroncom主题飞行mimeversion 10的contentType textplain charsetusascii contenttransferencoding 7位xfrom泰勒沙staylorsdecom XTO teblokeyenroncom XCC xbcc x文件夹teblokeymar2002lokey tebinBox xorigin lokeyt xfilename tlokey nonprivilegedpst香港专业教育学院做关于大陆一个临时预订离开周四十二月20 点 550 点在克利夫兰停留,没有变化,1033 点到达休斯顿 12 月 30 日星期日上午 1050 点返回头等舱,在克利夫兰更改并于下午 503 点到达曼彻斯特如何预订与我一起飞回来,你可以随时取消和每当它让我欢呼时回来,只是为了知道你甚至认为这需要休息,我可以使用公司我知道你喜欢债务朋友和她你和格蕾丝的同上让我知道你的想法喜欢桑迪

使用 TfidfVectorizer() 和 todense() 转换后,电子邮件看起来像这样。

X_test[示例]: [[0. 0. 0.03120722 ... 0. 0. 0. ]]

值代表 tf-idf 计数。

X_test 的类型: (4519,115674)

4519:X_test 内的电子邮件数量

115674:特征数量(唯一词)

电子邮件标记为网络钓鱼 (1) 或合法 (0)。

#Fit motel to data
model = LogisticRegression()
model.fit(X_train,y_train)

# make predictions
expected = y_test
predicted = model.predict(X_test)
proba = model.predict_proba(X_test)

# scores
accuracy = accuracy_score(expected,predicted)
recall = recall_score(expected,average="binary")
precision = precision_score(expected,average="binary")
f1 = f1_score(expected,average="binary")

# Confustion matrix
cm = metrics.confusion_matrix(expected,predicted)
print(cm)

这是我想从 X_test 中列出错误分类的时候。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。