Sagar8229/data-preprocessing-ml
0
1import numpy as np
2import pandas as pd
3import gradio as gr
4
5from sklearn.impute import SimpleImputer
6from sklearn.compose import ColumnTransformer
7from sklearn.preprocessing import OneHotEncoder, StandardScaler, LabelEncoder
8
9def preprocess():
10
11 # Load dataset
12 dataset = pd.read_csv("dataset.csv")
13
14 output = "Original Dataset:\n"
15 output += dataset.to_string()
16 output += "\n\n"
17
18 # Features and Target
19 X = dataset.iloc[:,1:-1].values
20 y = dataset.iloc[:,-1].values
21
22 # Handle missing data
23 imputer = SimpleImputer(missing_values=np.nan, strategy="mean")
24 X[:,0:2] = imputer.fit_transform(X[:,0:2])
25
26 # Encode categorical data
27 ct = ColumnTransformer(
28 transformers=[("encoder", OneHotEncoder(), [2])],
29 remainder="passthrough"
30 )
31
32 X = ct.fit_transform(X)
33
34 # Encode target variable
35 le = LabelEncoder()
36 y = le.fit_transform(y)
37
38 # Feature scaling
39 scaler = StandardScaler()
40 X = scaler.fit_transform(X)
41
42 output += "Features after scaling:\n"
43 output += str(X)
44 output += "\n\nTarget:\n"
45 output += str(y)
46 output += "\n\nPreprocessing Complete!"
47
48 return output
49
50
51demo = gr.Interface(
52 fn=preprocess,
53 inputs=None,
54 outputs="text",
55 title="Data Preprocessing ML App",
56 description="Basic Machine Learning Data Preprocessing (Missing Values, Encoding, Scaling)"
57)
58
59demo.launch()