Project

Random Forest Classification

import pandas as pd
import numpy as np
import seaborn as sns

Loading the data set:

df=sns.load_dataset("penguins")
df.head()

df.shape

df.info()

df.isnull().sum()

Drop Null Values:

df.dropna(inplace=True)

df.isnull().sum()

Feature Engineering:

One hot encoding transforming categorical data into numeric

df.sex.unique()

pd.get_dummies(df['sex']).head()

sex=pd.get_dummies(df['sex'],drop_first=True)
sex.head()

Applying one-hot encoding to island:

df.island.unique()

pd.get_dummies(df['island']).head()

island=pd.get_dummies(df['island'],drop_first=True)
island.head()

Concatenate the above two data frames to the original df:

new_data=pd.concat([df,island,sex],axis=1)

new_data.head()

Drop Repeated columns:

new_data.drop(['sex','island'],axis=1,inplace=True);

new_data.head()

Creating separate target variables:

Y= new_data.species
Y.head()

Y.unique()

Y=Y.map({'Adelie':0, 'Chinstrap':1, 'Gentoo':2}) # Using map function to convert categorial values into numeric
Y.head()

Dropping the Target variables: Species:

new_data.drop('species',inplace=True,axis=1)

new_data.head()

X=new_data

Splitting the data into training and test data:

from sklearn.model_selection import train_test_split
X_train, X_test, Y_test,Y_train = train_test_split(X,Y,test_size=0.3,random_state=0)

print('X_train',X_train.shape)
print('X_test',X_test.shape)
print('Y_train',Y_train.shape)
print('Y_test',Y_test.shape)

Training Random Forest classification on the training set:

from sklearn.ensemble import RandomForestClassifier
classifier = RandomForestClassifier(n_estimators=4,criterion='gini',random_state=0)
classifier.fit(X_train,Y_test)

Predicting the test results:

y_pred=classifier.predict(X_test)
y_pred

Confusion matrix:

from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report,accuracy_score

cm=confusion_matrix(Y_train,y_pred)
print(cm)

accuracy_score(Y_train,y_pred)

print(classification_report(Y_train,y_pred))

Try different number of trees and entropy criteria:

from sklearn.ensemble import RandomForestClassifier
classifier = RandomForestClassifier(n_estimators=4,criterion='entropy',random_state=0)
classifier.fit(X_train,Y_test)

y_pred=classifier.predict(X_test)

accuracy_score(Y_train,y_pred)

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.