统计学第二章--感知机

感知机是一种较为简单的二分类模型,感知机旨在学习能够将输入数据划分为+1/-1的线性分离超平面,所以说整体而言感知机是一种线性模型。 

查看数据集

import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
# load data
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['label'] = iris.targetdf.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']
print(df.label.value_counts())plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='one')
plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='two')
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.legend()
plt.show()

 sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)

发现四个维度的数据,有两个维度就可以线性可分.

import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
# load data
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
df['label'] = iris.target# df.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']
# print(df.label.value_counts())
#
# plt.scatter(df[:50]['sepal length'], df[:50]['sepal width'], label='one')
# plt.scatter(df[50:100]['sepal length'], df[50:100]['sepal width'], label='two')
# plt.xlabel('sepal length')
# plt.ylabel('sepal width')
# plt.legend()
# plt.show()data = np.array(df.iloc[:100, [0,1,-1]])
print(data)
X, y = data[:,:-1], data[:,-1]
print(type(X))
y = np.array([1 if i == 1 else -1 for i in y])# 数据线性可分,二分类数据
# 此处为一元一次线性方程
class Model:def __init__(self):self.w = np.ones(len(data[0]) - 1, dtype=np.float32)print('self.w',self.w)self.b = 0self.l_rate = 0.1# self.data = datadef sign(self, x, w, b):y = np.dot(x, w) + breturn y# 随机梯度下降法def fit(self, X_train, y_train):is_wrong = Falsewhile not is_wrong:wrong_count = 0for d in range(len(X_train)):X = X_train[d]y = y_train[d]if y * self.sign(X, self.w, self.b) <= 0:self.w = self.w + self.l_rate * np.dot(y, X)self.b = self.b + self.l_rate * ywrong_count += 1if wrong_count == 0:is_wrong = Truereturn 'Perceptron Model!'def score(self):passperceptron = Model()
perceptron.fit(X, y)x_points = np.linspace(4, 7,10)
print('x_points=',x_points)
y_ = -(perceptron.w[0]*x_points + perceptron.b)/perceptron.w[1]
plt.plot(x_points, y_)plt.plot(data[:50, 0], data[:50, 1], 'bo', color='blue', label='one')
plt.plot(data[50:100, 0], data[50:100, 1], 'bo', color='orange', label='two')
plt.xlabel('sepal length')
plt.ylabel('sepal width')
plt.legend()
plt.show()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你坐飞机时可能意识不到,AI已经全流程为你保驾护航

作者 &#xff1a;Alyson Behr编译&#xff1a;机器之能 高璇、微胖摘要&#xff1a;AI在航空领域的应用比你目前所知的还要丰富。除了自动驾驶&#xff0c;从驾驶舱到后勤部门乃至客户体验&#xff0c;对于AI应用的探索几乎遍及整个行业。当「人工智能」和航空业结合在一起时…

pytorch基础知识+构建LeNet对Cifar10进行训练+PyTorch-OpCounter统计模型大小和参数量+模型存储与调用

整个环境的配置请参考我另一篇博客。ubuntu安装python3.5pycharmanacondaopencvdockernvidia-dockertensorflowpytorchCmake3.8_智障变智能-CSDN博客 中文文档:torch - PyTorch中文文档 github简单示例&#xff1a;多卡分布式教程&#xff0c;带有多卡mnist分布式训练和单卡训…

量子计算

来源&#xff1a;博客丨政策管理作者&#xff1a;贺飞&#xff08;北京大学&#xff09;摘要&#xff1a;量子计算&#xff1a;前途光明 道路曲折量子计算&#xff1a;前途光明 道路曲折&#xff08;一&#xff09;本周&#xff0c;美国国家科学院、工程院和医学院的一个由13…

深度学习可视化的一些工具+pytorch实现回归与卷积可视化

一.深度学习可视化的一些工具 1.深度学习网络结构画图工具:https://cbovar.github.io/ConvNetDraw/ 2.将.onnx放入即可,可视化网络结构:https://lutzroeder.github.io/netron/ 3.结构可视化工具:https://github.com/HarisIqbal88/PlotNeuralNet 二.回归 线性回归的损失函数…

《人工智能转型手册》,吴恩达 著

来源&#xff1a;量子位AI大者&#xff0c;为国为民。从今往后&#xff0c;市值5亿美元至5000亿美元的企业&#xff0c;都能用得上、用得会、用得好吴恩达的AI转型经验了。这是他在谷歌和百度带队AI的核心总结&#xff0c;也是他见得广、听得多、被咨询无数后的精华提炼。一册《…

Android Studio开发入门-引用jar及so文件

作者&#xff1a;王先荣 最近初学安卓开发&#xff0c;因为以前从未用过JAVA&#xff0c;连基本的语法都要从头开始&#xff0c;所以不太顺利。在尝试使用百度语音识别引擎时遇到了如何引用jar及so文件的问题。在GOOGLE加多次尝试之后&#xff0c;找到了一个比较简单的方法&…

腾讯杰出科学家写给2029的信:计算机视觉AI技术的爆点在哪里?

文 |腾讯杰出科学家、腾讯优图实验室负责人 贾佳亚 腾讯优图实验室总监 戴宇荣博士 郑冶枫博士近年来&#xff0c;计算机视觉AI技术发展迅速&#xff0c;尤其是人工智能的引入大大提升了算法的能力和实用性。在数不清的视觉AI应用中&#xff0c;我们认为未来技术的爆发点可能来…

