ageron / ageron/handson-ml2

Chapter 6 Exercise 8 Grow a forest 'continuous-multioutput'

Aperta
#292 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Jupyter Notebook
Stelle
30k
Fork
13.1k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

# Context: Exercise 7

**a**

from sklearn.datasets import make_moons

X, y = make_moons(n_samples=10000, noise=0.4, random_state=42)

**b**

from sklearn.model_selection import train_test_split


x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

**c**

from sklearn.model_selection import GridSearchCV


from sklearn.tree import DecisionTreeClassifier


params={"max_leaf_nodes":list(range(0,100)), "min_samples_split":[2,3,4,5]}

tree_clf=DecisionTreeClassifier(random_state=42)


model = GridSearchCV(tree_clf, params, cv=3, verbose=1)
model.fit(x_train, y_train)

# Code Exercise 8

**a**

from sklearn.model_selection import ShuffleSplit


n_trees = 1000
n_instances = 100


mini_sets = []


rs = ShuffleSplit(n_splits=n_trees, test_size=len(x_train) - n_instances, random_state=42)


for mini_train_index, mini_test_index in rs.split(x_train):


x_mini_train = x_train[mini_train_index]


y_mini_train = x_train[mini_train_index]


mini_sets.append((x_mini_train, y_mini_train))

**b**

from sklearn.base import clone


forest = [clone(model.best_estimator_) for _ in range(n_trees)]


accuracy_scores = []


for tree, (x_mini_train, y_mini_train) in zip(forest, mini_sets):


tree.fit(x_mini_train, y_mini_train)


y_pred = tree.predict(x_test)


accuracy_scores.append(accuracy_score(y_test, y_pred))


np.mean(accuracy_scores)

## Obtained error
*----> 8 tree.fit(x_mini_train, y_mini_train)*
...
**ValueError:** Unknown label type: **'continuous-multioutput'**

## How to fixe it and why does it happen?

Thanks!

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.