RecepOnur commited on
Commit
fa955ae
·
verified ·
1 Parent(s): b38b37c

Upload 3 files

Browse files
Files changed (3) hide show
  1. app.py +135 -0
  2. cars.xls +0 -0
  3. requirements.txt +0 -0
app.py ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ # coding: utf-8
3
+
4
+ # # Car Price Prediction
5
+
6
+ # In[1]:
7
+
8
+
9
+ import pandas as pd
10
+ from sklearn.model_selection import train_test_split
11
+ from sklearn.linear_model import LinearRegression
12
+ from sklearn.metrics import r2_score, mean_squared_error
13
+ from sklearn.compose import ColumnTransformer
14
+ from sklearn.preprocessing import OneHotEncoder, StandardScaler
15
+ from sklearn.pipeline import Pipeline
16
+
17
+
18
+ # In[4]:
19
+
20
+
21
+ #pip install xlrd==2.0.1
22
+
23
+
24
+ # In[5]:
25
+
26
+
27
+ df = pd.read_excel("cars.xls")
28
+ df.head()
29
+
30
+
31
+ # In[6]:
32
+
33
+
34
+ df.info()
35
+
36
+
37
+ # In[7]:
38
+
39
+
40
+ # Veri Ön İşleme
41
+ X = df.drop("Price", axis=1)
42
+ y = df["Price"]
43
+
44
+
45
+ # In[8]:
46
+
47
+
48
+ X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=42)
49
+
50
+
51
+ # In[9]:
52
+
53
+
54
+ preprocess = ColumnTransformer(
55
+ transformers = [
56
+ ("num",StandardScaler(),["Mileage","Cylinder","Liter","Doors"]),
57
+ ("cat",OneHotEncoder(),["Make","Model","Trim","Type"])
58
+ ])
59
+
60
+
61
+ # In[10]:
62
+
63
+
64
+ my_model = LinearRegression()
65
+
66
+
67
+ # In[11]:
68
+
69
+
70
+ # Pipeline tanımla
71
+ pipe = Pipeline(steps=[("preprocessor",preprocess),("model",my_model)])
72
+
73
+
74
+ # In[12]:
75
+
76
+
77
+ pipe.fit(X_train,y_train)
78
+
79
+
80
+ # In[13]:
81
+
82
+
83
+ y_pred = pipe.predict(X_test)
84
+ print("RMSE", mean_squared_error(y_test,y_pred)**0.50)
85
+ print("R2", r2_score(y_test,y_pred))
86
+
87
+
88
+ # In[15]:
89
+
90
+
91
+ #pip install streamlit
92
+
93
+
94
+ # In[16]:
95
+
96
+
97
+ import streamlit as st
98
+ def price(make,model,trim,mileage,car_type,cylinder,liter,doors,cruise,sound,leather):
99
+ input_data=pd.DataFrame({'Make':[make],
100
+ 'Model':[model],
101
+ 'Trim':[trim],
102
+ 'Mileage':[mileage],
103
+ 'Type':[car_type],
104
+ 'Cylinder':[cylinder],
105
+ 'Liter':[liter],
106
+ 'Doors':[doors],
107
+ 'Cruise':[cruise],
108
+ 'Sound':[sound],
109
+ 'Leather':[leather]})
110
+ prediction=pipe.predict(input_data)[0]
111
+ return prediction
112
+
113
+ st.title("2. El araba Fiyat Tahmin @ROO")
114
+ st.write("Arabanın özelliklerini seçiniz")
115
+ make = st.selectbox("Marka",df["Make"].unique())
116
+ model=st.selectbox('Model',df[df['Make']==make]['Model'].unique())
117
+ trim=st.selectbox('Trim',df[(df['Make']==make) &(df['Model']==model)]['Trim'].unique())
118
+ mileage=st.number_input('Kilometre',100,200000)
119
+ car_type=st.selectbox('Araç Tipi',df[(df['Make']==make) &(df['Model']==model)&(df['Trim']==trim)]['Type'].unique())
120
+ cylinder=st.selectbox('Silindir',df['Cylinder'].unique())
121
+ liter=st.number_input('Motor Hacmi',1,10)
122
+ doors=st.selectbox('Kapı sayısı',df['Doors'].unique())
123
+ cruise=st.radio('Hız Sbt.',[True,False])
124
+ sound=st.radio('Ses Sis.',[True,False])
125
+ leather=st.radio('Deri döşeme.',[True,False])
126
+ if st.button('Tahmin'):
127
+ pred=price(make,model,trim,mileage,car_type,cylinder,liter,doors,cruise,sound,leather)
128
+ st.write('Fiyat:$', round(pred[0],2))
129
+
130
+
131
+ # In[ ]:
132
+
133
+
134
+
135
+
cars.xls ADDED
Binary file (142 kB). View file
 
requirements.txt ADDED
Binary file (150 Bytes). View file