ageron / ageron/handson-ml2

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

Open
#292 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Jupyter Notebook
Stars
30k
Forks
13.1k
PR merge metrics
No merged PRs in 30d

Description

# 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!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.