11.14日报

完成机器学习B的实验,以下为实验内容:

上机实验二:逻辑回归算法实现与测试 1、实验目的 深入理解对数几率回归(即逻辑回归的)的算法原理,能够使用 Python 语言实现对数 几率回归的训练与测试,并且使用五折交叉验证算法进行模型训练与评估。 2、实验内容 推荐参考书:[1] 范淼, 李超. Python 机器学习及实践, 清华大学出版社. [2] Peter Harrington. 机器学习实战, 人民邮电出版社。 (1)从 scikit-learn 库中加载 iris 数据集,使用留出法留出 1/3 的样本作为测试集(注 意同分布取样); (2)使用训练集训练对数几率回归(逻辑回归)分类算法; (3)使用五折交叉验证对模型性能(准确度、精度、召回率和 F1 值)进行评估和选 择; (4)使用测试集,测试模型的性能,对测试结果进行分析,完成实验报告中实验二的 部分。

# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, accuracy_score

# 加载iris数据集
iris = load_iris()
X, y = iris.data, iris.target

# 使用留出法留出1/3的样本作为测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=1/3, random_state=42)

# 创建逻辑回归模型实例
logreg = LogisticRegression(max_iter=200)

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

# 在训练集上进行预测
y_train_pred = logreg.predict(X_train)

# 打印训练集的性能报告
print("Training set performance:")
print(classification_report(y_train, y_train_pred))
print("Training Accuracy:", accuracy_score(y_train, y_train_pred))

# 在测试集上进行预测
y_test_pred = logreg.predict(X_test)

# 打印测试集的性能报告
print("\nTest set performance:")
print(classification_report(y_test, y_test_pred))
print("Test Accuracy:", accuracy_score(y_test, y_test_pred))

 

posted @ 2024-11-27 10:44  Code13  阅读(7)  评论(0)    收藏  举报