Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions Machine Learning/DecisionTree.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
from sklearn.tree import DecisionTreeClassifier
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
import pandas as pd

# Load the Mushroom dataset
df = pd.read_csv('Mushroom.csv')

# Preprocessing data
le = LabelEncoder()
columns = ['class', 'cap-shape', 'cap-surface', 'cap-color',
'does-bruise-or-bleed', 'gill-attachment', 'gill-color',
'stem-color', 'has-ring', 'ring-type',
'habitat', 'season']
for column in columns:
encoded_values = le.fit_transform(df[column])
df[column] = encoded_values

# Split the data into training/testing sets
X = df.drop('class', axis=1)
y = df['class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

# Create Decision Tree model
classifier = DecisionTreeClassifier()

#Train the model
classifier.fit(X_train, y_train)

#Predict for the test set
y_pred = classifier.predict(X_test)

#Print the classification report
target_name = ["Edible", "Possinus"]
print(classification_report(y_test, y_pred, target_names = target_name))
98 changes: 98 additions & 0 deletions Machine Learning/FoodTruck.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
city_population,food_truck_profit
6.1101,17.592
5.5277,9.1302
8.5186,13.662
7.0032,11.854000000000001
5.8598,6.8233
8.3829,11.886
7.4764,4.3483
8.5781,12.0
6.4862,6.5987
5.0546,3.8166
5.7107,3.2522
14.164000000000001,15.505
5.734,3.1551
8.4084,7.2258
5.6407,0.71618
5.3794,3.5129
6.3654,5.3048
5.1301,0.56077
6.4296,3.6518
7.0708,5.3893
6.1891,3.1386
20.27,21.767
5.4901,4.263
6.3261,5.1875
5.5649,3.0825
18.945,22.638
12.828,13.501
10.957,7.0467
13.175999999999998,14.692
22.203000000000003,24.147
5.2524,-1.22
6.5894,5.9966
9.2482,12.134
5.8918,1.8495
8.2111,6.5426
7.9334,4.5623
8.0959,4.1164
5.6063,3.3928
12.835999999999999,10.117
6.3534,5.4974
5.4069,0.55657
6.8825,3.9115
11.708,5.3854
5.7737,2.4406
7.8247,6.7318
7.0931,1.0463
5.0702,5.1337
5.8014,1.844
11.7,8.0043
5.5416,1.0179
7.5402,6.7504
5.3077,1.8396
7.4239,4.2885
7.6031,4.9981
6.3328,1.4233
6.3589,-1.4211
6.2742,2.4756
5.6397,4.6042
9.3102,3.9624
9.4536,5.4141
8.8254,5.1694
5.1793,-0.74279
21.279,17.929000000000002
14.908,12.054
18.959,17.054000000000002
7.2182,4.8852
8.2951,5.7442
10.236,7.7754
5.4994,1.0173
20.340999999999998,20.991999999999997
10.136000000000001,6.6799
7.3345,4.0259
6.0062,1.2784
7.2259,3.3411
5.0269,-2.6807
6.5479,0.29678000000000004
7.5386,3.8845
5.0365,5.7014
10.274000000000001,6.7526
5.1077,2.0576
5.7292,0.47953
5.1884,0.20421
6.3557,0.67861
9.7687,7.5435
6.5159,5.3436
8.5172,4.2415
9.1802,6.7981
6.002000000000001,0.92695
5.5204,0.152
5.0594,2.8214
5.7077,1.8451
7.6366,4.2959
5.8707,7.2029
5.3054,1.9869
8.2934,0.14454
13.394,9.0551
5.4369,0.61705
36 changes: 36 additions & 0 deletions Machine Learning/KNN.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from sklearn.metrics import classification_report

# Load the Mushroom dataset
df = pd.read_csv('Mushroom.csv')

# Preprocessing data
le = LabelEncoder()
columns = ['class', 'cap-shape', 'cap-surface', 'cap-color',
'does-bruise-or-bleed', 'gill-attachment', 'gill-color',
'stem-color', 'has-ring', 'ring-type',
'habitat', 'season']
for column in columns:
encoded_values = le.fit_transform(df[column])
df[column] = encoded_values

# Split the data into training/testing sets
X = df.drop('class', axis=1)
y = df['class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

#Create KNN model
classifier = KNeighborsClassifier()

#Train the model
classifier.fit(X_train, y_train)

#Predict for test set
y_pred = classifier.predict(X_test)

#Print the classification report
target_name = ["Edible", "Possinus"]
print(classification_report(y_test, y_pred, target_names= target_name))
22 changes: 22 additions & 0 deletions Machine Learning/LogisticRegression.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from sklearn.datasets import load_iris
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report

# Load the iris dataset
iris_data, iris_target = load_iris(return_X_y=True)

# Split the data into training/testing sets
X_train, X_test, y_train, y_test = train_test_split(iris_data, iris_target, test_size = 0.25)

#Load the Logistic Regression model
log_reg = LogisticRegression()

#Train the model
log_reg.fit(X_train, y_train)

#Predict for the test set
y_pred = log_reg.predict(X_test)

#Print the classification report
print(classification_report(y_test, y_pred))
Loading