📅  最后修改于: 2023-12-03 15:20:09.404000             🧑  作者: Mango
逻辑回归是一个用于解决二分类问题的算法,在机器学习领域有着广泛的应用。在sklearn中,逻辑回归可以通过LogisticRegression类来实现。除了预测输出的分类外,我们还可以通过该类获取概率值,本文将介绍如何通过sklearn逻辑回归得到概率。
首先,我们需要有一个数据集,以下为一个简单的示例数据集,其中包含两个特征:“x1”和“x2”,以及一个目标变量“y”,它取值为0或1。
import pandas as pd
data = {'x1': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'x2': [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
'y': [0, 0, 0, 1, 1, 1, 1, 1, 1, 1]}
df = pd.DataFrame(data)
接下来,我们需要训练一个逻辑回归模型。在sklearn中,我们可以通过调用LogisticRegression类来实现。
from sklearn.linear_model import LogisticRegression
X = df[['x1', 'x2']].values
y = df['y'].values
lr_model = LogisticRegression()
lr_model.fit(X, y)
得到了LogisticRegression模型后,我们可以用它来预测某个数据点所属的类别(0或1)。
# 预测点[3, 6]所属类别
lr_model.predict([[3, 6]]) # 输出array([0])
# 预测点[7, 14]所属类别
lr_model.predict([[7, 14]]) # 输出array([1])
我们还可以通过调用predict_proba方法来获取预测概率。该方法返回的是一个数组,其中每个元素是一个表示“属于类别1”的概率值。
# 预测点[3, 6]属于类别1的概率值
lr_model.predict_proba([[3, 6]]) # 输出array([[0.68668813, 0.31331187]])
# 预测点[7, 14]属于类别1的概率值
lr_model.predict_proba([[7, 14]]) # 输出array([[0.13984355, 0.86015645]])
通过调用sklearn的LogisticRegression类,我们可以训练一个逻辑回归模型,并用它来预测某个数据点所属的类别,同时还可以通过predict_proba方法获取预测概率。以上便是通过sklearn逻辑回归得到概率的介绍。