one V all

本文介绍了一个基于Python的逻辑回归分类器实现,该分类器使用梯度下降法进行参数更新,并通过sigmoid函数预测鸢尾花数据集中的类别。文章详细展示了如何将原始数据分为训练集和测试集,再利用训练数据拟合模型,最终在测试集上评估模型准确率。
from sklearn.datasets import load_iris
from sklearn.cross_validation import train_test_split
import numpy as np

def sGradDescent(x,y):
    alpha=0.01
    deviation = 1
    iter = 0    
    w=np.random.rand(4)
    while True:
        for i in range(112): 
            deviation = 0
            h = w[0] * x[i][0] + w[1] * x[i][1]+w[2] * x[i][2] + w[3] * x[i][3]
            for j in range(4):
                w[j] = w[j] + alpha * (y[i] - h)*x[i][j]
        iter = iter + 1
        for i in range(112):
            deviation = deviation + (y[i] - (w[0] * x[i][0] + w[1] * x[i][1]+w[2] * x[i][2] + w[3] * x[i][3])) ** 2
        if iter >150 :           
            break
    return w

def sigmoid(x):
    return (1/(1+np.exp(-x)) )      

if __name__=="__main__":
 
    data = load_iris()   
    X = data.data  
    y = data.target    
    features = data.feature_names  
    targets = data.target_names  
    X_train_raw, X_test_raw, y_train, y_test = train_test_split(X,y)#112,38
    weight1 = []  
    ih=[]
    for i in range(3):
        labelMat1 = []  
        for j in range(112):
            if y_train[j] == i:  
                labelMat1.append(  1)
            else:  
                labelMat1.append(0)  
        weight1.append(sGradDescent(X_train_raw,labelMat1))
    for j in range(38):  
        ob=0
        h=np.zeros(3)
        for i in range(3):  
            ob=X_test_raw[j][0]*weight1[i][0]+X_test_raw[j][1]*weight1[i][1]+X_test_raw[j][2]*weight1[i][2]+X_test_raw[j][3]*weight1[i][3]
            h[i] = sigmoid(ob)
        voteResult=h.tolist()
        ih.append(voteResult.index(max(voteResult))  )
      #  print(np.where(h==np.max(h)),y_test[j])
    error = 0.0  
    for j in range(38):  
        if ih[j] != y_test[j]:  
            error = error +1      
    pro = 1 - error / 38
    print (pro) 

 

### OneForAll 工具概述 OneForAll 是一款由米斯特安全团队开发的功能强大且高效的子域收集工具[^3]。此工具专为提升渗透测试过程中子域名收集的效率而设计,支持多种接口和模块,可以迅速有效地搜集目标网站的子域名信息。 #### 主要功能特性 - **多源数据采集**:集成多个在线服务API以及被动扫描技术,确保尽可能全面地覆盖目标站点下的所有子域名。 - **自动化处理流程**:内置了自动化的DNS解析、HTTP请求等功能,不仅能够获取子域名的状态码、标题等基本信息,还能进一步确认其是否真实存在并处于活动状态[^4]。 - **灵活的任务管理**:允许用户通过命令行参数轻松定义目标任务范围,并提供详细的日志记录以便后续分析。 #### 使用方法简介 为了方便部署与运行,官方提供了基于Docker容器化的方式来进行安装和操作: ```bash docker pull shmilylty/oneforall docker run -it --rm \ -v ~/results:/OneForAll/results \ -v ~/.config:/OneForAll/config \ oneforall --target example.com run ``` 上述脚本会从远程仓库拉取最新版本的一键式环境镜像,在本地启动临时实例执行指定的目标(`example.com`)子域名探测任务,最后将结果保存到宿主机相应目录下供查看[^2]。 #### 应用场景举例 在实际工作中,OneForAll 可广泛应用于各类网络安全评估活动中,特别是在前期情报收集阶段发挥重要作用。例如,在对企业网络架构进行全面审查之前,利用该工具可以帮助红队成员快速摸清对方资产分布状况;对于蓝队而言,则可用于定期盘点内部资源变动情况,及时发现潜在风险点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值