| ''' |
| author : Rupesh Garsondiya |
| github : @Rupeshgarsondiya |
| Organization : L.J University |
| ''' |
|
|
|
|
|
|
|
|
|
|
| import pandas as pd |
| import streamlit as st |
| import numpy as np |
| from src.features.build_features import * |
| from sklearn.model_selection import train_test_split |
| from sklearn.linear_model import LogisticRegression |
| from sklearn.ensemble import RandomForestClassifier |
| from sklearn.tree import DecisionTreeClassifier |
| from sklearn.neighbors import KNeighborsClassifier |
| from sklearn.svm import SVC |
| from sklearn.metrics import accuracy_score |
|
|
|
|
|
|
| class Model_Train: |
| def __init__(self) -> None: |
| pass |
|
|
| '''load_data() fuction use for to get the clean data or feature transformed data ''' |
| def load_data(self): |
| pass |
| |
|
|
| def train_model(self): |
| st.markdown( |
| """ |
| <style> |
| body { |
| background-color: lightblue; |
| } |
| </style> |
| """, |
| unsafe_allow_html=True |
| ) |
| fe = FeatureEngineering() |
| x_train,x_test,y_train,y_test,pipeline = fe.get_clean_data() |
| |
| |
| |
| options = ['Logistic Regreesion', 'Random Forest Classifier', 'Decision Tree', 'SVM','KNeighborsClassifier'] |
| |
| with st.container(): |
| st.markdown('<div class="dropdown-left">', unsafe_allow_html=True) |
| selected_option = st.sidebar.selectbox('Select Algoritham :', options) |
| st.markdown('</div>', unsafe_allow_html=True) |
|
|
| S_algo = object |
| if selected_option== 'Logistic Regreesion': |
| S_algo = LogisticRegression() |
| S_algo.fit(x_train,y_train) |
| ypred = S_algo.predict(x_test) |
| elif selected_option=='Random Forest Classifier': |
| S_algo = RandomForestClassifier(n_estimators=200,n_jobs=-1,verbose=True,max_depth=2) |
| S_algo.fit(x_train,y_train) |
| ypred1 = S_algo.predict(x_test) |
| elif selected_option=='Decision Tree': |
| S_algo = DecisionTreeClassifier(max_depth=4,max_leaf_nodes=5,min_samples_split=50) |
| S_algo.fit(x_train,y_train) |
| ypred2 = S_algo.predict(x_test) |
| elif selected_option =='SVM': |
| S_algo = SVC() |
| S_algo.fit(x_train,y_train) |
| ypred3 = S_algo.predict(x_test) |
| elif selected_option=='KNeighborsClassifier': |
| S_algo = KNeighborsClassifier() |
| S_algo.fit(x_train,y_train) |
| ypred4 = S_algo.predict(x_test) |
| else: |
| pass |
|
|
| return S_algo,pipeline |
|
|