keditosun
Centipat
- Katılım
- 1 Mayıs 2024
- Mesajlar
- 2
Daha fazla
- Cinsiyet
- Erkek
Hocam cevher fiyat tahmini yapan bir random forest modeli yaptım ama içime sinmedi. Daha tecrübeli abiler varsa modelimi puanlıyabilir mi?
Ve tahminleride burda
import pandas as pdfrom sklearn.model_selection import train_test_splitfrom sklearn.ensemble import RandomForestRegressorfrom sklearn.metrics import mean_squared_error, r2_scoreurl = "https://raw.githubusercontent.com/mwaskom/seaborn-data/master/diamonds.csv"data = pd.read_csv(url)X = data.drop(columns=["price"])y = data["price"]X = pd.get_dummies(X, drop_first=True)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)rf_model = RandomForestRegressor(min_impurity_decrease=0.01, bootstrap=True, n_estimators=500, max_depth=20, random_state=42)rf_model.fit(X_train, y_train)# Tahmin yapy_pred = rf_model.predict(X_test)mse = mean_squared_error(y_test, y_pred)r2 = r2_score(y_test, y_pred)results = pd.DataFrame({ "Gerçek Değerler": y_test, "Tahmin Edilen Değerler": y_pred, "Hata": y_test - y_pred}).head(20)print(f"Mean Squared Error: {mse:.2f}")print(f"R² Score: {r2:.2f}")print("\nTest Sonuçlarının Karşılaştırması (İlk 20 Örnek):\n")print(results)Ve tahminleride burda
Mean Squared Error: 395964.36R² Score: 0.98Test Sonuçlarının Karşılaştırması (İlk 20 Örnek): Gerçek Değerler Tahmin Edilen Değerler Hata1388 559 561.364841 -2.36484150052 2201 2358.153927 -157.15392741645 1238 1210.594270 27.40573042377 1304 1238.086004 65.91399617244 6901 9998.077185 -3097.0771851608 3011 4064.932528 -1053.93252846398 1765 1840.063536 -75.06353645493 1679 1806.855053 -127.85505349385 2102 2123.171111 -21.17111110460 4789 5766.619584 -977.61958434243 855 841.113802 13.88619824772 13134 13180.756000 -46.75600042987 1367 1614.924506 -247.92450651711 2401 2225.787373 175.21262743777 1440 1929.331310 -489.33131022232 10286 11338.187938 -1052.1879381319 2958 3722.653599 -764.65359943219 1397 1385.548832 11.45116821843 9904 10826.832830 -922.83283053626 552 561.443478 -9.443478
Son düzenleme: