python3.6.5版本,有个错误不知道怎么改
from data import get_train_test_splitfrom 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, 以全面检测模型性能
倒数第六行出错,但我改不出正确的,求助。 你这代码都是 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, 以全面检测模型性能
hrp 发表于 2021-5-21 22:39
你这代码都是 python2 的语法
试试这样
倒是不报错了,但是他说get_train_test_split
有问题,cannot import name 'get_train_test_split' 本帖最后由 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)试试 你也可以看一下这个官方工具 2to3
将python2代码自动转换为python3代码
页:
[1]