ConstantCoder commited on
Commit
1cf9581
·
verified ·
1 Parent(s): a654741

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -12
app.py CHANGED
@@ -7,17 +7,15 @@ from sklearn.preprocessing import OneHotEncoder, StandardScaler
7
  from sklearn.pipeline import Pipeline
8
  import streamlit as st
9
 
10
- # Veriyi oku
11
  df = pd.read_excel("cars.xls")
12
 
13
- # Özellik ve hedef değişkenleri ayır
14
  x = df.drop('Price', axis=1)
15
  y = df['Price']
16
 
17
- # Veri setini eğitim ve test olarak ayır
18
  x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
19
 
20
- # Ön işleme adımları
21
  preprocess = ColumnTransformer(
22
  transformers=[
23
  ('num', StandardScaler(), ['Mileage', 'Cylinder', 'Liter', 'Doors']),
@@ -25,25 +23,25 @@ preprocess = ColumnTransformer(
25
  ]
26
  )
27
 
28
- # Model tanımla
29
  my_model = LinearRegression()
30
 
31
- # Pipeline oluştur
32
  pipe = Pipeline(steps=[('preprocessor', preprocess), ('model', my_model)])
33
 
34
- # Modeli eğit
35
  pipe.fit(x_train, y_train)
36
 
37
- # Tahmin yap ve model performansını değerlendir
38
  y_pred = pipe.predict(x_test)
39
  print('RMSE', mean_squared_error(y_test, y_pred) ** 0.5)
40
  print('R2', r2_score(y_test, y_pred))
41
 
42
- # Streamlit uygulaması
43
  st.title("II. El Araba Fiyatı Tahmin:red_car: @aysel_olcer")
44
  st.write('Arabanın özelliklerini seçiniz')
45
 
46
- # Kullanıcı girdilerini al
47
  make = st.selectbox('Marka', df['Make'].unique())
48
  model = st.selectbox('Model', df[df['Make'] == make]['Model'].unique())
49
  trim = st.selectbox('Trim', df[(df['Make'] == make) & (df['Model'] == model)]['Trim'].unique())
@@ -56,7 +54,7 @@ cruise = st.radio('Hız Sbt.', [True, False])
56
  sound = st.radio('Ses Sis.', [True, False])
57
  leather = st.radio('Deri döşemes.', [True, False])
58
 
59
- # Tahmin fonksiyonu
60
  def price(make, model, trim, mileage, car_type, cylinder, liter, doors, cruise, sound, leather):
61
  input_data = pd.DataFrame({
62
  'Make': [make],
@@ -74,7 +72,6 @@ def price(make, model, trim, mileage, car_type, cylinder, liter, doors, cruise,
74
  prediction = pipe.predict(input_data)[0]
75
  return prediction
76
 
77
- # Tahmin yapma butonu ve sonucu gösterme
78
  if st.button('Tahmin Et'):
79
  pred = price(make, model, trim, mileage, car_type, cylinder, liter, doors, cruise, sound, leather)
80
  st.write('Fiyat: $', round(pred, 2))
 
7
  from sklearn.pipeline import Pipeline
8
  import streamlit as st
9
 
 
10
  df = pd.read_excel("cars.xls")
11
 
 
12
  x = df.drop('Price', axis=1)
13
  y = df['Price']
14
 
15
+
16
  x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
17
 
18
+
19
  preprocess = ColumnTransformer(
20
  transformers=[
21
  ('num', StandardScaler(), ['Mileage', 'Cylinder', 'Liter', 'Doors']),
 
23
  ]
24
  )
25
 
26
+
27
  my_model = LinearRegression()
28
 
29
+
30
  pipe = Pipeline(steps=[('preprocessor', preprocess), ('model', my_model)])
31
 
32
+
33
  pipe.fit(x_train, y_train)
34
 
35
+
36
  y_pred = pipe.predict(x_test)
37
  print('RMSE', mean_squared_error(y_test, y_pred) ** 0.5)
38
  print('R2', r2_score(y_test, y_pred))
39
 
40
+
41
  st.title("II. El Araba Fiyatı Tahmin:red_car: @aysel_olcer")
42
  st.write('Arabanın özelliklerini seçiniz')
43
 
44
+
45
  make = st.selectbox('Marka', df['Make'].unique())
46
  model = st.selectbox('Model', df[df['Make'] == make]['Model'].unique())
47
  trim = st.selectbox('Trim', df[(df['Make'] == make) & (df['Model'] == model)]['Trim'].unique())
 
54
  sound = st.radio('Ses Sis.', [True, False])
55
  leather = st.radio('Deri döşemes.', [True, False])
56
 
57
+
58
  def price(make, model, trim, mileage, car_type, cylinder, liter, doors, cruise, sound, leather):
59
  input_data = pd.DataFrame({
60
  'Make': [make],
 
72
  prediction = pipe.predict(input_data)[0]
73
  return prediction
74
 
 
75
  if st.button('Tahmin Et'):
76
  pred = price(make, model, trim, mileage, car_type, cylinder, liter, doors, cruise, sound, leather)
77
  st.write('Fiyat: $', round(pred, 2))