数据分析
文章平均质量分 77
柚子味的羊
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
机器学习基础篇(十二)——多层感知机
机器学习基础篇(十二)——多层感知机一、概述多层感知机(MLP:Multi-Layer Perceptron)由感知机(PLA: Perceptron Learning Algorithm)推广而来。它最主要的特点是有多个神经元层,因此也叫深度神经网络(DNN: Deep Neural Networks)。感知机是单个神经元模型,是较大神经网络的前身。神经网络的强大之处在于它们能够学习训练数据中的表示,以及如何将其与想要预测的输出变量联系起来。从数学上讲,它们能够学习任何映射函数,并且已经被证明是一种原创 2021-02-26 10:53:57 · 22769 阅读 · 2 评论 -
机器学习基础篇(十一)——主成分分析法
机器学习基础篇(十一)——主成分分析法一、简介当我们对含有多个变量的数据进行观测时,我们会收集大量的数据然后分析他们。大样本的数据集固然提供了丰富的信息,但是在一定程度上增加了问题的复杂性。如果我们分别对每个指标进行分析,往往得到的结论是孤立的,并不能完全利用数据蕴含的信息。但是盲目的去减少我们分析的指标,又会损失很多有用的信息。所以我们需要找到一种合适的方法,一方面可以减少分析指标,另一方面尽量减少原指标信息的损失由于不同的指标中存在着相关关系,所以我们可以考虑将关系紧密的指标合成一些新的变原创 2021-02-25 10:31:15 · 2720 阅读 · 0 评论 -
机器学习基础篇(十)——聚类
机器学习基础篇(十)——聚类一、概论在前几节(5-9)知识中我们学习的是有关于监督学习的算法,本节开始我们将要开始学习无监督学习的相关知识。在一个典型的监督学习中,我们有一个有标签的训练集。我们的目标是找到能够区分正样本和负样本的决策边界。与此不同的是,在无监督学习中,我们的数据没有附带任何标签。我们会通过分析大量的无标签数据,来发现数据内在的一些结构特征。今天我们将讲解无监督学习的常见算法——聚类。二、聚类如图所示,是一个典型的无监督学习样本的相关数据,数据集中没有标签存在。显然我们可以原创 2021-02-24 20:14:49 · 1209 阅读 · 0 评论 -
机器学习基础篇(九)——支持向量机
机器学习基础篇(九)——支持向量机一、简介支持向量机(SVM:Support Vector Machine)是机器学习中常见的一种分类算法。在时机应用中,我们常会遇到这样的问题:给定一些数据点,他们分别属于两个不同的类。我们现在要找到一个线性分类器吧这些数据分成A,B两类。最贱的办法是:画一条先,然后将他们分成两类。线的一侧属于A类,另一侧属于B类。SVM算法可以让我们找到这样一个最佳的线(超平面),来划分数据。相比于KNN之类的算法,SVM算法只需要计算一次,得出最佳线(超平面)即可。面对测试数据,原创 2021-02-23 10:40:18 · 788 阅读 · 2 评论 -
机器学习基础篇(八)——逻辑回归
机器学习基础篇(八)——逻辑回归一、简介分类问题是机器学习中常见的一种问题,而逻辑回归则是非常适合二分类问题的一种算法。逻辑回归可以将数据集中的点划分成为两个类别。例如,我们可以将数据分成A类和B类。模型将给出特定数据点属于B类的概率,如果它低于0.5,那么就属于A类。如果高于0.5,那么该数据点属于B类。(大部分情况下阈值设为0.5,特定情况下也可以设置为其他值)举个栗子 如图所示,学生考试是否成功通过是一个典型的二分类问题。学生的考试是否成功是由输入值所决定的,输入值既有连续性变量又有离散原创 2021-02-22 10:43:08 · 644 阅读 · 1 评论 -
机器学习基础篇(七)——朴素贝叶斯
机器学习基础篇(七)——朴素贝叶斯一、前言机器学习中常见的一个问题就是如何把未知的数据分到先前已经知晓的类别中去。比如我们想对一个未知的水果进行分类,而我们已经知道分类特征如下:如图所示,我们有三个现有的水果类别:苹果,蓝莓和椰子。这些水果中的每一种都有三个我们关心的特征:大小,重量和颜色。通过观察未知水果我们发现,这个水果大小适中(moderate),但是很重(heavy),并且还是红色(red)的。我们可以将这些特征与我们已经知道的特征进行比较,由此判断它是什么类型的水果。若未知水果像椰子一样重原创 2021-02-21 10:20:36 · 669 阅读 · 0 评论 -
机器学习基础篇(六)——KNN
机器学习基础篇(六)——KNN一、简介K-Nearest Neighbors(KNN) 是机器学习中的一个基础分类算法。1.工作原理首先我们需要一个训练样本集,并且样本集中每个数据都存在标签。存在标签就代表我们知道样本集中每一个数据与所属分类对应的关系。输入没有标签的数据后,将新数据中的每个特征与样本集中数据对应的特征进行比较。提取出样本集中特征最相似数据(最近邻)的分类标签,作为该数据的标签。一般情况下,我们只选择样本集中前K个最相似的数据,作为新数据分类的参考。K一般是一个小于20的整数原创 2021-02-20 11:21:22 · 829 阅读 · 0 评论 -
机器学习基础篇(五)——决策树
机器学习基础篇(五)——决策树一、简介决策树是机器学习的一种分类器算法(特定情况也可以用于回归),基于特征对实例进行分类的过程,可以认为是if-then的集合。决策树的思想很简单,类似于我们平时做选择的过程,为了方便理解,让我们模拟一个现实情境:假如你是Mike,你在考虑自己在某一天是否要去商场购物,你会基于什么信息做出是否购物的决定?你可能会考虑自己的家里物品的存量是不是足够用,会考虑到当天的天气是好是坏,也可能要考虑当天是否需要上班。Mike会基于这些因素,来判断当天是否去购物。下图是Mike原创 2021-02-18 20:50:24 · 1458 阅读 · 3 评论 -
机器学习基础篇(四)——交叉验证
机器学习基础篇(四)——交叉验证一、概述交叉验证是在机器学习建立模型和验证模型参数时常用的办法。顾名思义,交叉验证就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏,在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓“交叉”。二、Holdout交叉验证Holdout 交叉验证就是将原始的数据集随机分成两组,一组为测试集,一组作为训练集。我们使用训练集对模型进行训练,再使用测试集对原创 2021-02-10 10:50:35 · 4666 阅读 · 0 评论 -
机器学习基础篇(三)——正则化
机器学习基础篇(三)——正则化一、概述在前两节,我们建立了适当的模型,并且使用训练集对模型进行训练,然后我们在测试集中,使用模型预测,最终得到了预测值,将预测值与测试集的实际值进行比较,得出评分,不同的评分代表了模型的准确性不同,当我们观察一组数据中,会发现其中存在基础数据和噪音数据,对于模型而言,我们只希望训练基础数据而不希望受到噪音数据的干扰。下面是一个数据集,我们看一下用不同模型拟合数据集的情况。图1使用线性模型来拟合数据# 线性模型import matplotlib.pyplot as原创 2021-02-09 18:17:22 · 513 阅读 · 0 评论 -
机器学习基础篇(二)——过拟合与欠拟合
机器学习基础篇(二)——过拟合与欠拟合一、概述在机器学习时,时常会出现许多问题。最常见的两个问题是过拟合和欠拟合。为了更形象的理解这些概念,我们想象一个机器学习模型,它试图学习如何对数字分类,并且能够访问一组训练数据和一组测试数据二、过拟合当模型从训练数据中学习得太彻底的时候哦,模型会受到过度拟合的影响,在实际测试中表现不佳,这通常是因为在训练数据中学习了过多特征引起的。例如在数字分类问题的训练中,如果学习了特征中容易引起误导的微小细节(例如以杂散标记作为特定数字的指示),模型将会出现过度拟合的原创 2021-02-06 12:11:07 · 487 阅读 · 0 评论 -
机器学习基础篇(一)——线性回归
机器学习——基础篇(一)数据之间可以有很多种不同的相互关系,因此,如果我们可以缩小选项的范围,并且编写更少的代码去分析这些数据,这将会对我们寻找的过程有所帮助。其中有一种关系是线性相关关系,如果我们发现数据中有这种关系存在,我们就可以使用线性回归的方法来分析他们。一、概述线性回归是一种用来分析一个或多个自变量与一个因变量之间的线性关系的技术。它意味着数据中的点集中在一条直线周围。而简单的线性回归仅仅涉及到单一的自变量。1.具有线性关系的数据集案例# 线性回归import matplotlib原创 2021-02-06 11:20:23 · 1262 阅读 · 0 评论 -
数据分析之数据处理(五)
数据分析之数据处理(五)一、数据标准化案例应用八类产品的两个指标value1,value2,其中value1权重为0.6,value2权重为0.4通过0-1标准化,判断哪个产品综合指标状况最好1.创建数据import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport warningswarnings.filterwarnings('ignore')# step 1 创建数据df=pd.DataF原创 2021-01-31 21:22:07 · 1133 阅读 · 0 评论 -
数据分析之数据处理(四)
数据分析之数据处理(四)原创 2021-01-31 15:30:58 · 474 阅读 · 2 评论 -
数据分析之数据处理(三)
数据分析之数据处理(三)一、异常值处理异常值是指样本中的个别值,其数值明显偏离其余的观测值异常值也称离群点,异常值的分析也称为离群点的分析异常值分析 → 3σ原则 / 箱型图分析异常值处理方法 → 删除 / 修正填补异常值分析(1)3б原则:如果数据服从正态分布,异常值被定义为一组测定值中与平均值的偏差超过3倍的值:p(|x - μ| > 3σ) ≤ 0.003(2)箱型图分析(一)3б原则1.创建数据import warningswarnings.filterwarnin原创 2021-01-31 10:52:15 · 1216 阅读 · 0 评论 -
数据分析之数据处理(二)
数据分析之数据处理(二)一、拉格朗日插值法实际运用1、创建数据# 1.1创建数据data=pd.Series(np.random.rand(100)*100)data[3,6,33,56,45,66,67,80,90]=np.nanprint(data.head())print('\n*******总数据量:%i******\n'%len(data))运行结果2、缺失值的数量# 1.2缺失值的数量data_na=data[data.isnull()]print('\n******原创 2021-01-30 22:15:11 · 547 阅读 · 2 评论 -
数据分析之数据处理(一)
数据分析之数据处理(一)一、缺失值处理数据确实是主要包括记录缺失和字段信息缺失等情况,其对数据分析会有较大的影响,导致结果不确定性更加显著缺失值的处理:删除记录/数据插补/不处理import warningswarnings.filterwarnings('ignore')import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom scipy import stats# %matplotlib in原创 2021-01-30 21:28:31 · 6532 阅读 · 0 评论 -
数据分析之数据特征分析(二)
数据分析之数据特征分析(二)注:本篇数据来源:提取码:xthm一、分布分析接上篇—>数据分析之数据特征分析(一)# 绘制房屋朝向直方图x=len(r_cx)plt.figure(num=1,figsize=(12,4))plt.grid=Trueplt.bar([p for p in range(x)],r_cx['频率'], width=0.8, color='k', alpha=0.5)plt.xticks([p for p in原创 2021-01-30 17:45:32 · 335 阅读 · 0 评论 -
数据分析之数据特征分析(一)
数据分析之数据特征分析(一)一、分布分析分布分析 → 研究数据的分布特征和分布类型,分定量数据、定性数据区分基本统计量极差 / 频率分布情况 / 分组组距及组数二、对比分析三、统计分析附:cmap的类型'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r','GnBu原创 2021-01-29 17:52:57 · 2789 阅读 · 1 评论 -
Python之pandas进阶版(二)
Python之pandas进阶版(二)——用pandas操作dataframe一、数据索引#写入数据import pandas as pddata=pd.read_csv('..\data\pokemon\Pokemon.csv')data=data.set_index('#')1.使用“[ ]”索引# 方括号索引print(data['HP'][1])2.使用列属性和行标签# 使用列属性和行标签print(data.HP[1])3.使用loc访问器# 使用loc访问器原创 2021-01-26 16:24:31 · 437 阅读 · 0 评论 -
Python之pandas进阶(一)
Python之pandas进阶(一)一、构建dataframe我们可以像前面那样从csv构建dataframe,也可以从dict中创建dataframe。使用zip()函数添加新列广播(Broadcasting): 创建新列并为整个列赋值# 从字典中构建dataframecountry=['Spain','France']population=['11','12']list_label=['country','population']list_col=[country,populat原创 2021-01-26 10:54:11 · 550 阅读 · 0 评论 -
Python之数据清洗
Python之数据清洗(一)注:使用数据源—口袋妖怪数据集提取码s30w一、检查数据1、不清楚的数据列名不一致(大小字母或单次之间的空格)数据缺失语言不同通常使用head,tail,columns,shape和info等函数来检查数据# 数据清洗import pandas as pd# import numpy as npdata=pd.read_csv('..\data\pokemon\Pokemon.csv')# 输出前五行数据print('前五行数据:')print(d原创 2021-01-25 10:04:29 · 898 阅读 · 0 评论 -
Python数据处理之数据可视化(二)
Python数据处理之数据可视化(二)本篇使用数据:口袋妖怪数据集:提取码s30wimport pandas as pdimport matplotlib.pyplot as pltimport matplotlib.gridspec as gridspec# 导入数据data=pd.read_csv('..\data\pokemon\Pokemon.csv')x=data['#'].tolist()speed=data['Speed'].tolist()defense=data['Def原创 2021-01-24 11:04:13 · 281 阅读 · 0 评论 -
Python之Matplotlib(六)
Python之Matplotlib(六)一、1、例题1将下表数据用组合柱状图的形式呈现?其中,横坐标为水果种类,纵坐标为价格与数量。提示:进行两次画图操作,注意计算好柱形图的x轴位置,保持图表的美观噢import pandas as pdimport numpy as npimport matplotlib.pyplot as pltraw_data={'水果':['香蕉','苹果','草莓'], '价格':[2,4,10], '数量':[5,3原创 2021-01-23 12:14:41 · 485 阅读 · 3 评论 -
Python之Matplotlib(五)
Python之Matplotlib(五)一、3D作图与动画1.创建3D图:ax=Axes3D()首先在进行 3D 作图时除了导入 matplotlib ,还要额外添加一个模块,即 Axes 3D 用于3D 坐标轴显示,并且之后要先定义一个图像窗口,在窗口上添加3D坐标轴import matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dimport numpy as npfig=plt.figure()ax=Axes原创 2021-01-22 17:36:53 · 1478 阅读 · 2 评论 -
Python之Matplotlib(四)
Python之Matplotlib(四)一、多图合并显示1.plt.subplot()多合一显示(1)均匀图中图首先使用import导入matplotlib.pyplot模块, 并简写成plt使用plt.figure创建一个图像窗口.使用plt.subplot来创建小图。plt.subplot(2,2,1)表示将整个图像窗口分为2行2列, 当前位置为1.使用plt.plot([0,1],[0,1])在第1个位置创建一个小图。plt.subplot(224)表示将整个图像窗口分为2行2列, 当原创 2021-01-22 16:10:30 · 2831 阅读 · 0 评论 -
Python之Matplotlib(一)
Python之Matplotlib(一)一、基本用法1.导入模块import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-3, 3, 50)#定义x属于(-3,3)一共50个数#定义两个函数y1 = 2*x + 1#曲线1y2 = x**2#曲线22.定义图像窗口并画图在画图前使用plt.figure()定义一个图像窗口:编号为3;大小为(8, 5);这两项参数可缺省。其中,num参数决定了程序运行后弹出的图像窗原创 2021-01-20 20:40:11 · 372 阅读 · 0 评论 -
Python之numpy进阶版(一)
Python之numpy进阶版(一)本文需要有numpy的基础知识储备一.广播法则广播法则能使通用函数有意义地处理不具有相同形状的输入。广播第一法则:如果所有的输入数组维度不都相同,一个“1”将被重复地添加在维度较小的数组上直至所有的数组拥有一样的维度。广播第二法则:确定长度为1的数组沿着特殊的方向表现地好像它有沿着那个方向最大形状的大小。对数组来说,沿着那个维度的数组元素的值理应相同。应用广播法则之后,所有数组的大小必须匹配。二.花哨的索引和索引技巧Numpy比普通Python序列提供原创 2021-01-19 21:57:42 · 505 阅读 · 2 评论 -
Python之Matplotlib(三)
Python之Matplotlib(三)一、各类图形1、散点图plt.scatter()首先,先引入matplotlib.pyplot简写作plt,再引入模块numpy用来产生一些随机数据。⑴数据生成# 散点图import matplotlib.pyplot as pltimport numpy as npn=1024x=np.random.normal(0,1,n)#每个点的x值y=np.random.normal(0,1,n)#每个点的y值t=np.arctan2(y,x)原创 2021-01-21 16:50:55 · 645 阅读 · 0 评论 -
Python之numpy进阶版(三)
Python之numpy进阶版(三)一、直方图Numpy中histogram函数应用到一个数组返回一对变量:直方图数组和箱式向量。注意 matplotlib也有一个用来建立直方图的函数(叫作hist,正如matlab中一样)与Numpy中的不同。主要的差别是pylab.hist自动绘制直方图,而numpy.histogram仅仅产生数据。import numpyimport pylab# Build a vector of 10000 normal deviates with variance原创 2021-01-21 14:56:02 · 220 阅读 · 0 评论 -
Python之Matplotlib(二)
Python之Matplotlib(二)一、基本用法1.添加图例import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-3, 3, 20)y1 = 2*x + 1y2 = x**2plt.figure()#set x limitsplt.xlim((-1, 2))plt.ylim((-2, 3))# set new sticksnew_sticks = np.linspace(-1, 2, 5)plt.x原创 2021-01-20 21:30:32 · 298 阅读 · 0 评论 -
Python之numpy进阶版(二)
Python之numpy进阶版(二)一、零碎知识点1、ix_()函数ix_函数可以为了获得多元组的结果而用来结合不同向量。例如,如果你想要用所有向量a、b和c元素组成的三元组来计算a+b*c:from numpy import *a = array([2,3,4,5])b = array([8,5,4])c = array([5,4,6,8,3])ax,bx,cx = ix_(a,b,c)print(ax)print(ax.shape)运行结果print(bx)print(bx原创 2021-01-20 16:53:09 · 358 阅读 · 0 评论 -
Python数据处理之数据可视化(一)
Python数据处理之数据可视化(1)今天简单的总结了数据可视化的一点基础知识点,希望对小码们有帮助(此处使用matplotlib包)1.简单画点import matplotlib.pyplot as pltplt.plot([1,2,3,4])plt.show()运行结果:注: 在默认情况下,绘制图像的线条为蓝色实线2.图像绘制——sin函数import numpy as...原创 2020-04-15 09:54:36 · 1436 阅读 · 0 评论
分享