我应该如何将预测值传递给我的Scikit模型?

2024-04-27 00:12:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Scikit创建了一个Logistic回归模型,由于某些原因,我无法确定我不能传递一个新的向量来预测。你知道吗

我试图传递一个数据帧到predict函数,但是我得到了一个错误

    def generaModeloNevo(job_id):
        ''' Genera el modelo de un trabajo con base en los modelos existentes'''
        trabajoAModelar = session.query(Job).filter(Job.id == job_id).one()
        otroTrabajos = session.query(Job).filter(Job.id != job_id).first()
        modelo = LogisticRegression()
        modelo.coef_ = np.array([otroTrabajos.coeficientes])
        modelo.intercept_ = np.array(otroTrabajos.intercept)
        modelo.classes_ = [False, True]
        vectorCaracteristico = pd.DataFrame([getCharacteristicVector(1, trabajoAModelar.id, trabajoAModelar.id)])
        print(vectorCaracteristico)
        res = modelo.predict(vectorCaracteristico)
        print(res)

    Traceback (most recent call last):
      File "/Users/diego/tesis/tetsdb.py", line 402, in <module>
        generaModeloNevo(39)
      File "/Users/diego/tesis/tetsdb.py", line 386, in generaModeloNevo
        res = modelo.predict(vectorCaracteristico)
      File "/Users/diego/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/base.py", line 329, in predict
        return self.classes_[indices]
    TypeError: only integer scalar arrays can be converted to a scalar index

Tags: pyidlinejobresuserspredictfile