Scikit-learn:机器学习入门圣经,AI起步必修课!

文摘   2024-12-02 00:08   河南  

大家好!今天我要和大家分享一个超级实用的Python机器学习库 - Scikit-learn(常简写为sklearn)。作为机器学习领域最受欢迎的Python库之一,它就像是我们踏入AI世界的第一把钥匙。无论你是想预测房价、分类图片,还是做一些有趣的数据分析,Scikit-learn都能帮你轻松实现。

1. 初识Scikit-learn

让我们先来安装并导入这个强大的工具:

# 安装sklearn(只需执行一次)
pip install scikit-learn

# 导入常用模块
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split

小贴士:建议使用虚拟环境安装,避免包版本冲突哦!

2. 数据集:机器学习的"练习本"

Scikit-learn自带了很多经典数据集,让我们从最简单的鸢尾花数据集开始:

# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data        # 特征数据
y = iris.target      # 标签数据

# 查看数据基本信息
print(f"数据集形状: {X.shape}")
print(f"特征名称: {iris.feature_names}")
print(f"目标类别: {iris.target_names}")

小贴士:实际项目中,数据预处理非常重要!数据质量直接影响模型效果。

3. 训练集和测试集:模型的"考试系统"

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

print(f"训练集大小: {X_train.shape}")
print(f"测试集大小: {X_test.shape}")

重点提示:使用random_state可以确保每次运行得到相同的划分结果,方便代码调试。

4. 模型训练:让AI学习的过程

我们先尝试一个简单的分类器 - K近邻(KNN):

from sklearn.neighbors import KNeighborsClassifier

# 创建并训练模型
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)

# 预测测试集
y_pred = knn.predict(X_test)

# 评估模型效果
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"模型准确率: {accuracy:.2f}")

5. 模型评估:成绩单时间!

from sklearn.metrics import classification_report, confusion_matrix

# 详细的评估报告
print("分类报告:")
print(classification_report(y_test, y_pred, target_names=iris.target_names))

# 混淆矩阵
print("混淆矩阵:")
print(confusion_matrix(y_test, y_pred))

实战小练习

  1. 尝试修改KNN的n_neighbors参数,观察准确率的变化
  2. 用其他分类器(如决策树、随机森林)替换KNN,比较效果

6. 模型保存:给AI打包带走

import joblib

# 保存模型
joblib.dump(knn, 'knn_model.pkl')

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

小贴士:模型文件可能比较大,注意存储空间!

今天的Python学习之旅就到这里啦!记得动手敲代码。用Scikit-learn实现机器学习真的很简单吧?它强大的功能远不止这些,建议大家多尝试其他算法,用不同的数据集来练习。记住:在AI领域,实践出真知!

祝大家学习愉快,Python学习节节高!


水晶的世界观
所有的努力,都将转化为成果。
 最新文章