scikit-learn 是一个用于数据挖掘和数据分析的 Python 模块,构建于 NumPy、SciPy 和 Matplotlib 之上。它被广泛用于机器学习任务,如分类、回归和聚类。scikit-learn 提供了简单易用的接口,使得从数据预处理到模型评估的整个机器学习流程都变得直观且高效。此模块适配 Python 版本为 3.6 及以上。
应用场景
scikit-learn 主要用于解决各种机器学习问题,以下是一些常见的应用场景:
- 分类:如垃圾邮件检测、图片识别等。
- 回归:如房价预测、股票价格预测等。
- 聚类:如客户细分、市场分析等。
- 降维:通过数据降维技术简化数据集,为可视化和后续分析提供便利。
- 模型选择和评估:在不同模型之间进行比较,选出最佳模型。
安装说明
scikit-learn 不是 Python 的默认模块,但可以通过 Python 的包管理工具 pip 进行安装。以下是安装命令:
1
| pip install scikit-learn
|
用法举例
1. 分类示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import accuracy_score
iris = load_iris() X = iris.data y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = RandomForestClassifier() model.fit(X_train, y_train)
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred) print(f"模型的准确率是:{accuracy:.2f}")
|
在这个例子中,我们使用 scikit-learn 中的随机森林模型对 iris 数据集进行分类,并输出模型的准确性。
2. 回归示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error
boston = load_boston() X = boston.data y = boston.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression() model.fit(X_train, y_train)
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred) print(f"模型的均方误差为:{mse:.2f}")
|
在这个例子中,我们通过线性回归模型预测波士顿地区的房价,并使用均方误差评估模型效果。
3. 聚类示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| from sklearn.datasets import load_wine from sklearn.cluster import KMeans import matplotlib.pyplot as plt
wine = load_wine() X = wine.data
model = KMeans(n_clusters=3) model.fit(X)
y_kmeans = model.predict(X)
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, cmap='viridis') plt.title("KMeans 聚类结果") plt.xlabel("特征 1") plt.ylabel("特征 2") plt.show()
|
在此示例中,我们利用 KMeans 聚类算法对葡萄酒的数据进行聚类,并通过散点图展示聚类效果。
我强烈建议大家关注本人的博客全糖冲击博客,因为我的博客集合了所有关于 Python 标准库的使用教程,方便您进行查询和学习。无论您是新手还是专家,都能从中找到实用的资源。关注我的博客,您将获得最新的技术动态,提升自己的技能水平,享受学习的乐趣。