机器学习中的逻辑回归模型(代码分析)

逻辑回归函数中,若继续使用线性回归模型中的代价函数,由于逻辑回归函数非凸的特性,其求不出局部最小值,故需要引入新的代价函数,损失函数(loss fuction),下图右侧为逻辑回归模型的代价函数,想让不能用梯度下降法。

机器学习中的逻辑回归模型(代码分析)_第1张图片

下方为具体实现关于逻辑回归模型中关于糖尿病诊断的具体例子:

首先获取具体的糖尿病患者的具体信息,将其储存在csv文件中,方便函数的调用以及使用。

我们此次需要使用的是pandas库以及sklearn库中的logisticregresstion,其头文件为:

# 导入需要的库
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

如之前一般,我们需要导入相关的数据集进行分析:

data = pd.read_csv("diabetes.csv")

这之中,data就存储着我们需要的数据,后需要对其进行分类:

# 分离特征和标签
X = data.drop("Outcome", axis=1)
y = data["Outcome"]

这之中“outcome”便是结果,而“x”是无需要第一行以及outcome的,故进行了第一步的数据处理。

而后我们需要对数据进行划分,将其分为训练集以及测试集,方便对模型进行设计,其中运用洗牌函数random_state:

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

而后对模型进行创建以及拟合训练集中的数据:

# 创建逻辑回归模型并拟合数据
lr_model = LogisticRegression()
lr_model.fit(X_train, y_train)

后又是熟悉的测试集上对数据进行预测,预测值记为“y_pred”,如下:

# 在测试集上进行预测
y_pred = lr_model.predict(X_test)

后使用accuracy_score进行计算其准确率

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy

代码整合为:

# 导入需要的库
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载数据集
data = pd.read_csv("diabetes.csv")

# 分离特征和标签
X = data.drop("Outcome", axis=1)
y = data["Outcome"]

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建逻辑回归模型并拟合数据
lr_model = LogisticRegression()
lr_model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = lr_model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

你可能感兴趣的:(机器学习,逻辑回归,人工智能)