XGBoost Теннеси Истман процесс.Ошибка: неправильная форма ввода (980, 2) - PullRequest
0 голосов
/ 20 января 2019

У меня есть сомнения относительно XGBoost в процессе Теннеси Истманна. Я сделал предварительную обработку данных, и когда я подхожу к модели, она показывает некоторые ошибки. «неправильная форма ввода (980, 2)» а также, если я изменяю целевые значения и подгоняю модель, проблем нет, но теперь она показывает другую ошибку. «Метрики классификации не могут обрабатывать сочетание непрерывных и двоичных целей» кто-нибудь знаком с процессом Теннеси Истмана?

мой код:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import StandardScaler
from xgboost import XGBClassifier, plot_tree
from sklearn.metrics import accuracy_score


Training_data = pd.read_excel ('X_train.xlsx')
Testing_data = pd.read_excel ('X_test.xlsx')
X_train, y_train = Training_data.iloc[:,:-1].values , Training_data.iloc[:,-1].values
X_test, y_test = Testing_data.iloc[:,:-1] , Testing_data.iloc[:,-1]

#from sklearn.preprocessing import OneHotEncoder
#enc = OneHotEncoder(categorical_features=[0]
#y_train_new = enc.fit_transform(y_train).toarray()

y_enc_train = pd.get_dummies(y_train)
y_enc_test = pd.get_dummies(y_test)


scaler = StandardScaler()
#training set
scaler.fit(X_train)
scaled_features_X_train = scaler.transform(X_train)
df_feat = pd.DataFrame(scaled_features_X_train)

#testing set
scaler.fit(X_test)
scaled_features_X_test = scaler.transform(X_test)
df_feat_test = pd.DataFrame(scaled_features_X_test)

#xgb model
classifier = XGBClassifier()
classifier.fit(df_feat,y_enc_train)
# make predictions for test data
y_pred = classifier.predict(df_feat_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_enc_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

ошибка: ValueError: bad input shape (980, 2)

...