Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 85e9dc8

Browse files
committed
Implemented Random Forest Regression Model and updated the Readme file
1 parent fce115b commit 85e9dc8

File tree

6 files changed

+190
-1
lines changed

6 files changed

+190
-1
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Position,Level,Salary
2+
Business Analyst,1,45000
3+
Junior Consultant,2,50000
4+
Senior Consultant,3,60000
5+
Manager,4,80000
6+
Country Manager,5,110000
7+
Region Manager,6,150000
8+
Partner,7,200000
9+
Senior Partner,8,300000
10+
C-level,9,500000
11+
CEO,10,1000000
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Random Forest Regression
2+
3+
# Importing the dataset
4+
dataset = read.csv('Position_Salaries.csv')
5+
dataset = dataset[2:3]
6+
7+
# Splitting the dataset into the Training set and Test set
8+
# # install.packages('caTools')
9+
# library(caTools)
10+
# set.seed(123)
11+
# split = sample.split(dataset$Salary, SplitRatio = 2/3)
12+
# training_set = subset(dataset, split == TRUE)
13+
# test_set = subset(dataset, split == FALSE)
14+
15+
# Feature Scaling
16+
# training_set = scale(training_set)
17+
# test_set = scale(test_set)
18+
19+
# Fitting Random Forest Regression to the dataset
20+
# install.packages('randomForest')
21+
library(randomForest)
22+
set.seed(1234)
23+
regressor = randomForest(x = dataset[-2],
24+
y = dataset$Salary,
25+
ntree = 500)
26+
27+
# Predicting a new result with Random Forest Regression
28+
y_pred = predict(regressor, data.frame(Level = 6.5))
29+
30+
# Visualising the Random Forest Regression results (higher resolution)
31+
# install.packages('ggplot2')
32+
library(ggplot2)
33+
x_grid = seq(min(dataset$Level), max(dataset$Level), 0.01)
34+
ggplot() +
35+
geom_point(aes(x = dataset$Level, y = dataset$Salary),
36+
colour = 'red') +
37+
geom_line(aes(x = x_grid, y = predict(regressor, newdata = data.frame(Level = x_grid))),
38+
colour = 'blue') +
39+
ggtitle('Truth or Bluff (Random Forest Regression)') +
40+
xlab('Level') +
41+
ylab('Salary')
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Random Forest Regression
2+
3+
# Importing the libraries
4+
import numpy as np
5+
import matplotlib.pyplot as plt
6+
import pandas as pd
7+
8+
# Importing the dataset
9+
dataset = pd.read_csv('Position_Salaries.csv')
10+
X = dataset.iloc[:, 1:2].values
11+
y = dataset.iloc[:, 2].values
12+
13+
# Splitting the dataset into the Training set and Test set
14+
"""from sklearn.cross_validation import train_test_split
15+
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)"""
16+
17+
# Feature Scaling
18+
"""from sklearn.preprocessing import StandardScaler
19+
sc_X = StandardScaler()
20+
X_train = sc_X.fit_transform(X_train)
21+
X_test = sc_X.transform(X_test)
22+
sc_y = StandardScaler()
23+
y_train = sc_y.fit_transform(y_train)"""
24+
25+
# Fitting Random Forest Regression to the dataset
26+
from sklearn.ensemble import RandomForestRegressor
27+
regressor = RandomForestRegressor(n_estimators = 100)
28+
regressor.fit(X, y)
29+
30+
# Predicting a new result
31+
y_pred = regressor.predict(6.5)
32+
33+
# Visualising the Random Forest Regression results (higher resolution)
34+
X_grid = np.arange(min(X), max(X), 0.01)
35+
X_grid = X_grid.reshape((len(X_grid), 1))
36+
plt.scatter(X, y, color = 'red')
37+
plt.plot(X_grid, regressor.predict(X_grid), color = 'blue')
38+
plt.title('Truth or Bluff (Random Forest Regression)')
39+
plt.xlabel('Position level')
40+
plt.ylabel('Salary')
41+
plt.show()
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Regression Template
2+
3+
# Importing the dataset
4+
dataset = read.csv('Position_Salaries.csv')
5+
dataset = dataset[2:3]
6+
7+
# Splitting the dataset into the Training set and Test set
8+
# # install.packages('caTools')
9+
# library(caTools)
10+
# set.seed(123)
11+
# split = sample.split(dataset$Salary, SplitRatio = 2/3)
12+
# training_set = subset(dataset, split == TRUE)
13+
# test_set = subset(dataset, split == FALSE)
14+
15+
# Feature Scaling
16+
# training_set = scale(training_set)
17+
# test_set = scale(test_set)
18+
19+
# Fitting the Regression Model to the dataset
20+
# Create your regressor here
21+
22+
# Predicting a new result
23+
y_pred = predict(regressor, data.frame(Level = 6.5))
24+
25+
# Visualising the Regression Model results
26+
# install.packages('ggplot2')
27+
library(ggplot2)
28+
ggplot() +
29+
geom_point(aes(x = dataset$Level, y = dataset$Salary),
30+
colour = 'red') +
31+
geom_line(aes(x = dataset$Level, y = predict(regressor, newdata = dataset)),
32+
colour = 'blue') +
33+
ggtitle('Truth or Bluff (Regression Model)') +
34+
xlab('Level') +
35+
ylab('Salary')
36+
37+
# Visualising the Regression Model results (for higher resolution and smoother curve)
38+
# install.packages('ggplot2')
39+
library(ggplot2)
40+
x_grid = seq(min(dataset$Level), max(dataset$Level), 0.1)
41+
ggplot() +
42+
geom_point(aes(x = dataset$Level, y = dataset$Salary),
43+
colour = 'red') +
44+
geom_line(aes(x = x_grid, y = predict(regressor, newdata = data.frame(Level = x_grid))),
45+
colour = 'blue') +
46+
ggtitle('Truth or Bluff (Regression Model)') +
47+
xlab('Level') +
48+
ylab('Salary')
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Regression Template
2+
3+
# Importing the libraries
4+
import numpy as np
5+
import matplotlib.pyplot as plt
6+
import pandas as pd
7+
8+
# Importing the dataset
9+
dataset = pd.read_csv('Position_Salaries.csv')
10+
X = dataset.iloc[:, 1:2].values
11+
y = dataset.iloc[:, 2].values
12+
13+
# Splitting the dataset into the Training set and Test set
14+
"""from sklearn.cross_validation import train_test_split
15+
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)"""
16+
17+
# Feature Scaling
18+
"""from sklearn.preprocessing import StandardScaler
19+
sc_X = StandardScaler()
20+
X_train = sc_X.fit_transform(X_train)
21+
X_test = sc_X.transform(X_test)
22+
sc_y = StandardScaler()
23+
y_train = sc_y.fit_transform(y_train)"""
24+
25+
# Fitting the Regression Model to the dataset
26+
# Create your regressor here
27+
28+
# Predicting a new result
29+
y_pred = regressor.predict(6.5)
30+
31+
# Visualising the Regression results
32+
plt.scatter(X, y, color = 'red')
33+
plt.plot(X, regressor.predict(X), color = 'blue')
34+
plt.title('Truth or Bluff (Regression Model)')
35+
plt.xlabel('Position level')
36+
plt.ylabel('Salary')
37+
plt.show()
38+
39+
# Visualising the Regression results (for higher resolution and smoother curve)
40+
X_grid = np.arange(min(X), max(X), 0.1)
41+
X_grid = X_grid.reshape((len(X_grid), 1))
42+
plt.scatter(X, y, color = 'red')
43+
plt.plot(X_grid, regressor.predict(X_grid), color = 'blue')
44+
plt.title('Truth or Bluff (Regression Model)')
45+
plt.xlabel('Position level')
46+
plt.ylabel('Salary')
47+
plt.show()

‎README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
* Polynomial Linear Regression
1515
* Support Vector Regression (SVR)
1616
* Decision Tree Regression
17+
*Random Forest Regression
1718

18-
Recommendation for ML Enthusiasts: [Machine Learning A-ZTM: Hands-On Python & R In Data Science](https://www.udemy.com/machinelearning/)
19+
*Recommendation for ML Enthusiasts: [Machine Learning A-ZTM: Hands-On Python & R In Data Science](https://www.udemy.com/machinelearning/)
1920

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /