python 简单几句搞定逻辑回归AI算法

人工智能
后台-插件-广告管理-内容页头部广告(手机)

一、代码部分

from sklearn.svm

import SVC

from sklearn.model_selection import train_test_split

from sklearn.metrics import accuracy_score

import pandas as pd#

加载数据集data = pd.read_csv('county_data.csv') X = data.iloc[:, :-1] y = data.iloc[:, -1]

# 将数据集分为训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# 创建 SVM 模型对象clf = SVC(kernel='linear', C=1.0)

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

# 在测试集上进行预测并输出准确率

y_pred = clf.predict(X_test) accuracy = accuracy_score(y_test, y_pred)print("Accuracy:", accuracy)

一、详细注解

① 加载数据集:

data = pd.read_csv('county_data.csv'):使用 Pandas 读取名为 county_data.csv 的数据集。

X = data.iloc[:, :-1]:提取数据集中除最后一列之外的所有列作为特征数据 X。

y = data.iloc[:, -1]:提取数据集的最后一列作为标签数据 y。

② 数据集划分:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0):将数据集 X 和 y 按照 70%(训练集)和 30%(测试集)的比例划分,并将划分后的数据保存在 X_train、X_test、y_train 和 y_test 中。random_state=0 设置随机种子,以确保每次划分结果一致。

③ 创建 SVM 模型对象:

clf = SVC(kernel='linear', C=1.0):创建一个线性核的支持向量机(SVM)模型对象 clf。其中 kernel 参数指定核函数为线性核,C 参数为正则化参数。

④ 训练模型:

clf.fit(X_train, y_train):使用训练集 X_train 和 y_train 进行模型训练,拟合模型参数。

⑤ 预测及评估:

y_pred = clf.predict(X_test):对测试集 X_test 进行预测,得到预测结果 y_pred。

accuracy = accuracy_score(y_test, y_pred):使用真实标签 y_test 和预测结果 y_pred 计算模型的准确率。

print("Accuracy:", accuracy):输出模型在测试集上的准确率。

⑥ 逻辑回归的数学公式如下:

给定一个样本 x,逻辑回归将通过线性加权函数的形式计算样本的预测值 z:

z = b + w1*x1 + w2*x2 + ... + wn*xn

其中,b 是偏置项(常数项),w1、w2、...、wn 是权重参数,x1、x2、...、xn 是特征值。

然后,通过激活函数(如 Sigmoid 函数)将 z 映射到一个介于 0 到 1 之间的概率值 p:

p = sigmoid(z) = 1 / (1 + exp(-z))

此概率 p 可以被解释为属于正类的概率。如果我们设定一个阈值,例如 0.5,当 p 大于或等于该阈值时,我们将样本预测为正类;当 p 小于阈值时,我们将样本预测为负类。

python 简单几句搞定逻辑回归AI算法
后台-插件-广告管理-内容页尾部广告(手机)
标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。