Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import joblib | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.preprocessing import StandardScaler, OneHotEncoder | |
| from sklearn.compose import ColumnTransformer | |
| from sklearn.pipeline import Pipeline | |
| from sklearn.ensemble import RandomForestRegressor | |
| # Chargement | |
| df = pd.read_csv('get_around_pricing_project.csv').drop(columns=['Unnamed: 0']) | |
| # Features | |
| X = df.drop(columns=['rental_price_per_day']) | |
| y = df['rental_price_per_day'] | |
| # Preprocessing | |
| numeric_features = ['mileage', 'engine_power'] | |
| categorical_features = ['model_key', 'fuel', 'paint_color', 'car_type'] | |
| binary_features = ['private_parking_available', 'has_gps', 'has_air_conditioning', | |
| 'automatic_car', 'has_getaround_connect', 'has_speed_regulator', 'winter_tires'] | |
| preprocessor = ColumnTransformer( | |
| transformers=[ | |
| ('num', StandardScaler(), numeric_features), | |
| ('cat', OneHotEncoder(handle_unknown='ignore'), categorical_features), | |
| ('bin', 'passthrough', binary_features) | |
| ]) | |
| # Pipeline | |
| model = Pipeline(steps=[ | |
| ('preprocessor', preprocessor), | |
| ('regressor', RandomForestRegressor(n_estimators=100, random_state=42)) | |
| ]) | |
| # Training | |
| model.fit(X, y) | |
| # Sauvegarde | |
| joblib.dump(model, 'model.joblib') |