首页 > 其他分享 >感知机代码

感知机代码

时间:2024-08-07 20:49:39浏览次数:10  
标签:iris train 代码 Sample 感知机 num test import

# -*- coding: utf-8 -*- """ Created on Wed Aug 7 20:50:03 2024 @author: 田雨 """ # -*- coding: UTF-8 -*- # 导入iris数据集 from sklearn.datasets import load_iris # 导入数据划分包 from sklearn.model_selection import train_test_split # 导入感知机模型包 from sklearn.linear_model import Perceptron # 导入基本函数库 import matplotlib.pyplot as plt import pandas as pd import numpy as np # 定义样本数量 global Sample_num Sample_num = 100 iris = load_iris() ## 取出iris的标签 iris_target = iris.target iris_features = pd.DataFrame(iris.data, columns=iris.feature_names) ## 将标签并入数组 iris_features['target'] = iris_target iris_features.columns=['sepal length', 'sepal width', 'petal length', 'petal width', 'label'] # 取出样本集,使用前两个特征 x = np.array(iris_features.iloc[:Sample_num,0:2]) y = iris_target[:Sample_num] # 切分数据集,70%训练集,30%测试集 x_train, x_test, y_train, y_test = train_test_split(x,y,test_size = 0.3) # 定义感知机 pla = Perceptron( fit_intercept=False, # 不计算偏置 shuffle = False # 在每个epoch重新打乱洗牌 ) # 模型训练 pla.fit(x_train,y_train) # 输出权重和偏差 w = pla.coef_ b = pla.intercept_ print(f"权重(w) = {w}\n偏差(b) = {b}") # 模型测试 result = pla.score(x_test,y_test) print(f"测试结果准确率为:{result}") #—————————————————————————— 画图—————————————————————————————— # 分开正例反例 # 正例横坐标 positive_x = [x[i,0] for i in range(Sample_num) if y[i] == 1] # 正例纵坐标 positive_y = [x[i,1] for i in range(Sample_num) if y[i] == 1] # 反例横坐标 negetive_x = [x[i,0] for i in range(Sample_num) if y[i] == 0] # 反例纵坐标 negetive_y = [x[i,1] for i in range(Sample_num) if y[i] == 0] # 画出散点图 plt.scatter(positive_x,positive_y,c='r') plt.scatter(negetive_x,negetive_y,c='b') # 画出超平面 line_x = np.arange(4,8) # w[0][0]x+w[0][1]y+b=0 => 斜率:-w[0][0]/w[0][1]) 截距:-b/w[0][1] line_y = line_x*(-w[0][0]/w[0][1])-b/w[0][1] plt.plot(line_x,line_y) plt.show()

标签:iris,train,代码,Sample,感知机,num,test,import
From: https://www.cnblogs.com/tyworld/p/18347879

相关文章

  • 最小二乘法原理推导+代码实现[Python]
    0.前言本文主要介绍了最小二乘法公式推导,并且使用Python语言实现线性拟合。读者需要具备高等数学、线性代数、Python编程知识。请读者按照文章顺序阅读。绘图软件为:geogebra5。1.原理推导1.1应用最小二乘法在购房中的应用通常涉及房价预测和房屋定价方面。这种统计方法通......
  • web页面中直接调用c++/c/go代码?【wasm】
    背景最近在做rosbag的可视化工具,网上找了个源码参考(foxglove)。成功down下来,跑起来了。于是乎,开始研究前后端代码;结果居然花了一下午没找到后端代码,不明白为什么纯web页面就可以解析rosbag(以前都是用node.js或者c++代码解析的)。过程在找了一下午之后,又回到了老办法;看netork,果然......
  • 代码随想录day 48 每日温度 | 下一个更大元素 I | 下一个更大元素II
    每日温度每日温度解题思路单调栈的意思其实是指栈内的元素单调递增/递减,我们可以通过这个特性存储元素的下标,然后每次入栈时与栈顶坐标的元素进行比较,如果小于等于就不需要弹出直接存入,如果大于,则需要不断弹出栈顶直到遇到一个小于其的栈顶元素或者栈为空。知识点单调栈心......
  • 所有输入(代码形式)
    include<bits/stdc++.h>usingnamespacestd;charch[10];inta;intmain(){scanf("%s%d",ch+1,a);//scanf丢弃开头空白字符//缓冲区之间遇到空格认为读取完毕一次//缓冲区末尾换行符\n滞留//%dint*//%uunsignedint*//%oint*//%xint*//%f%e%gfloat*//......
  • 30% 代码由 AI 生成,单测准确率达到 90%,我在阿里巴巴国际站推广通义灵码
    我叫狄建业,花名薛岳,2014年2月加入阿里。我在阿里的工作经历主要分成几个阶段,第一阶段是2014年到2017年左右,一直在1688服务上做研发。第二阶段是2018年后加入ICBU(阿里巴巴国际站),前期在做订购、CRM相关的工作。这两年我主要是负责商家整体的架构以及AI的探索与创新。......
  • 30% 代码由 AI 生成,单测准确率达到 90%,我在阿里巴巴国际站推广通义灵码
    我叫狄建业,花名薛岳,2014年2月加入阿里。我在阿里的工作经历主要分成几个阶段,第一阶段是2014年到2017年左右,一直在1688服务上做研发。第二阶段是2018年后加入ICBU(阿里巴巴国际站),前期在做订购、CRM相关的工作。这两年我主要是负责商家整体的架构以及AI的探索与创新。......
  • 通义灵码代码大模型应用实践访谈
    2024年6月26日,中国信息通信研究院(以下简称“中国信通院”)在可信AI·南京人工智能产业发展论坛正式发布了代码大模型评估结果。可信AI代码大模型评估结果证书颁发阿里云计算有限公司的通义灵码代码大模型顺利通过评估,获得目前最高等级4+级。该等级代表阿里云通义灵码......
  • 通义灵码代码大模型应用实践访谈
    2024年6月26日,中国信息通信研究院(以下简称“中国信通院”)在可信AI·南京人工智能产业发展论坛正式发布了代码大模型评估结果。可信AI代码大模型评估结果证书颁发阿里云计算有限公司的通义灵码代码大模型顺利通过评估,获得目前最高等级4+级。该等级代表阿里云通义灵码......
  • python装饰器提高代码复用,减少代码量,简洁易懂
    装饰器提高代码复用,减少代码量对于一个程序程序,无论是c、java、go还是python,组成这段程序的代码需要越简单越好,要知道程序的代码越简单,代码量越少,出错的概率就小,维护起来也简单。针对python语言,装饰器是我最近发现的针对简化代码,特别有帮助的工具。下面我用两段代码,演示一下同样......
  • python,怎么用工厂模式设计代码?
    工厂模式打造工厂模式,需要抽象工厂和具体工厂。怎么理解?抽象工厂就是接口的定义,但不负责具体的实现。而具体工厂则需要负责定义的接口的实现。就好比你爸爸让你上街时带一瓶酱油,而具体买什么牌子的由你决定。”你爸爸让带一瓶酱油“就是接口的定义函数,这个函数只负责定义”要求“......