📜  sklearn 备忘单 - Python (1)

📅  最后修改于: 2023-12-03 15:35:00.206000             🧑  作者: Mango

sklearn 备忘单 - Python

介绍

scikit-learn,简称 sklearn,是一个基于 Python 的机器学习库。它包括多种分类、回归和聚类算法,以及常用的预处理和特征选择方法,可以帮助用户进行数据分析、数据挖掘和机器学习等任务。

安装

sklearn 可以通过 pip 安装,执行以下命令即可:

pip install scikit-learn
使用

在使用 sklearn 进行机器学习任务之前,需要对数据进行预处理。以下是一些常用的预处理方法:

数据清洗

在数据分析中,通常需要对数据进行清理,包括缺失值处理、异常值处理等。sklearn 中提供了 Imputer 类来处理缺失值:

from sklearn.impute import SimpleImputer

imp = SimpleImputer(missing_values=np.nan, strategy='mean')
X = [[1, 2], [np.nan, 3], [7, 6]]
imp.fit(X)
X_transformed = imp.transform(X)
数据预处理

在进行机器学习任务之前,需要对数据进行归一化和标准化处理。sklearn 中提供了 StandardScalerMinMaxScaler 两个类来进行归一化和标准化:

from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import MinMaxScaler

scaler = StandardScaler()
# scaler = MinMaxScaler()

X = [[1, 2], [2, 4], [4, 6], [8, 10]]
scaler.fit(X)
X_transformed = scaler.transform(X)
特征选择

通常情况下项目数据是海量的, 我们需要选择合适的特征进行训练, 以节省时间并达到更好的效果。

from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
y = [0, 1, 1, 0]

X_new = SelectKBest(chi2, k=2).fit_transform(X, y)

在特征选择之后,我们可以使用以下类进行训练:

分类

在进行分类任务之前,我们需要准备好特征和标签,然后使用分类器进行训练和预测。

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier

iris = load_iris()
X_train, X_test, y_train, y_test = train_test_split(
    iris.data, iris.target, test_size=0.2, random_state=42)

clf = KNeighborsClassifier(n_neighbors=3)
clf.fit(X_train, y_train)

y_pred = clf.predict(X_test)
回归

在进行回归任务之前,我们需要准备好特征和目标变量,然后使用回归器进行训练和预测。

from sklearn.datasets import load_boston
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

boston = load_boston()
X_train, X_test, y_train, y_test = train_test_split(
    boston.data, boston.target, test_size=0.2, random_state=42)

reg = LinearRegression().fit(X_train, y_train)

y_pred = reg.predict(X_test)
参考文献
  1. scikit-learn 官方文档
  2. sklearn 模型训练步骤