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

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

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

代码

python 复制代码
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-10, 10, 100)
y = 1 / (1 + np.exp(-x))
plt.plot(x, y)
plt.show()

激活函数sigmoid

python 复制代码
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)
python 复制代码
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_)
相关推荐
weixin_307779132 分钟前
RAG 级联失效分析——面试中的错误归因艺术
人工智能·python·面试·职场和发展
骑着蜗牛撵大象3273 分钟前
闲鱼捡漏自动化:关键词加价格上限先粗筛,AI 大模型再做第一轮判定
大数据·人工智能·ai·自动化·二手交易·闲鱼·关键词监控
AI创界者5 分钟前
Python 进阶实战(十八):API 网关安全与异步鉴权中间件 —— 基于 AsyncIO 的 JWT 零拷贝验权与动态黑名单过滤
人工智能·python·aigc
涛声依旧-底层原理研究所8 分钟前
可控执行系统:企业 Agent 从演示到生产的架构重构
人工智能·架构
Data-Miner10 分钟前
不本地部署,大模型怎么安全用?
大数据·人工智能·安全
zwc321043205512 分钟前
Day 5:threshold与inRange阈值分割
c++·图像处理·人工智能·opencv·算法·计算机视觉
johnsong17 分钟前
AI前沿日报 · 2026-10-30 | 重构时刻——当基础设施开始重新洗牌
人工智能·重构
呆呆敲代码的小Y18 分钟前
【实战精选面试题】Unity精选面试题详细解答,按模块整理汇总
人工智能·游戏·unity·游戏引擎
意图共鸣24 分钟前
意图共鸣科技 · 时间胶囊(五)|认知中间层:设计思路与《认知律》
人工智能
深蓝AI3 小时前
10 万星投给了记忆:claude-mem 把编码 Agent 的断片压进 SQLite,值不值得装
人工智能·程序员