Skip to content

Instantly share code, notes, and snippets.

@datapolitan
Forked from glamp/rf_iris.py
Last active March 7, 2023 03:23
Show Gist options
  • Save datapolitan/65f9ff2739f7ea340b77 to your computer and use it in GitHub Desktop.
Save datapolitan/65f9ff2739f7ea340b77 to your computer and use it in GitHub Desktop.
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
import numpy as np
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['is_train'] = np.random.uniform(0, 1, len(df)) <= .75
df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names) #change from pd.Factor(), which has been deprecated
df.head()
train, test = df[df['is_train']==True], df[df['is_train']==False]
features = df.columns[:4]
clf = RandomForestClassifier(n_jobs=2)
y, _ = pd.factorize(train['species'])
clf.fit(train[features], y)
preds = iris.target_names[clf.predict(test[features])]
pd.crosstab(test['species'], preds, rownames=['actual'], colnames=['preds'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment