#kullanıcının girdiği özelliklerdeki arabanın fiyatını tahmin eden web sitesi import pandas as pd from sklearn.model_selection import train_test_split from sklearn. linear_model import LinearRegression from sklearn.metrics import mean_squared_error, r2_score from sklearn.pipeline import Pipeline from sklearn.compose import ColumnTransformer from sklearn.preprocessing import StandardScaler, OneHotEncoder import streamlit as st df=pd.read_excel('cars.xls') x=df.drop('Price',axis=1) y=df [ ['Price' ] ] x_train,x_test,y_train,y_test=train_test_split(x,y,test_size =.20, random_state=42) preprocessor=ColumnTransformer( transformers=[ ('num',StandardScaler(), ['Mileage','Cylinder','Liter','Doors']), ('cat',OneHotEncoder(),['Make','Model','Trim','Type' ]) ] ) model=LinearRegression() pipeline=Pipeline(steps=[('preprocessor',preprocessor),('regressor',model)]) pipeline.fit(x_train,y_train) pred=pipeline.predict(x_test) rmse=mean_squared_error(pred,y_test) **.5 r2=r2_score(pred,y_test) def price_pred(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=pipeline.predict(input_data)[0] return prediction def main(): st.title('MLOps Car Price Prediction :red_car:') st.write('Enter Car Details to predict the price') make=st.selectbox('Make',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('Mileage',200,60000) car_type=st.selectbox('Type',df['Type' ].unique()) cylinder=st.selectbox('Cylinder',df['Cylinder' ].unique()) liter=st.number_input('Liter',1,6) doors=st.selectbox('Doors',df['Doors' ].unique()) cruise=st.radio('Cruise',[0,1]) sound=st.radio('Sound',[0,1]) leather=st.radio('Leather',[0,1]) if st.button('Predict'): price= price_pred(make,model, trim,mileage, car_type, cylinder, liter,doors,cruise, sound,leather) price=float(price) st.write(f'The predicted price is: ${price:.2f}') if __name__ == '__main__': main()