Застрял в перекрестной проверке при выполнении анализа данных. Как исправить "__init __ () получил неожиданный аргумент ключевого слова 'n_folds'" - PullRequest
0 голосов
/ 04 июня 2019

Я делаю анализ данных по прогнозированию для злокачественной и доброкачественной опухоли, в то время как при перекрестной проверке я получаю сообщение об ошибке "неожиданный аргумент ключевого слова 'n_folds'.

То, что я уже пробовал, показано нижев моем коде.


def model(model,data,prediction,outcome):
      kf=KFold(data.shape[0],n_folds=10)

def classification_model(model,data,prediction_input,output):
      model.fit(data[prediction_input],data[output])
      #Make predictions on training set:
      predictions = model.predict(data[prediction_input])
      #Print accuracy
      # now checking accuracy for same data
      accuracy = metrics.accuracy_score(predictions,data[output])
      print("Accuracy : %s" % "{0:.3%}".format(accuracy))
      kf = KFold(data.shape[0],n_folds=5)
      error = []
      for train, test in kf:
          train_X = (data[prediction_input].iloc[train,:])
          train_y = data[output].iloc[train]
          model.fit(train_X, train_y)

          test_X=data[prediction_input].iloc[test,:]
          test_y=data[output].iloc[test]
          error.append(model.score(test_X,test_y))
          # printing the score 
          print("Cross-Validation Score : %s" % {0:.3%}".format(np.mean(error)))

Я ожидал, что выходные данные получат точность, которую я получаю, но я получаю ошибку при печати результатов перекрестной проверки.

1 Ответ

0 голосов
/ 30 июня 2019

Привет, я не уверен в этом. но попробуйте:

def classification_model(model,data,prediction_input,output):
      model.fit(data[prediction_input],data[output])
      predictions = model.predict(data[prediction_input])
      accuracy = metrics.accuracy_score(predictions,data[output])
      print("Accuracy : %s" % "{0:.3%}".format(accuracy))
      kf = KFold(n_splits=5)
      error = []
      for train, test in  kf.split(data):
          train_X = (data[prediction_input].iloc[train,:])
          train_y = data[output].iloc[train]
          model.fit(train_X, train_y)
          test_X=data[prediction_input].iloc[test,:]
          test_y=data[output].iloc[test]
          error.append(model.score(test_X,test_y))
      print('Cross_Validation Score : %s' % '{0:.3%}'.format(np.mean(error)))
classification_model(model, df, predictor_var, outcome_var)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...