利用sklearn中的逻辑回归模型对iris 数据集进行二分类
时间: 2023-12-10 13:37:30 浏览: 142
基于逻辑回归模型对 iris 数据进行二分类和多分类-sklearn实现.zip
5星 · 资源好评率100%
首,我们需要加载iris数据集并进行预处理。这里我们将把类别标签“setosa”设为正类,其他两个类别设为负类。
```
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# 加载数据集
iris = load_iris()
# 取出前两个特征
X = iris.data[:, :2]
# 设定类别标签
y = iris.target
y = (y == 0).astype(int)
# 数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 数据预处理
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
```
接下来,我们可以使用逻辑回归模型进行训练和预测。这里我们使用默认参数,即L2正则化。
```
from sklearn.linear_model import LogisticRegression
# 创建模型并进行训练
lr = LogisticRegression()
lr.fit(X_train, y_train)
# 对测试集进行预测
y_pred = lr.predict(X_test)
# 计算准确率
accuracy = lr.score(X_test, y_test)
print('Accuracy:', accuracy)
```
运行以上代码,可以得到测试集的准确率为0.933。
阅读全文