推荐答案
// www.javascriptcn.com code example
# 导入必要的库
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# 加载数据集
from sklearn.datasets import load_iris
data = load_iris()
X = data.data
y = data.target
# 数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 数据标准化
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# 训练模型
model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)
# 预测
y_pred = model.predict(X_test)
# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy:.2f}")本题详细解读
1. 导入必要的库
在开始机器学习任务之前,首先需要导入必要的库。train_test_split 用于将数据集划分为训练集和测试集,StandardScaler 用于数据标准化,RandomForestClassifier 是一个常用的分类模型,accuracy_score 用于评估模型的准确率。
2. 加载数据集
使用 load_iris() 函数加载经典的鸢尾花数据集。这个数据集包含了150个样本,每个样本有4个特征,目标变量是鸢尾花的类别。
3. 数据集划分
使用 train_test_split 函数将数据集划分为训练集和测试集。test_size=0.3 表示测试集占30%,random_state=42 用于确保每次运行代码时划分的结果一致。
4. 数据标准化
使用 StandardScaler 对数据进行标准化处理。标准化是将数据转换为均值为0,方差为1的形式,这有助于提高模型的训练效果。
5. 训练模型
使用 RandomForestClassifier 训练模型。n_estimators=100 表示使用100棵决策树,random_state=42 用于确保每次运行代码时模型的结果一致。
6. 预测
使用训练好的模型对测试集进行预测,得到预测结果 y_pred。
7. 评估模型
使用 accuracy_score 计算模型在测试集上的准确率,并打印出来。准确率是分类任务中常用的评估指标,表示模型预测正确的比例。