解决‘function‘ object has no attribute ‘data‘

Table of contents

Error 1

original code

Modified code

key

Error 2 

Solution 2.1

Solution 2.2


Error 1

AttributeError: 'function' object has no attribute 'data'

function object has no data attribute

original code

from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np

cancer = load_breast_cancer
X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, stratify=cancer.target, random_state = 42)
tree = DecisionTreeClassifier(random_state=0)

tree.fit(X_train, y_train)
print("Accuracy on traning set:{:.3f}".format(tree.score(X_train, y_train)))
print("Accuracy on test set:{:.3f}".format(tree.score(X_test, y_test)))
print("tree max depth:{}".format(tree. tree_max_depth))

Modified code

from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as np

cancer = datasets.load_breast_cancer()
X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, stratify=cancer.target, random_state = 42)
tree = DecisionTreeClassifier(random_state=0)

tree.fit(X_train, y_train)
print("Accuracy on traning set:{:.3f}".format(tree.score(X_train, y_train)))
print("Accuracy on test set:{:.3f}".format(tree.score(X_test, y_test)))
print("tree max depth:{}".format(tree. tree_.max_depth))

 

key

from sklearn import datasets

cancer = datasets.load_breast_cancer()

Error 2 

from sklearn import datasets 
iris=datasets.load_iris
X = iris.data



AttributeError: 'function' object has no attribute 'data

I load iris dataset from sklearn ,but when i write "X = iris.data",an error occur as "AttributeError: 'function' object has no attribute 'data'"

Solution 2.1

load_iris is a function and needs to be called as such:

from sklearn import datasets 
iris=datasets.load_iris()
X = iris.data

Solution 2.2

Use load_iris() instead of load_iris, like this,

iris = datasets.load_iris()

 

Guess you like

Origin blog.csdn.net/m0_57656758/article/details/130302184
Recommended