一、Scikit-Learn简介
Scikit-Learn(sklearn)是 Python 语言中最流行的机器学习库之一,提供了丰富的工具用于数据预处理、特征工程、模型训练、模型评估以及超参数调优。
二、 主要特点
- 简单易用的 API 设计
- 支持各种监督学习和无监督学习算法
- 具备数据预处理、特征选择、模型选择等功能
- 兼容 NumPy、Pandas 以及 Matplotlib
三、 安装与导入
1. 安装
pip install scikit-learn
2. 导入基本模块
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
- sklearn.datasets: 提供了一些标准数据集,用于测试和练习机器学习算法。
- sklearn.model_selection.train_test_split: 用于将数据集随机划分为训练集和测试集。
- sklearn.preprocessing.StandardScaler: 用于对数据进行标准化处理(均值为0,方差为1)。
- sklearn.ensemble.RandomForestClassifier: 实现了随机森林分类算法,用于分类任务。
- sklearn.metrics.accuracy_score: 用于计算分类模型的准确率(预测正确的比例)。
注意:安装时是全称,导入时是缩写。
四、数据集加载与预处理
1. 定义加载数据集函数
Scikit-Learn 提供了多个内置数据集,例如 iris、digits、wine。此处以iris为例。
# iris 数据存储在 data/iris/iris.csv
def load_data():
iris_path = os.path.join(constant.DATA_DIR, "iris/iris.csv")
df = pd.read_csv(iris_path)
# print(df.head())
X = df.iloc[:, :4]
y = df.iloc[:, 4]
return X, y
逐行解释代码:
iris_data_path = os.path.join(constant.DATA_DIR, "iris/iris.csv")
作用: 构建文件路径。
解释:
- os.path.join() 是 Python 的 os 模块中的一个函数,用于将多个路径组件拼接成一个完整的路径。
- constant.DATA_DIR 是一个变量,表示数据存储的根目录(例如 "data")。详见文件管理01-设置项目的目录路径
- "iris/iris.csv" 是数据文件的相对路径。
最终,iris_data_path 是一个完整的文件路径,例如 "data/iris/iris.csv"。
df = pd.read_csv(iris_path)
iris.csv文件格式如下:
X = df.iloc[:, :4]
y = df.iloc[:, 4]
- X = df.iloc[:, :4]
作用: