KAARIN commited on
Commit
c5d6160
·
verified ·
1 Parent(s): ee91bf4

Upload 3 files

Browse files
Files changed (3) hide show
  1. app.py +103 -0
  2. cars.xls +0 -0
  3. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # coding: utf-8
3
+
4
+ # In[1]:
5
+
6
+
7
+ import pandas as pd
8
+ from sklearn.model_selection import train_test_split
9
+ from sklearn.linear_model import LinearRegression
10
+ from sklearn.metrics import r2_score,mean_squared_error
11
+ from sklearn.preprocessing import OneHotEncoder,StandardScaler
12
+ from sklearn.pipeline import Pipeline
13
+ from sklearn.compose import ColumnTransformer
14
+
15
+
16
+ # In[2]:
17
+
18
+
19
+ df=pd.read_excel('cars.xls')
20
+
21
+
22
+ # In[3]:
23
+
24
+
25
+ df.head()
26
+
27
+
28
+ # In[4]:
29
+
30
+
31
+ X=df.drop('Price',axis=1)
32
+ y=df['Price']
33
+
34
+
35
+ # In[5]:
36
+
37
+
38
+ X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=.2,random_state=42)
39
+
40
+
41
+ # In[6]:
42
+
43
+
44
+ preprocessor=ColumnTransformer(transformers=[('num',StandardScaler(),['Mileage','Cylinder','Liter','Doors']),
45
+ ('cat',OneHotEncoder(),['Make','Model','Trim','Type'])]
46
+ )
47
+
48
+
49
+ # In[7]:
50
+
51
+
52
+ my_model=LinearRegression()
53
+ pipe=Pipeline(steps=[('preprocessor',preprocessor),('model',my_model)])
54
+ pipe.fit(X_train,y_train)
55
+ y_pred=pipe.predict(X_test)
56
+ print('RMSE :', mean_squared_error(y_test,y_pred)**.5)
57
+ print('R2 :', r2_score(y_test,y_pred))
58
+
59
+
60
+ # In[8]:
61
+
62
+
63
+ import streamlit as st
64
+
65
+ def price(make,model,trim,mileage,car_type,cylinder,liter,doors,cruise,sound,leather):
66
+ input_data=pd.DataFrame({'Make':[make],
67
+ 'Model':[model],
68
+ 'Trim':[trim],
69
+ 'Mileage':[mileage],
70
+ 'Type':[car_type],
71
+ 'Cylinder':[cylinder],
72
+ 'Liter':[liter],
73
+ 'Doors':[doors],
74
+ 'Cruise':[cruise],
75
+ 'Sound':[sound],
76
+ 'Leather':[leather]
77
+ })
78
+ prediction=pipe.predict(input_data)[0]
79
+ return prediction
80
+ st.title("Predict Car Prices @KenanAvşar")
81
+ st.write("Enter Car Details to predict the price of the car")
82
+ make=st.selectbox("Marka",df['Make'].unique())
83
+ model=st.selectbox("Model",df[df['Make']==make]['Model'].unique())
84
+ trim=st.selectbox("Versiyon",df[(df['Make']==make)&(df['Model']==model)]['Trim'].unique())
85
+ mileage=st.number_input("Kilometre",100,df['Mileage'].max())
86
+ car_type=st.selectbox("Araç Tipi",df[(df['Make']==make)&(df['Model']==model)&(df['Trim']==trim)]['Type'].unique())
87
+ cylinder=st.selectbox("Silindir",df[(df['Make']==make)&(df['Model']==model)&(df['Trim']==trim)]['Cylinder'].unique())
88
+ liter=st.selectbox("Depo Hacmi",df[(df['Make']==make)&(df['Model']==model)&(df['Trim']==trim)]['Liter'].unique())
89
+ doors=st.selectbox("Kapı Sayısı",df[(df['Make']==make)&(df['Model']==model)&(df['Trim']==trim)]['Doors'].unique())
90
+ cruise=st.radio("Hız Sabitleyici",[True,False])
91
+ sound=st.radio("Ses Sistemi",[True,False])
92
+ leather=st.radio("Deri Döşeme",[True,False])
93
+
94
+ if st.button('Tahmin Et'):
95
+ pred=price(make,model,trim,mileage,car_type,cylinder,liter,doors,cruise,sound,leather)
96
+ st.write('Fiyat:$',round(pred[0],2))
97
+
98
+
99
+ # In[ ]:
100
+
101
+
102
+
103
+
cars.xls ADDED
Binary file (142 kB). View file
 
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ streamlit==1.31.1
2
+ scikit-learn==1.4.1.post1
3
+ pandas==2.1.0
4
+ xlrd == 2.0.1