Python scikit-learn 模块:基础知识

Python scikit-learn 模块:基础知识

scikit-learn 是一个面向 Python 编程语言的开源机器学习库,提供了大量的机器学习算法工具,方便实现分类、回归、聚类以及降维等机器学习任务。该模块适用于 Python 3.6 及以上版本,深受数据科学家、工程师和学者的喜爱,具有良好的文档支持和活跃的社区。

应用场景

scikit-learn 的主要用途包括但不限于:

  1. 分类任务:用于预测数据属于哪一类别,例如垃圾邮件识别。
  2. 回归任务:用于预测数值型输出,如房价预测。
  3. 聚类分析:将数据分成不同的组,比如客户细分。
  4. 降维处理:例如主成分分析(PCA)用于减少数据的特征数量以降低计算复杂度。

不论是学术研究还是实际应用,scikit-learn 都是一个非常有用的工具,帮助用户构建和优化机器学习模型。

安装说明

scikit-learn 不是 Python 的默认库,但可以使用以下命令轻松安装:

1
pip install scikit-learn

建议使用具有虚拟环境的隔离环境进行安装,以避免依赖冲突。

用法举例

1. 数据分类示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from sklearn.datasets import load_iris  # 导入鸢尾花数据集
from sklearn.model_selection import train_test_split # 导入数据分割工具
from sklearn.ensemble import RandomForestClassifier # 导入随机森林分类器

# 加载数据集
iris = load_iris() # 获取鸢尾花数据
X, y = iris.data, iris.target # 将特征和标签分开

# 数据分割,75%用于训练,25%用于测试
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)

# 创建随机森林模型并训练
model = RandomForestClassifier() # 初始化模型
model.fit(X_train, y_train) # 使用训练集拟合模型

# 模型评估
accuracy = model.score(X_test, y_test) # 测试集上的准确度
print(f"模型准确率: {accuracy:.2f}") # 输出模型的准确率

2. 回归示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from sklearn.datasets import make_regression  # 导入回归数据生成工具
from sklearn.linear_model import LinearRegression # 导入线性回归模型
import matplotlib.pyplot as plt # 导入绘图工具

# 生成回归数据集
X, y = make_regression(n_samples=100, n_features=1, noise=10, random_state=42) # 创建带噪声的线性回归数据

# 创建并训练线性回归模型
model = LinearRegression() # 初始化线性回归模型
model.fit(X, y) # 拟合模型

# 预测
y_pred = model.predict(X) # 对数据进行预测

# 绘制数据和回归线
plt.scatter(X, y, color='blue', label='实际数据') # 原始数据点
plt.plot(X, y_pred, color='red', label='回归线') # 绘制回归线
plt.title('线性回归示例')
plt.legend()
plt.show() # 显示图形

3. 聚类分析示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from sklearn.datasets import make_blobs  # 导入生成聚类数据的工具
from sklearn.cluster import KMeans # 导入KMeans聚类算法
import matplotlib.pyplot as plt # 导入绘图工具

# 生成聚类数据
X, _ = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0) # 创建四个簇的数据

# 创建KMeans模型并训练
kmeans = KMeans(n_clusters=4) # 指定聚类数量为4
kmeans.fit(X) # 拟合模型

# 获取聚类结果
y_kmeans = kmeans.predict(X) # 根据模型对数据进行预测

# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis') # 数据点按聚类结果上色
centers = kmeans.cluster_centers_ # 获取聚类中心
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75) # 绘制聚类中心
plt.title('KMeans 聚类示例')
plt.show() # 显示图形

软件和库版本不断更新

由于软件和库版本不断更新,如果本文档不再适用或有误,请留言或联系我进行更新。让我们一起营造良好的学习氛围。感谢您的支持! - Travis Tang

亲爱的读者们!我强烈建议大家关注我的博客全糖冲击博客。在这里,我将不断分享所有 Python 标准库的使用教程,提供通俗易懂的示例和详尽的讲解,帮助大家更快地学习和掌握编程知识。关注我的博客,您将获取最新的信息、实用的技巧和持续的学习资源,助您在数据科学和编程的道路上更上一步。感谢大家的支持与关注,我们一起进步!