mirror of
https://github.com/TheAlgorithms/Python.git
synced 2026-09-28 13:33:11 +08:00
* ruff rule ANN202 missing-return-type-private-function * ruff rule ANN202 missing-return-type-private-function
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
# Random Forest Regressor Example
|
|
|
|
from sklearn.datasets import load_diabetes
|
|
from sklearn.ensemble import RandomForestRegressor
|
|
from sklearn.metrics import mean_absolute_error, mean_squared_error
|
|
from sklearn.model_selection import train_test_split
|
|
|
|
|
|
def main() -> None:
|
|
"""
|
|
Random Forest Regressor Example using sklearn function.
|
|
The diabetes dataset is used to demonstrate the algorithm.
|
|
|
|
Note: this example previously used the Boston house-price dataset,
|
|
which was removed from scikit-learn (>=1.2) for ethical reasons.
|
|
``load_diabetes`` is a drop-in bundled alternative that ships with
|
|
scikit-learn, so the example runs offline.
|
|
"""
|
|
# Load the diabetes dataset
|
|
diabetes = load_diabetes()
|
|
print(diabetes.keys())
|
|
|
|
# Split dataset into train and test data
|
|
x = diabetes["data"] # features
|
|
y = diabetes["target"]
|
|
x_train, x_test, y_train, y_test = train_test_split(
|
|
x, y, test_size=0.3, random_state=1
|
|
)
|
|
|
|
# Random Forest Regressor
|
|
rand_for = RandomForestRegressor(random_state=42, n_estimators=300)
|
|
rand_for.fit(x_train, y_train)
|
|
|
|
# Predict target for test data
|
|
predictions = rand_for.predict(x_test)
|
|
predictions = predictions.reshape(len(predictions), 1)
|
|
|
|
# Error printing
|
|
print(f"Mean Absolute Error:\t {mean_absolute_error(y_test, predictions)}")
|
|
print(f"Mean Square Error :\t {mean_squared_error(y_test, predictions)}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|