北京哪家做网站,wordpress接口发布文章,wordpress给图片加链接,滨州市住房和城乡建设厅网站0、前言#xff1a;
Logistic回归是解决分类问题的一种重要的机器学习算法模型 1、基本原理#xff1a;
Logistic Regression 首先是针对二分类任务提出的一种分类方法如果将概率看成一个数值属性#xff0c;则二元分类问题的概率预测就可以转化为一个回归问题。这种思路最…0、前言
Logistic回归是解决分类问题的一种重要的机器学习算法模型 1、基本原理
Logistic Regression 首先是针对二分类任务提出的一种分类方法如果将概率看成一个数值属性则二元分类问题的概率预测就可以转化为一个回归问题。这种思路最简单的实现就是直接采用特征组的回归模型来预测概率但是回归模型的预测结果无法控制在[0,1]之间。这时Sigmoid函数就派上用场了。 Logistic Regression 算法 输入m条训练数据 输出是逻辑回归函数的对数损失函数目的是使损失函数的值最小将分类问题转换为了回归问题 目标函数称为交叉熵目标就是使交叉熵最下这样就可以使损失函数的值最小 2、用Logistic模型做手写数字识别
代码
# 导入三件套
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# 导入手写数字数据集
from sklearn.datasets import load_digitsData load_digits()
# 拿数据
data Data[data]
target Data[target]
target_names Data[target_names]
feature_names Data[feature_names]
images Data[images]# 划分数据集
from sklearn.model_selection import train_test_splitx_train, x_test, y_train, y_test train_test_split(data,target,test_size0.2)
display(x_train.shape,y_train.shape,x_test.shape,y_test.shape)(1437, 64)
(1437,)
(360, 64)
(360,)
# 导入机器学习模型
from sklearn.linear_model import LogisticRegression逻辑回归模型参数说明
1、penalty选择l2正则默认就是l2
2、C1.0默认是1.0惩罚因子越大越严格可能导致过拟合太小又可能欠拟合
3、solver优化算法有{newton-cg,libfgs,liblinear,sag,saga}默认libfgsnewton-cg、libfgs适用中数据集sag、saga适用大量数据集10万采用部分样本进行梯度下降随机平均梯度下降不适合%%sh数据集liblinear一般适用小数据集适用的是liblinear库后面会使用自动调参会自动选择适合的优化算法
4、max_iter:最大迭代次数默认100如果不够会警告,就要根据警告不断调节注意只有{sag,libfgsnewton-cg}才会使用该参数
5、n_jobs多进程处理一般设置为CPU数量的1-2倍电脑winr输入msinfo32查看cpu# Lg LogisticRegression(
# solver lbfgs,
# max_iter 2500
# )
Lg LogisticRegression(solverliblinear)
%timeit Lg.fit(x_train,y_train) # 149 ms ± 3.58 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)# 测试数据得分
Lg.score(x_test,y_test) # 0.9611111111111111
# 模型得分
Lg.score(x_train,y_train) # 0.9937369519832986# 对比KNN模型
from sklearn.neighbors import KNeighborsClassifierknn KNeighborsClassifier()
%timeit knn.fit(x_train, y_train) # 590 µs ± 17.5 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)# 计算测试集得分
knn.score(x_test,y_test) # 0.9833333333333333
# 计算模型得分
knn.score(x_train,y_train) # 0.9916492693110647 3、总结
在使用Logistic模型时要根据数据集大小调整模型优化算法。通过实验发现Logistic回归算法训练时间比KNN要长但是预测时间要比KNN短。