如何解决此 ValueError:仅接受 2 个非关键字参数 sklearn python

don*_*eto 3 python-3.x scikit-learn valueerror

你好,我是 python 中的 sklearn 新手,我正在尝试学习它并使用此模块根据两个功能预测一些数字,这是我得到的错误:

ValueError: 只接受 2 个非关键字参数

这是我的代码:

    from sklearn.linear_model import LinearRegression
    import numpy as np

    trainingData = np.array([[861, 16012018], [860, 12012018], [859, 9012018], [858, 5012018], [857, 2012018], [856, 29122017], [855, 26122017], [854, 22122017], [853, 19122017]])
    trainingScores = np.array([11,18,23,33,34,6],[10,19,21,33,34,1], [14,18,22,23,31,6],[16,22,29,31,33,10],[21,24,27,30,31,6],[1,14,15,20,27,7],[1,9,10,11,15,8],[2,9,27,31,35,1],[7,13,18,22,33,2])

    clf = LinearRegression(fit_intercept=True)
    clf.fit(trainingScores,trainingData)

   predictionData = np.array([862, 19012018 ])
   x=clf.predict(predictionData)
   print(x)
Run Code Online (Sandbox Code Playgroud)

Viv*_*mar 6

我不确定您要在这里做什么,但请更改此行:

trainingScores = np.array([11,18,23,33,34,6],[10,19,21,33,34,1], [14,18,22,23,31,6],[16,22,29,31,33,10],[21,24,27,30,31,6],[1,14,15,20,27,7],[1,9,10,11,15,8],[2,9,27,31,35,1],[7,13,18,22,33,2])
Run Code Online (Sandbox Code Playgroud)

对此(注意数据周围的额外方括号):

trainingScores = np.array([[11,18,23,33,34,6],[10,19,21,33,34,1], [14,18,22,23,31,6],[16,22,29,31,33,10],[21,24,27,30,31,6],[1,14,15,20,27,7],[1,9,10,11,15,8],[2,9,27,31,35,1],[7,13,18,22,33,2]])
Run Code Online (Sandbox Code Playgroud)

然后像这样更改 fit() 中参数的顺序:

clf.fit(trainingData,trainingScores)
Run Code Online (Sandbox Code Playgroud)

最后像这样更改预测数据(再次查看额外的方括号):

predictionData = np.array([[862, 19012018]])
Run Code Online (Sandbox Code Playgroud)

之后,您的代码将运行。