鱼C论坛

 找回密码
 立即注册
查看: 1830|回复: 4

python3.6.5版本,有个错误不知道怎么改

[复制链接]
发表于 2021-5-21 22:30:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from data import get_train_test_split
from model import *
from sklearn.metrics import accuracy_score,confusion_matrix,recall_score, f1_score
from sklearn.model_selection import cross_val_score

pipeline = get_naive_bayes_model()
X_train, X_test, y_train, y_test = get_train_test_split()
pipeline.fit(X_train, y_train)
cv_scores = cross_val_score(pipeline, X_train, y_train, cv=5)
print cv_scores       这个地方报错
predicted = pipeline.predict(X_test) # ['spam', 'ham']
print confusion_matrix(y_test, predicted)
print 'accuracy_score', accuracy_score(y_test, predicted)
print 'f1_score', f1_score(y_test, predicted)
print 'recall_score', recall_score(y_test, predicted)       #输出confusion matrix,并加入cross_validation, 以全面检测模型性能


倒数第六行出错,但我改不出正确的,求助。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-21 22:39:32 | 显示全部楼层
你这代码都是 python2 的语法
试试这样
from data import get_train_test_split
from model import *
from sklearn.metrics import accuracy_score,confusion_matrix,recall_score, f1_score
from sklearn.model_selection import cross_val_score

pipeline = get_naive_bayes_model()
X_train, X_test, y_train, y_test = get_train_test_split()
pipeline.fit(X_train, y_train)
cv_scores = cross_val_score(pipeline, X_train, y_train, cv=5)
print(cv_scores)       # 这个地方报错
predicted = pipeline.predict(X_test) # ['spam', 'ham']
print(confusion_matrix(y_test, predicted))
print('accuracy_score', accuracy_score(y_test, predicted))
print('f1_score', f1_score(y_test, predicted))
print('recall_score', recall_score(y_test, predicted))      #输出confusion matrix,并加入cross_validation, 以全面检测模型性能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-21 23:09:21 | 显示全部楼层
hrp 发表于 2021-5-21 22:39
你这代码都是 python2 的语法
试试这样

倒是不报错了,但是他说
get_train_test_split
有问题,cannot import name 'get_train_test_split'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-21 23:19:19 | 显示全部楼层
本帖最后由 hrp 于 2021-5-22 10:08 编辑
AC1966 发表于 2021-5-21 23:09
倒是不报错了,但是他说
有问题,cannot import name 'get_train_test_split'


可能是自定义模块,并且那个模块也是python2语法,在python3中是有语法错误的,无法导入。
你打开它,像我上面改的一样把print xxx改成 print(xxx)试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-21 23:27:35 | 显示全部楼层
你也可以看一下这个官方工具 2to3
将python2代码自动转换为python3代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 17:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表