当前位置: 代码迷 >> 综合 >> Task01:基于逻辑回归的分类预测
  详细解决方案

Task01:基于逻辑回归的分类预测

热度:29   发布时间:2024-02-12 22:57:50.0

逻辑回归模型的优劣势:

优点:实现简单,易于理解和实现;计算代价不高,速度很快,存储资源低;
缺点:容易欠拟合,分类精度可能不高

Demo 实践

## 基础函数库 
import numpy as np 
## 导入画图库 
import matplotlib.pyplot as plt 
import seaborn as sns
## 导入逻辑回归模型函数 
from sklearn.linear_model import LogisticRegression
##Demo演示LogisticRegression分类
## 构造数据集 
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]]) 
y_label = np.array([0, 0, 0, 1, 1, 1])
## 调用逻辑回归模型 
lr_clf = LogisticRegression()
## 用逻辑回归模型拟合构造的数据集 
lr_clf = lr_clf.fit(x_fearures, y_label) #其拟合方程为 y=w0+w1*x1+w2*x2
print(lr_clf)
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,intercept_scaling=1, l1_ratio=None, max_iter=100,multi_class='auto', n_jobs=None, penalty='l2',random_state=None, solver='lbfgs', tol=0.0001, verbose=0,warm_start=False)
print(x_fearures)
[[-1 -2][-2 -1][-3 -2][ 1  3][ 2  1][ 3  2]]
x2=np.array([[-2,-5],[-1,3],[2,1],[6,7]])
c2=lr_clf.predict(x2)
x3=np.array([[1,2]])
c3=lr_clf.predict(x3)
print(c2)
print(c3)
[0 1 1 1]
[1]
## 查看其对应模型的w 
print('the weight of Logistic Regression:',lr_clf.coef_)## 查看其对应模型的w0 
print('the intercept(w0) of Logistic Regression:',lr_clf.intercept_)
the weight of Logistic Regression: [[0.73455784 0.69539712]]
the intercept(w0) of Logistic Regression: [-0.13139986]
help(LogisticRegression)
## 可视化构造的数据样本点#plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
#num:图像编号或名称,数字为编号 ,字符串为名称
#figsize:指定figure的宽和高,单位为英寸;
#dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1英寸等于2.5cm,A4纸是 21*30cm的纸张 
#facecolor:背景颜色
#edgecolor:边框颜色
#frameon:是否显示边框
plt.figure() #散点图
#plt.scatter(x, y, s, c ,marker, alpha):x,y: x轴与y轴的数据
#s: 点的面积
#c: 点的颜色
#marker: 点的形状
#alpha: 透明度
plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis') plt.title('Dataset') 
# 展示图标
plt.show()

在这里插入图片描述