Случайный лес в регрессии

From Дмитрий Луконин, 8 Months ago, written in Plain Text, viewed 357 times. This paste will cross the great divide in 1 Second.
URL http://codebin.org/view/92750013 Embed
Download Paste or View Raw
  1. import pandas as pd
  2. from sklearn.ensemble import RandomForestRegressor
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.metrics import mean_squared_error
  5.  
  6. df = pd.read_csv('/datasets/train_data.csv')
  7.  
  8. features = df.drop(['last_price'], axis=1) # извлеките признаки
  9. target = df['last_price'] / 1000000 # извлеките целевой признак
  10.  
  11. features_train, features_valid, target_train, target_valid = train_test_split(
  12.     features, target, test_size=0.25, random_state=12345)
  13.  
  14. best_model = None
  15. best_result = 10000
  16. best_est = 0
  17. best_depth = 0
  18. for est in range(10, 51, 10):
  19.     for depth in range (1, 11):
  20.         # инициализируйте модель RandomForestRegressor с параметрами random_state=12345, n_estimators=est и max_depth=depth
  21.         model = RandomForestRegressor(random_state=12345, max_depth=depth)
  22.         model.fit(features_train, target_train) # обучите модель на тренировочной выборке
  23.         predictions_valid = model.predict(features_valid) # получите предсказания модели на валидационной выборке
  24.         result = mean_squared_error(target_valid, predictions_valid)**0.5 # посчитайте значение метрики rmse на валидационной выборке
  25.         if result < best_result:
  26.             best_model = model
  27.             best_result = result
  28.             best_est = est
  29.             best_depth = depth
  30.  
  31. print("RMSE наилучшей модели на валидационной выборке:", best_result, "Количество деревьев:", best_est, "Максимальная глубина:", depth)

Replies to Случайный лес в регрессии rss

Title Name Language When
Re: Случайный лес в регрессии Eratic Mockingjay text 5 Months ago.

Reply to "Случайный лес в регрессии"

Here you can reply to the paste above