当前位置: 首页 > news >正文

机器学习(13):逻辑回归

逻辑回归的输入是线性回归的输出

线性回归的输出是连续值(如 h(w)=w1​x1​+w2​x2​+...+b),而 sigmoid 函数可以将这个连续输出映射到 [0, 1] 区间,使其具备概率含义。

代码 

import numpy as np
import matplotlib.pyplot as pltx = np.linspace(-10, 10, 100)
y = 1 / (1 + np.exp(-x))
plt.plot(x, y)
plt.show()

 激活函数sigmoid

 

from sklearn.linear_model import LogisticRegression
import pandas as pd 
from sklearn.feature_extraction import DictVectorizer
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
data = pd.read_csv("./src/titanic/titanic.csv")
print(data.columns)y = data["survived"].values
x = data[["pclass", "age", "sex"]]
# x[["age"]].fillna(x[["age"]].mean(), inplace=True)
# print(y.shape,type(y))
# print(x.head())
x["age"].fillna(x["age"].mean(), inplace=True)#对空值进行处理
x= x.to_dict(orient="records")# print(x[:5])
dicter = DictVectorizer(sparse=False)
x=dicter.fit_transform(x)
print(dicter.get_feature_names_out())
print(x[:5])scaler = StandardScaler()
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=42)  
x_train = scaler.fit_transform(x_train)  
x_test = scaler.transform(x_test)model = LogisticRegression(max_iter=1000,fit_intercept=True)
model.fit(x_train,y_train)score = model.score(x_test,y_test)
print(score)

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
x,y = load_iris(return_X_y=True)
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=42)model = LogisticRegression(max_iter=5000)
model.fit(x_train,y_train)score = model.score(x_test,y_test)
print(score)
x_new=[[5,5,4,2],[1,1,4,3]]
y_predict = model.predict(x_new)
y_por = model.predict_proba(x_new)
print(y_predict)
print(y_por)
print(model.coef_)
print(model.intercept_)

http://www.lryc.cn/news/610494.html

相关文章:

  • Go语言 并发安全sync
  • 华为OD机考2025C卷 - 开源项目热度榜单 (Java Python JS C++ C )
  • C语言:构造类型学习
  • python基础:数据解析BeatuifulSoup,不需要考虑前端形式的一种获取元素的方法
  • 笛卡尔坐标
  • RabbitMQ--介绍
  • Windows中Idea或者其他开发工具如何使用Google Sans Code - 码农开源等宽字体
  • 赛灵思ZYNQ官方文档UG585自学翻译笔记:General Purpose I/O (GPIO)通用输入 / 输出
  • 【C++】语法基础篇
  • mybatis知识
  • 第12届蓝桥杯Scratch_选拔赛_初级组_真题2020年9月20日
  • NetBSD notes
  • 数据结构——单向链表部分操作及valgrind安装
  • 网络资源模板--基于Android Studio 实现的消消乐游戏
  • 机器学习05——正则化与逻辑回归
  • Linux Epool的作用
  • ssh连接VirtualBox中的Ubuntu24.04(win11、putty、NAT 模式)
  • Redis真的是单线程的吗?
  • (五)系统可靠性设计
  • 深度残差网络ResNet结构
  • 网络相关命令
  • 30天入门Python(基础篇)——第31天:标准库学习之re模块
  • 【BUUCTF系列】[SUCTF 2019]EasySQL1
  • Linux开发利器:探秘开源,构建高效——基础开发工具指南(下)【make/Makefile】
  • 单向链表练习
  • TCP 协议的“无消息边界”(No Message Boundaries)特性
  • Java 的 APT(Annotation Processing Tool)机制详解
  • 区块链 和 一致性哈希的结合
  • SpringBoot+SpringMVC常用注解
  • 可视化图解算法57:字符串的排列