Pushp123 commited on
Commit
c19442c
·
verified ·
1 Parent(s): b90b885

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +63 -0
app.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import pandas as pd
3
+ from sklearn.model_selection import train_test_split
4
+ from sklearn.ensemble import RandomForestClassifier
5
+ from sklearn.metrics import accuracy_score
6
+
7
+ df=pd.read_csv("/content/WineQT.csv")
8
+
9
+ x=df.drop(["Id","quality"],axis=1)
10
+ y = df["quality"]
11
+
12
+ df["quality"].unique()
13
+
14
+ x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0)
15
+
16
+ model=RandomForestClassifier()
17
+
18
+ model.fit(x_test,y_test)
19
+
20
+ model.fit(x_train,y_train)
21
+
22
+ x_predict=model.predict(x_train)
23
+ x_accuracy=accuracy_score(x_predict,y_train)
24
+
25
+ y_predict=model.predict(x_test)
26
+ y_accuracy=accuracy_score(y_predict,y_test)
27
+
28
+ import gradio as gr
29
+
30
+ # Assuming you've already trained the RandomForest model
31
+ model = RandomForestClassifier()
32
+
33
+ # Fit the model with your training data (re-run if needed)
34
+ model.fit(x_train, y_train)
35
+
36
+ # Function to make predictions
37
+ def predict_wine_quality(fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides, free_sulfur_dioxide, total_sulfur_dioxide, density, pH, sulphates, alcohol):
38
+ input_data = np.array([[fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides, free_sulfur_dioxide, total_sulfur_dioxide, density, pH, sulphates, alcohol]])
39
+ prediction = model.predict(input_data)
40
+
41
+ return f"Predicted Wine Quality: {prediction[0]}"
42
+
43
+ # Create the Gradio interface
44
+ iface = gr.Interface(
45
+ fn=predict_wine_quality, # Function that makes predictions
46
+ inputs=[
47
+ gr.Slider(minimum=0.0, maximum=15.0, step=0.1, label="Fixed Acidity"),
48
+ gr.Slider(minimum=0.0, maximum=2.0, step=0.1, label="Volatile Acidity"),
49
+ gr.Slider(minimum=0.0, maximum=1.0, step=0.1, label="Citric Acid"),
50
+ gr.Slider(minimum=0.0, maximum=20.0, step=0.1, label="Residual Sugar"),
51
+ gr.Slider(minimum=0.0, maximum=0.2, step=0.01, label="Chlorides"),
52
+ gr.Slider(minimum=0.0, maximum=100.0, step=1, label="Free Sulfur Dioxide"),
53
+ gr.Slider(minimum=0.0, maximum=300.0, step=1, label="Total Sulfur Dioxide"),
54
+ gr.Slider(minimum=0.990, maximum=1.100, step=0.001, label="Density"),
55
+ gr.Slider(minimum=2.5, maximum=4.0, step=0.1, label="pH"),
56
+ gr.Slider(minimum=0.3, maximum=2.0, step=0.1, label="Sulphates"),
57
+ gr.Slider(minimum=8.0, maximum=15.0, step=0.1, label="Alcohol")
58
+ ], # Input fields for the features of the wine
59
+ outputs="text" # Output the predicted wine quality as text
60
+ )
61
+
62
+ # Launch the Gradio UI
63
+ iface.launch()