python人工智能 scikit-learn逻辑回归: 用 scikit-learn 实现一个 线性回归 任务,代码方案分享
程序背景与用途:
本程序旨在使用scikit-learn库实现一个简单的逻辑回归任务。逻辑回归是一种常用的机器学习算法,用于解决二分类问题。它通过拟合一个逻辑函数来预测样本属于某个类别的概率。在本例中,我们将使用一个示例数据集,其中包含了一些学生的考试成绩和是否通过考试的标签。我们的目标是训练一个逻辑回归模型,以便根据学生的考试成绩预测他们是否通过考试。
代码结构:
- 导入所需的库和模块
- 准备数据
- 拟合逻辑回归模型
- 进行预测
- 评估模型性能
代码解释:
以下是实现逻辑回归任务的代码示例:
# 1. 导入所需的库和模块
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 2. 准备数据
# 示例数据集
X = np.array([[60, 70], [70, 80], [80, 90], [90, 95]]) # 特征
y = np.array([0, 0, 1, 1]) # 标签
# 3. 拟合逻辑回归模型
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 划分训练集和测试集
model = LogisticRegression() # 创建逻辑回归模型对象
model.fit(X_train, y_train) # 拟合模型
# 4. 进行预测
predicted = model.predict(X_test) # 预测结果
# 5. 评估模型性能
accuracy = accuracy_score(y_test, predicted) # 准确率
# 打印预测结果和准确率
print("预测结果:", predicted)
print("准确率:", accuracy)
在上述代码中,我们首先导入了所需的库和模块,包括NumPy和scikit-learn中的LogisticRegression
类、train_test_split
函数和accuracy_score
函数。然后我们准备了示例数据集,其中X
是特征矩阵,y
是对应的标签向量。
接下来,我们使用train_test_split
函数将数据集划分为训练集和测试集,其中测试集占总样本的20%。然后我们创建了一个逻辑回归模型对象model
,并使用fit()
方法拟合模型,将训练集的特征矩阵X_train
和标签向量y_train
作为输入。这样,模型就能学习特征和标签之间的关系。
然后,我们使用predict()
方法对测试集的特征矩阵X_test
进行预测,得到预测结果predicted
。
最后,我们使用accuracy_score()
函数评估模型的性能,计算预测结果predicted
与测试集标签向量y_test
之间的准确率。
最后,我们打印了预测结果和准确率。
注意:以上代码示例中的数据和特征仅用作演示目的,请根据实际情况进行相应更改。