sklearn基础教程:机器学习模型的构建与评估

在数据科学领域,scikit-learn(通常简称为sklearn)是一个极其受欢迎的Python库,它提供了各种简单高效的工具来帮助数据科学家和机器学习爱好者实现数据预处理、模型训练和评估等任务。本文将通过几个简单的代码样例,带你领略sklearn的基础功能。

安装scikit-learn

如果你还没有安装scikit-learn,可以通过pip进行安装:

bash 复制代码
pip install scikit-learn

加载数据集

sklearn自带了一些数据集,我们可以直接加载它们来进行实验。这里我们使用iris数据集,它是一个多类分类问题的数据集。

python 复制代码
from sklearn.datasets import load_iris

# 加载iris数据集
iris = load_iris()

# 查看数据集的特征和目标值
print("特征:", iris.feature_names)
print("目标值:", iris.target_names)

# 数据集通常被划分为特征矩阵X和目标数组y
X = iris.data
y = iris.target

数据预处理

在训练模型之前,通常需要对数据进行一些预处理。对于iris数据集,我们不需要进行复杂的预处理,但了解预处理步骤是很重要的。

数据划分

在监督学习中,我们通常需要将数据集划分为训练集和测试集。这可以通过train_test_split函数实现。

python 复制代码
from sklearn.model_selection import train_test_split

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

模型训练

使用逻辑回归模型

sklearn提供了许多现成的机器学习模型,这里我们使用逻辑回归模型(尽管iris是一个多类分类问题,但逻辑回归可以通过一对多策略来处理)。

python 复制代码
from sklearn.linear_model import LogisticRegression

# 初始化逻辑回归模型
model = LogisticRegression(max_iter=1000)  # 设置最大迭代次数以避免警告

# 训练模型
model.fit(X_train, y_train)

模型评估

预测与评分

训练好模型后,我们可以在测试集上进行预测,并使用评估指标来评估模型的性能。

python 复制代码
# 在测试集上进行预测
y_pred = model.predict(X_test)

# 使用准确率作为评估指标
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"准确率: {accuracy}")

交叉验证

除了简单的训练-测试划分外,我们还可以使用交叉验证来更可靠地评估模型性能。

python 复制代码
from sklearn.model_selection import cross_val_score

# 使用交叉验证评估模型
scores = cross_val_score(model, X, y, cv=5)
print(f"交叉验证的准确率: {scores.mean()} (± {scores.std()})")

总结

以上就是一个简单的sklearn基础教程。通过加载数据集、数据预处理、模型训练和评估等步骤,我们可以快速构建和评估一个机器学习模型。当然,sklearn的功能远不止这些,它还提供了许多其他类型的模型、评估指标和预处理工具,可以帮助我们解决各种复杂的机器学习问题。

相关推荐
NiNg_1_23411 小时前
Python中SKlearn的K-means使用详解
python·kmeans·sklearn
汤姆和佩琦2 天前
2024-12-25-sklearn学习(20)无监督学习-双聚类 料峭春风吹酒醒,微冷,山头斜照却相迎。
学习·聚类·sklearn
18号房客3 天前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
古希腊掌管学习的神3 天前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
dundunmm3 天前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神3 天前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
NiNg_1_2345 天前
Python的sklearn中的RandomForestRegressor使用详解
开发语言·python·sklearn
zhangfeng11338 天前
反归一化 from sklearn.preprocessing import MinMaxScaler
人工智能·算法·sklearn
belldeep11 天前
python:用 sklearn.metrics 评价 K-Means 聚类模型
python·kmeans·sklearn·metrics
belldeep12 天前
python:用 sklearn SVM 构建分类模型,并评价
python·分类·sklearn·metrics