pytorch实现Dropout与正则化防止过拟合

numpy实现dropout与L1,L2正则化请参考我另一篇博客 https://blog.csdn.net/fanzonghao/article/details/81079757 pytorch使用dropout与L2 import torch import matplotlib.pyplot as plt torch.manual_seed(1) # Sets the seed for generating random numbers.reproduc…

“蚁人”不再是科幻!MIT最新研究,能把任何材料物体缩小1000倍 | Science

来源&#xff1a;量子位科学加速&#xff0c;科幻成真也在加速。漫威世界中&#xff0c;蚁人是蚂蚁大小的超级英雄&#xff0c;靠一件“变身服”&#xff0c;人类就能在更微观的世界里大干一场。现在&#xff0c;类似的科幻想象&#xff0c;被MIT变成现实。丨小小小&#xff0c…

Android ARM指令学习

在逆向分析Android APK的时候&#xff0c;往往需要分析它的.so文件。这个.so文件就是Linux的动态链接库&#xff0c;只不过是在ARM-cpu下编译的。所以学习Android下的ARM指令很重要。目前&#xff0c;市面上的ARM-cpu基本都支持一种叫做THUMB的指令集模式。这个THUMB指令集可以…

cuda基础知识

nvidia-cuda 手册:https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#kernels nvidia cuda 教学视频 https://www.nvidia.cn/object/cuda_education_cn_old.html 介绍: CUDA编程模型是一个异构模型&#xff0c;需要CPU和GPU协同工作。在CUDA中&#xff0c;…

苹果着手自研调制解调器,以应对高通天价专利费

来源&#xff1a;DeepTech深科技近日&#xff0c;苹果官方发布一份招聘信息&#xff0c;其中有一个职位就非常惹人注意&#xff0c;根据信息&#xff0c;苹果准备招募两名蜂窝调制解调器系统架构师&#xff0c;一名构架师的工作地点在圣克拉拉&#xff0c;另一名构架师的工作地…

labelme标注文件转coco json,coco json转yolo txt格式,coco json转xml, labelme标注文件转分割,boxes转labelme json

参考&#xff1a;https://github.com/wkentaro/labelme 一.labelme标注文件转coco json 1.标注时带图片ImageData信息&#xff0c;将一个文件夹下的照片和labelme的标注文件&#xff0c;分成了train和val的coco json文件和照片&#xff0c; (COCO的格式&#xff1a; [x1,y1,…

“深度学习之父”大谈AI:寒冬不会出现,论文评审机制有损创新

来源&#xff1a; AI科技大本营整理&#xff1a;琥珀近日《连线》杂志发表了一篇文章&#xff0c;记录了与“深度学习之父” Geoffrey Hinton 围绕人工智能伦理、技术、学术等领域的采访实录。当被问到如今人工智能是否将走进寒冬时&#xff0c;Hinton 的回答非常坚决&#xff…

GDataXML解析XML文档

一、GDataXMLNode说明GDataXMLNode是Google提供的用于XML数据处理的类集。该类集对libxml2--DOM处理方式进行了封装&#xff0c;能对较小或中等的xml文档进行读写操作且支持XPath语法。 使用方法&#xff1a;1、获取GDataXMLNode.h/m文件&#xff0c;将GDataXMLNode.h/m文件添加…

RetinaNet+focal loss

one stage 精度不高&#xff0c;一个主要原因是正负样本的不平衡&#xff0c;以YOLO为例&#xff0c;每个grid cell有5个预测&#xff0c;本来正负样本的数量就有差距&#xff0c;再相当于进行5倍放大后&#xff0c;这种数量上的差异更会被放大。 文中提出新的分类损失函数Foca…

真实用户首次披露Waymo无人车服务体验: 为避开左转, 故意绕路

来源 &#xff1a;Ars Technica编译 &#xff1a;机器之能 高璇外国网友炸了&#xff1a;「就像看了一部大导演导的烂片一样。」在过去的 18 个月里&#xff0c;Waymo 的汽车一直在凤凰城的东南角运送乘客。该公司在合同中明确规定禁止乘客讨论用户体验&#xff0c;对项目信息进…

“横平竖直”进行连线+将相邻框进行合并

一.横平竖直”进行连线 解法1.将一些坐标点按照x相等,y相等连起来 解法1.根据 x或y总有一个相等的,用np.sum来找出和为1的点,然后在连起来,存在重复连线的问题. import numpy as npcoord np.array([[10, 60],[10, 20],[20, 20],[40, 40],[40, 60],[20, 40]])img np.zeros(…

一文看透汽车芯片!巨头布局技术路线全解密【附下载】| 智东西内参

来源&#xff1a;智东西摘要&#xff1a;一文看透汽车芯片&#xff01;巨头布局技术路线全解密智能驾驶涉及人机交互、视觉处理、智能决策等&#xff0c;核心是 AI 算法和芯片。伴随汽车电子化提速&#xff0c;汽车半导体加速成长&#xff0c;2017 年全球市场规模 288 亿美元&a…

详细介绍软件架构设计的三个维度

如果你对项目管理、系统架构有兴趣&#xff0c;请加微信订阅号“softjg”&#xff0c;加入这个PM、架构师的大家庭 架构设计是一个非常大的话题&#xff0c;不管写几篇文章&#xff0c;接触到的始终只是冰山一角&#xff0c;更多的是实践中去体会。这篇文章主要介绍面向对象OO、…