Scikit-learn基础教程:入门机器学习

Scikit-learn(简称sklearn)是一个基于Python的开源机器学习库,它建立在NumPy、SciPy和matplotlib这些科学计算库之上,提供了一系列强大的工具,用于机器学习和统计建模,包括分类、回归、聚类和降维等。

在这里插入图片描述

华丽的分割线

💯 安装Scikit-learn

在开始之前,请确保你的环境中已安装Python和pip。接着,你可以通过以下命令安装scikit-learn:

pip install -U scikit-learn

💯 导入库

在你的Python脚本或Jupyter Notebook中,首先导入所需的scikit-learn模块:

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

💯 加载数据

Scikit-learn提供了多种内置数据集,例如鸢尾花(Iris)数据集,这是一个经典的多类分类问题数据集:

iris = datasets.load_iris()
X = iris.data
y = iris.target

💯 数据预处理

在训练模型之前,通常需要对数据进行预处理,比如特征缩放:

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

💯 拆分数据集

将数据集拆分为训练集和测试集,以评估模型的泛化能力:

X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3, random_state=42)

💯 建立模型

使用逻辑回归作为分类器:

model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

💯 模型评估

评估模型在测试集上的表现:

y_pred = model.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))

💯 模型持久化

保存训练好的模型,以便将来使用:

from joblib import dump, load

# 保存模型
dump(model, 'iris_model.joblib')

# 加载模型
loaded_model = load('iris_model.joblib')

💯 可视化结果

使用matplotlib库可视化模型的决策边界:

def plot_decision_boundary(model, X, y, prefix=""):
    x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
    y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
    xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.1),
                         np.arange(y_min, y_max, 0.1))
    Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
    Z = Z.reshape(xx.shape)

    plt.figure()
    plt.contourf(xx, yy, Z, alpha=0.4)
    plt.scatter(X[:, 0], X[:, 1], c=y, s=20, edgecolor='k')
    plt.xlabel('Sepal length')
    plt.ylabel('Sepal width')
    plt.title('Decision Boundary')
    plt.show()

plot_decision_boundary(model, X_train[:, :2], y_train)

💯 结语

Scikit-learn是一个功能丰富且易于使用的机器学习库,它提供了从数据预处理到模型训练、评估和持久化的全套工具。本教程只是一个起点,scikit-learn还有许多高级特性等待你去探索。


在这里插入图片描述


TheEnd


跳跃

📂 Unity 开发资源汇总 | 插件 | 模型 | 源码

💓 欢迎访问 Unity 打怪升级大本营

🍉🍉🍉 如果觉得这篇文对你有帮助的话,请点个赞👍、收藏⭐️下吧,非常感谢! 💕💕💕
关注我

博主头像
【博主简介】:10年以上软件开发经验,精通 C语言C++C#Java 等开发语言,开发过大型 Android 项目,现主要自主开发经营 休闲益智类小游戏

【粉丝福利】:博主收藏了大量游戏开发资源和素材。这些资源经过博主多年整理沉淀,现筛选一批精品资源,分享给大家学习研究。

Unity打怪军团 广招天下勇士加入 Unity学习互助小组 有意进群的同学联系我,互3互推也请联系我…
联系我

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity打怪升级

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值