1. 导入依赖库:
from sklearn import model_selection # 用于交叉验证等
from sklearn.preprocessing import StandardScaler # 用于数据预处理标准化
from sklearn.linear_model import LogisticRegression # 举例使用的模型(这里以逻辑回归为例)
from sklearn.datasets import load_iris # 举例使用的数据集(这里以鸢尾花数据集为例)
2. 加载数据:
iris = load_iris()
X = iris.data # 特征矩阵
y = iris.target # 目标变量
3. 数据预处理:
# 如果需要,对数据进行预处理,例如标准化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
4. 划分训练集和测试集:
X_train, X_test, y_train, y_test = model_selection.train_test_split(X_scaled, y, test_size=0.2, random_state=42)
5. 实例化模型:
model = LogisticRegression() # 创建逻辑回归模型实例
6. 训练模型:
model.fit(X_train, y_train) # 使用训练数据拟合模型
7. 模型预测:
y_pred = model.predict(X_test) # 使用模型预测测试集的结果
8. 评估模型:
from sklearn.metrics import accuracy_score, classification_report
# 计算预测准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
# 输出详细的分类报告
report = classification_report(y_test, y_pred)
print(report)
9. 调整超参数与模型选择:
from sklearn.model_selection import GridSearchCV
# 定义参数网格
param_grid = {'C': [0.1, 1.0, 10.0], 'penalty': ['l1', 'l2']}
# 实例化GridSearchCV对象
grid_search = GridSearchCV(LogisticRegression(), param_grid, cv=5)
# 使用GridSearchCV找到最佳参数并训练模型
grid_search.fit(X_train, y_train)
# 获取最佳参数和最优模型
best_params = grid_search.best_params_
best_model = grid_search.best_estimator_