KeyError: "['class']" не найдено на оси - PullRequest
0 голосов
/ 04 июля 2019

Я нашел учебник по алгоритму дерева решений с использованием надстройки Pyxll для Excel и попытался выполнить.Я получаю ошибку: KeyError: "['class']" не найден на оси.

from pyxll import xl_func
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import pandas as pd
import os

@xl_func("float, int, int: object")
def ml_get_zoo_tree_2(train_size=0.75, max_depth=5, random_state=245245):
    # Load the zoo data
    dataset = pd.read_csv(os.path.join(os.path.dirname(__file__), "zoo.csv"))

    # Drop the animal names since this is not a good feature to split the data on
    dataset = dataset.drop("animal_name", axis=1)

    # Split the data into a training and a testing set
    features = dataset.drop("class", axis=1)
    targets = dataset["class"]

    train_features, test_features, train_targets, test_targets = \
        train_test_split(features, targets, train_size=train_size, random_state=random_state)

    # Train the model
    tree = DecisionTreeClassifier(criterion="entropy", max_depth=max_depth)
    tree = tree.fit(train_features, train_targets)

    # Add the feature names to the tree for use in predict function
    tree._feature_names = features.columns

    return tree

Если я удалил строки 17 и 18 для кода класса, то я получаю ошибку NameError: name 'features' isне определено, тогда, когда я удалил функцию, я получаю ошибку, так как цель должна быть определена.

1 Ответ

0 голосов
/ 10 июля 2019

Вам нужен правильный набор данных, чтобы идти с этим уроком. Вы можете скачать его (и код) здесь https://github.com/pyxll/pyxll-examples/tree/master/machine-learning.

...