首页 > 编程语言 >机器学习算法:逻辑回归api介绍

机器学习算法:逻辑回归api介绍

时间:2023-01-15 16:00:38浏览次数:66  
标签:逻辑 LogisticRegression api 算法 train test import data liblinear


学习目标

  • 知道逻辑回归api的用法

  • sklearn.linear_model.LogisticRegression(solver='liblinear', penalty=‘l2’, C = 1.0)
  • solver可选参数:{'liblinear', 'sag', 'saga','newton-cg', 'lbfgs'},
  • 默认: 'liblinear';用于优化问题的算法。
  • 对于小数据集来说,“liblinear”是个不错的选择,而“sag”和'saga'对于大型数据集会更快。
  • 对于多类问题,只有'newton-cg', 'sag', 'saga'和'lbfgs'可以处理多项损失;“liblinear”仅限于“one-versus-rest”分类。
  • penalty:正则化的种类
  • C:正则化力度

默认将类别数量少的当做正例

LogisticRegression方法相当于 SGDClassifier(loss="log", penalty=" "),SGDClassifier实现了一个普通的随机梯度下降学习。而使用LogisticRegression(实现了SAG)

案例:癌症分类预测-良/恶性乳腺癌肿瘤预测

学习目标

  • 通过肿瘤预测案例,学会如何使用逻辑回归对模型进行训练

1 背景介绍

  • 数据介绍

机器学习算法:逻辑回归api介绍_缺失值

 

原始数据的下载地址:​​https://archive.ics.uci.edu/ml/machine-learning-databases/​

数据描述

(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤

相关的医学特征,最后一列表示肿瘤类型的数值。

(2)包含16个缺失值,用”?”标出。

2 案例分析

1.获取数据
2.基本数据处理
2.1 缺失值处理
2.2 确定特征值,目标值
2.3 分割数据
3.特征工程(标准化)
4.机器学习(逻辑回归)
5.模型评估

3 代码实现

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

import ssl
ssl._create_default_https_context = ssl._create_unverified_context
# 1.获取数据
names = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape',
'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin',
'Normal Nucleoli', 'Mitoses', 'Class']

data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data",
names=names)
data.head()
# 2.基本数据处理
# 2.1 缺失值处理
data = data.replace(to_replace="?", value=np.NaN)
data = data.dropna()
# 2.2 确定特征值,目标值
x = data.iloc[:, 1:10]
x.head()
y = data["Class"]
y.head()
# 2.3 分割数据
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=22)
# 3.特征工程(标准化)
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)
# 4.机器学习(逻辑回归)
estimator = LogisticRegression()
estimator.fit(x_train, y_train)
# 5.模型评估
y_predict = estimator.predict(x_test)
y_predict
estimator.score(x_test, y_test)

在很多分类场景当中我们不一定只关注预测的准确率!!!!!

比如以这个癌症举例子!!!我们并不关注预测的准确率,而是关注在所有的样本当中,癌症患者有没有被全部预测(检测)出来。


4 小结

  • 肿瘤预测案例实现【知道】
  • 如果数据中有缺失值,一定要对其进行处理
  • 准确率并不是衡量分类正确的唯一标准

标签:逻辑,LogisticRegression,api,算法,train,test,import,data,liblinear
From: https://blog.51cto.com/u_8238263/6008806

相关文章

  • Geohash算法
                   ......
  • 常见算法的拓展
    \(\large\text{Floyed--最小环}\)题目链接思路:枚举环上一条路径\(i\)至\(j\),那么该环一定由是一条\(k\)至\(i\)的边和该路径再加\(j\)至\(k\)的边。在取最......
  • 常用算法模板
    BFS单向BFS不记录层数whilequeue不空:cur=queue.pop()for节点incur的所有相邻节点:if该节点有效且未访问过:queue.push(该节点)......
  • Canvas 图形-01:Canvas介绍、Canvas API
    Canvas介绍、CanvasAPICanvas介绍Canavs是HTML5规范的一部分,需要使用<canvas></canvas>在HTML中标注使用。实际操作的是canvas的context。Context2D是基于状态的,拥有......
  • UG提示api-ms-win-crt-runtime-l1-1-0.dll丢失的终极解决办法
    出现api-ms-win-crt-runtime-l1-1-0.dll丢失原因    应该是用户操作系统的原因,笔者安装了两台电脑,一台是win7sp1版本的,没有出现api-ms-win-crt-runtime-l1-1-0.dl......
  • 【数据结构与算法】二分查找算法(C++实现)
    两种写法,取决于划分规则。这两种写法是学的yxc的,至此以后,写二分查找再也不含糊了!yxc的分享在此:二分查找算法模板第一种写法:boolbinarySearch(vector<int>&nums,int......
  • 算法--2023.1.15
    1.力扣198--打家劫舍classSolution{publicintrob(int[]nums){intn=nums.length;int[]dp=newint[n+1];dp[0]=0;......
  • 话费充值API接口
    ―、引言1.1 文档概述本文档提供话费充值接口规范说明,提供一整套的完整的接入示例(http接口)供商户参考,可以帮助商户开发人员快速完成接口开发与联调,实现与话费充值系......
  • 算法刷题 Day 16 | 104.二叉树的最大深度 111.二叉树的最小深度 222.完全二叉树的节点
    今日内容:二叉树的最大深度559.n叉树的最大深度二叉树的最小深度完全二叉树的节点个数迭代法,大家可以直接过,二刷有精力的时候再去掌握迭代法。详细布置104......
  • (11)go-micro微服务雪花算法
    目录一雪花算法介绍二雪花算法优缺点三雪花算法实现四最后一雪花算法介绍雪花算法是推特开源的分布式ID生成算法,用于在不同的机器上生成唯一的ID的算法。该算法生......