基于逻辑回归的鸢尾花分类 .将数据集分隔为训练集和测试集(采用分层采样法) from sklearn.model_selection import train_test_split train_test_split()函数设置要包含分层采样设置
时间: 2024-09-26 19:17:03 浏览: 59
基于逻辑回归的鸢尾花分类通常用于二分类或多分类任务,比如经典的鸢尾花数据集(Iris dataset),其中包含了三种鸢尾花的不同品种。为了评估模型的性能并防止过拟合,我们会把数据划分为训练集和测试集。在这个过程中,我们可以使用`sklearn`库的`train_test_split`函数来完成。
首先,你需要导入所需的模块和数据:
```python
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# 加载鸢尾花数据集
iris = load_iris()
X = iris.data # 特征数据
y = iris.target # 类别标签
# 分层采样是为了保持各类别在训练集和测试集中比例一致
stratify = y # 设置分层采样的依据为类别标签
# 划分训练集和测试集,test_size设定为0.3(例如)表示30%的数据作为测试集,70%作为训练集
X_train, X_test, y_train, y_test = train_test_split(X, stratify, test_size=0.3, random_state=42, shuffle=True)
```
这里的`random_state`是一个可选参数,用于确保每次划分结果的一致性。`shuffle=True`意味着数据会被随机打乱再分割。
接下来,你可以用`LogisticRegression()`创建一个逻辑回归模型,并在训练集上训练它:
```python
model = LogisticRegression()
model.fit(X_train, y_train)
```
最后,你可以用测试集评估模型的表现:
```python
predictions = model.predict(X_test)
```
阅读全文