Попытка внедрить XGBoost в мою искусственную нейронную сеть - PullRequest
0 голосов
/ 27 февраля 2020

Я совершенно не знаю, почему я получаю эту ошибку. Я пытаюсь реализовать XGBoost, но он возвращает с ошибкой «ValueError: Для разреженных выходных данных все столбцы должны иметь число c или быть преобразованы в число c». Даже после того, как я One Hot Encoded мои категорические данные. Если кто-нибудь знает, что является причиной этого и возможного решения, я был бы очень признателен. Вот мой код, написанный на Python:

# Artificial Neural Networks - With XGBoost

# PRE PROCESS

# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Importing the dataset
dataset = pd.read_csv('Churn_Modelling.csv')
X = dataset.iloc[:, 3:13].values
y = dataset.iloc[:, 13].values

# Encoding Categorical Data
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer

ct = ColumnTransformer([('encoder', OneHotEncoder(), [1, 2])],
                     remainder = 'passthrough')
X = np.array(ct.fit_transform(X), dtype = np.float)


# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state = 0)

# Fitting XGBoost to the training set
from xgboost import XGBClassifier
classifier = XGBClassifier()
classifier.fit(x_train, y_train)

# Predicting the Test set Results
y_pred = classifier.predict(x_test)

# Making the Confusion Matrix
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)

# Applying k-Fold Cross Validation
from sklearn.model_selection import cross_val_score
accuracies = cross_val_score(estimator = classifier, X = X_train, y = y_train, cv = 10)
accuracies.mean()
accuracies.std()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...