HoRain云--Scikit-learn 机器学习实战:从数据清洗到模型部署
2026/9/16 8:10:16 网站建设 项目流程

1. 机器学习流程

数据获取 → 清洗 → 特征工程 → 划分数据集 → 训练模型 → 评估 → 调参 → 部署。

2. 加载数据

python

复制

下载

from sklearn.datasets import load_iris import pandas as pd iris = load_iris() df = pd.DataFrame(iris.data, columns=iris.feature_names) df["target"] = iris.target

3. 数据清洗

处理缺失值:

python

复制

下载

df.fillna(df.mean(numeric_only=True), inplace=True) df.drop_duplicates(inplace=True)

4. 特征工程

编码分类变量:

python

复制

下载

from sklearn.preprocessing import OneHotEncoder encoder = OneHotEncoder(handle_unknown="ignore")

标准化:

python

复制

下载

from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X_scaled = scaler.fit_transform(X)

5. 划分数据集

python

复制

下载

from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=42, stratify=y)

6. 训练模型

python

复制

下载

from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(n_estimators=100, random_state=42) model.fit(X_train, y_train)

7. 评估

python

复制

下载

from sklearn.metrics import accuracy_score, classification_report, confusion_matrix y_pred = model.predict(X_test) print(accuracy_score(y_test, y_pred)) print(classification_report(y_test, y_pred))

8. 交叉验证与网格搜索

python

复制

下载

from sklearn.model_selection import GridSearchCV param_grid = {"n_estimators": [50, 100, 200], "max_depth": [None, 5, 10]} grid = GridSearchCV(model, param_grid, cv=5, scoring="accuracy") grid.fit(X_train, y_train) print(grid.best_params_)

9. 管道 Pipeline

python

复制

下载

from sklearn.pipeline import Pipeline pipe = Pipeline([ ("scaler", StandardScaler()), ("clf", RandomForestClassifier()) ]) pipe.fit(X_train, y_train)

10. 保存与部署

python

复制

下载

import joblib joblib.dump(pipe, "model.pkl") model = joblib.load("model.pkl")

使用 FastAPI 部署:

python

复制

下载

from fastapi import FastAPI app = FastAPI() model = joblib.load("model.pkl") @app.post("/predict") def predict(features: list[float]): return {"prediction": int(model.predict([features])[0])}

11. 常见坑

  • 数据泄漏:在划分前标准化。

  • 类别不平衡:使用 class_weight 或重采样。

  • 过拟合:交叉验证、正则化、减少特征。

  • 生产环境模型版本管理。

12. 总结

scikit-learn 是入门机器学习的首选。掌握 Pipeline、GridSearchCV 和模型持久化后,可以快速构建可部署的 ML 应用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询