Spaces:
Sleeping
Sleeping
File size: 3,585 Bytes
0f320db 510ca6a 0f320db 510ca6a 0f320db 510ca6a 0f320db 26141ca 0f320db 510ca6a 0f320db 26141ca 510ca6a 0f320db bc4a214 0f320db a984107 0f320db 730571e 0f320db 1ba7565 0f320db 730571e 5b6bed4 0f320db 510ca6a 730571e 0f320db 7a5c0c5 0f320db |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
#!/usr/bin/env python
# coding: utf-8
# # Car Prediction #
# İkinci el araç fiyatlarını (özelliklerine göre) tahmin eden modeller oluşturma ve MLOPs ile Hugging Face üzerinden yayımlayacağız.
import pandas as pd
from sklearn.model_selection import train_test_split #Veri setini bölme işlemleri
from sklearn.linear_model import LinearRegression #Dogrusal Regresyon
from sklearn.metrics import r2_score, mean_squared_error #Modelimizin performansını ölçmek için
from sklearn.compose import ColumnTransformer #Sütun dönüşüm işlemleri
from sklearn.preprocessing import OneHotEncoder, StandardScaler #Kategori - Sayısal dönüşüm ve ölçeklendirme
from sklearn.pipeline import Pipeline #Veri işleme hattı
df=pd.read_excel("cars.xls")
#Veri ön işleme
X=df.drop('Price',axis=1) #Fiyat sutunu çıkar fiyata etki edenler kalsın
y=df['Price'] #tahmin edilecek sütun
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Veri ön işleme, standartlaştırma ve OHE işlemlerini otomatikleştiriyoruz (Standartlaştırıyoruz).
# Artık preprocess kullanarak kullanıcıda arayüz aracılığıyla gelen veriyi uygun hale çevirebiliriz.
preprocess=ColumnTransformer(
transformers=[
('num', StandardScaler(),['Mileage','Cylinder','Liter','Doors']),
('cat', OneHotEncoder(), ['Make','Model','Trim','Type'])
]
)
my_model=LinearRegression()
#pipline tanımlama
pipe=Pipeline(steps=[('preprocessor', preprocess), ('model', my_model)])
#pipline fit edilmesi
pipe.fit(X_train,y_train)
y_pred=pipe.predict(X_test)
mean_squared_error(y_test,y_pred)**0.5,r2_score(y_test,y_pred)
# Python ile yapılan çalışmaların hızlı bir şekilde deploy edilmesi için HTML render arayüzler tasarlamamızı sağlar
import streamlit as st
#Fiyat tahmin fonksiyonu tanımlama
def price(make,model,trim,mileage,car_type,cylinder,liter,doors,cruise,sound,leather):
input_data=pd.DataFrame({'Make':[make],
'Model':[model],
'Trim':[trim],
'Mileage':[mileage],
'Type':[car_type],
'Cylinder':[cylinder],
'Liter':[liter],
'Doors':[doors],
'Cruise':[cruise],
'Sound':[sound],
'Leather':[leather]})
prediction=pipe.predict(input_data)[0]
return prediction
st.title("II. El Araba Fiyat Tahmini::red_car: @miturkoglu96")
st.write('Arabanın özelliklerini seçiniz')
make=st.selectbox('Marka',df['Make'].unique())
model=st.selectbox('Model',df[df['Make']==make]['Model'].unique())
trim=st.selectbox('Trim',df[(df['Make']==make)&(df['Model']==model)]['Trim'].unique())
mileage=st.number_input('Kilometre',200,60000)
car_type=st.selectbox('Araç Tipi',df[(df['Make']==make) &(df['Model']==model)&(df['Trim']==trim)]['Type'].unique())
cylinder=st.selectbox('Silindir',df['Cylinder'].unique())
liter=st.number_input('Yakıt Hacmi',1,6)
doors=st.selectbox('Kapı Sayısı',df['Doors'].unique())
cruise=st.radio('Hız Sabitleyici',[True,False])
sound=st.radio('Ses Sistemi',[True,False])
leather=st.radio('Deri Döşeme',[True,False])
if st.button('Tahmin Et'):
pred=price(make,model,trim,mileage,car_type,cylinder,liter,doors,cruise,sound,leather)
st.write('Tahmini Fiyat :red_car: $', round(pred, 2))
|