解决python错误提示“non-default argument follows default argument”

     前些天发现了一个风趣幽默的人工智能学习网站,通俗易懂,忍不住分享一下给大家。点击跳转到教程  

    今天在训练模型的时候无意间遇到了一个错误,这个可能是自己之前没有多去了解过python的参数相关的知识,这个错误还是第一次遇到。所以查了一下资料,在网上找到几个可以参考的链接明白了怎么回事:

参考:
http://stackoverflow.com/questions/17893820/python-default-argument-syntax-error

http://stackoverflow.com/questions/16932825/why-non-default-arguments-cant-follows-default-argument

http://stackoverflow.com/questions/24719368/syntaxerror-non-default-argument-follows-default-argument

    终于明白了为什么报错:就是说我把含有默认值的参数放在了不含默认值的参数的前面,这样问题就好解决了,调换一下参数的位置就好了

    我原始的函数为:

    

def random_predict(model_file='model/svm_model.pkl', X_train, y_train, X_test, y_test)
    clf = joblib.load("model/svm_model.pkl")
    result = []
    for i in range(10):
        lin = random.randint(0, 150)
        prediction_train = clf.predict(X_train[lin])
        prediction_test = clf.predict(X_test[lin])
        print prediction_train
        print '----------------------------------------------------------------'
        print prediction_test
        for i in prediction_train:
            result.append(i)
        for j in prediction_test:
            result.append(j)
    print result

修改为:

 

 

def random_predict(X_train, y_train, X_test, y_test, model_file='model/svm_model.pkl'):
    model = joblib.load(model_file)
    clf = joblib.load("model/svm_model.pkl")
    result = []
    for i in range(10):
        lin = random.randint(0, 150)
        prediction_train = clf.predict(X_train[lin])
        prediction_test = clf.predict(X_test[lin])
        print prediction_train
        print '----------------------------------------------------------------'
        print prediction_test
        for i in prediction_train:
            result.append(i)
        for j in prediction_test:
            result.append(j)
    print result

这样修改之后就没有错误了


 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值