随机森林(Random Forest)是一种集成学习方法,它通过构建多个决策树并将它们的预测结果综合起来来提高模型的预测性能。随机森林是一种非常强大的机器学习算法,可以用于分类和回归问题。它具有较高的准确性和鲁棒性,能够处理大规模数据集和缺失数据,并且不容易过拟合。
随机森林的构建过程包括以下步骤:
- 随机选择数据集中的部分特征,生成特征子集。
- 在每个特征子集上构建一个决策树。
- 将所有决策树的预测结果综合起来,得到最终预测结果。
随机森林的随机性来自于它的特征选择和决策树构建过程。通过随机选择特征和决策树,随机森林能够避免过拟合,并在不同数据集上表现良好。
下面是一个简单的随机森林的 Demo:
导入必要的库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
读取数据
data = pd.read_csv("data.csv")
数据预处理
data = data.drop("column_with_missing_values", axis=1)
将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(data.drop("target", axis=1), data["target"], test_size=0.2, random_state=42)
创建随机森林模型
model = RandomForestClassifier(n_estimators=100, random_state=42)
训练模型
model.fit(X_train, y_train)
预测
y_pred = model.predict(X_test)
评估模型
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
accuracy = accuracy_score(y_test, y_pred)
confusion = confusion_matrix(y_test, y_pred)
report = classification_report(y_test, y_pred)
print("Accuracy:", accuracy
print("Confusion Matrix:\n", confusion