数据科学
文章平均质量分 60
小瓶盖的猪猪侠
这个作者很懒,什么都没留下…
展开
-
pandas函数 apply、iterrows、iteritems、groupyby
【代码】pandas函数 apply。原创 2023-03-23 23:54:18 · 148 阅读 · 0 评论 -
numpy知识大全二)科学操作
overwrite_input表示在计算过程中是否操作原数组,如果操作原数据,会减少内存消耗和增加计算速度。average可以设置计算时值的权重,mean不行,但是mean可以设置数据类型,diff用于计算元素之间的差值,cumsum用于计算axis方面的累计求和。在四舍五入情况下,5的划分看是否偶数的哪个数。ddof表示自由度,原创 2023-03-10 20:04:15 · 98 阅读 · 0 评论 -
决策树算法原理
决策树ID3算法的信息论基础作为一个码农经常会不停的敲if, else if, else,其实就已经在用到决策树的思想了。只是你有没有想过,有这么多条件,用哪个条件特征先做if,哪个条件特征后做if比较优呢?怎么准确的定量选择这个标准就是决策树机器学习算法的关键了。1970年代,一个叫昆兰的大牛找到了用信息论中的熵来度量决策树的决策选择过程,方法一出,它的简洁和高效就引起了轰动,昆兰把这个算法叫做ID3。下面我们就看看ID3算法是怎么选择特征的。首先,我们需要熟悉信息论中熵的概念。熵度量了事物的不确定性原创 2021-05-05 18:04:59 · 158 阅读 · 0 评论 -
logistic回归
混淆矩阵以及热力图import numpy as np import pandas as pdfrom sklearn import linear_modelfrom sklearn import model_selectionsdata = pd.read_csv('../input/traindatas/char9/Run or Walk.csv')#print(sdata.head())prediction = sdata.columns[4:]X = sdata.loc[:,pre原创 2021-05-05 13:02:08 · 191 阅读 · 0 评论 -
ROC曲线以及AUC值
ROC曲线以及AUC值ROC 曲线(接收者操作特征曲线)是一种显示分类模型在所有分类阈值下的效果的图表。该曲线绘制了以下两个参数:真正例率 :将实际正的预测为正的占实际正的比例假正例率:将实际负的预测正的占实际负的比例真正例率假正例率阈值:用于程序判断实例是正是负的临界值。实例sklearn.metrics.roc_curve(y_true,y_score,*,pos_label = None,sample_weight = None,drop_intermediate = Tr原创 2021-05-05 11:41:01 · 749 阅读 · 0 评论 -
异常点VS高杠杆点VS强影响点(Outlier,High Leverage Point,Influential Point)
定义异常点(Outlier):残差很大的点(即:因变量y的值是极端值的观测值)高杠杆点(High Leverage Point):远离样本空间中心的点(即:自变量x的值是极端值的观测值)强影响点(Influential Point):对模型有较大影响的点,如果删除该点能改变拟合回归方程注意:1,异常点不一定是强影响点,强影响点也不一定是异常点2,高杠杆点不一定是强影响点,强影响点也不一定是高杠杆点异常点虚线和实线分别是包含红点在内和不包含红点在内训练出来的回归模型。可以看到,两条回归原创 2021-05-04 13:56:25 · 6953 阅读 · 1 评论 -
多重共线性检验之方差膨胀因子VIF
过程1、构造每一个自变量与其余自变量的线性回归模型,例如,数 据集中含有p个自变量,则第一个自变量与其余自变量的线性组合可以 表示为2、根据如上线性回归模型得到相应的判决系数R2R^2R2,进而计算第 一个自变量的方差膨胀因子VIF:import pandas as pdimport numpy as npfrom sklearn import model_selectionimport statsmodels.api as snfrom statsmodels.stats.outlier原创 2021-05-03 22:58:56 · 11710 阅读 · 0 评论 -
KS检验
1、KS-检验(Kolmogorov-Smirnov test)Kolmogorov-Smirnov是比较一个频率分布f(x)与理论分布g(x)或者两个观测值分布的检验方法。其原假设H0:两个数据分布一致或者数据符合理论分布。D=max| f(x)- g(x)|,当实际观测值D>D(n,α)则拒绝H0,否则则接受H0假设。KS检验与t-检验之类的其他方法不同是KS检验不需要知道数据的分布情况,可以算是一种非参数检验方法。当然这样方便的代价就是当检验的数据分布符合特定的分布事,KS检验的灵敏度没有相原创 2021-05-03 11:53:35 · 13866 阅读 · 0 评论 -
夏皮罗-威尔克检验(Shapiro–Wilk test)
1介绍夏皮罗-威尔克检验是一种在频率上统计检验中检验正态性的方法。它在1965年由夏皮罗和威尔克发表2、理论Shapiro-Wilk检验检验了样本x 1,…,x n来自正态分布总体的原假设。该检验统计量是3、解解释该检验的零假设是总体呈正态分布。因此,如果p值小于所选的alpha级别,则否定假设被拒绝,并且有证据表明所测试的数据不是正态分布的。另一方面,如果p值大于选定的alpha级别,则不能拒绝零假设(数据来自正态分布的总体)(例如,对于.05的alpha级别,数据集用p小于0.05拒绝零假设原创 2021-05-02 21:12:12 · 19502 阅读 · 0 评论 -
使用OLS摘要解释线性回归的结果
下面是一个回归过程,用于拟合收入和教育情况import pandas as pdimport matplotlib.pyplot as pltimport seaborn as smsimport statsmodels.api as snsdata = pd.read_csv('../input/traindatas/char7/Salary_Data.csv')print(sdata.head())n = sdata.shape[0]x_sum = sdata.YearsExperie原创 2021-05-02 20:24:47 · 15509 阅读 · 3 评论 -
一维数据可视化:核密度估计
对于大量一维数据的可视化,除了使用直方图(Histogram),还有一种更好的方法:核密度估计(Kernel Density Estimates,简称KDE)所谓核密度估计,就是采用平滑的峰值函数(“核”)来拟合观察到的数据点,从而对真实的概率分布曲线进行模拟。以下面3个数据点的一维数据集为例现在有上数据[5, 10, 15]。绘制成直方图是这样的而使用KDE则是:KDE核函数理论上,所有平滑的峰值函数均可作为KDE的核函数来使用,只要对归一化后的KDE而言(描绘在图上的是数据点出现的概率值)原创 2021-05-02 17:02:28 · 1696 阅读 · 0 评论 -
Sklearn的train_test_split用法
功能划分数据的训练集与测试集参数解读:X_train,X_test, y_train, y_test = train_test_split (*arrays,test_size, train_size, rondom_state=None, shuffle=True, stratify=None)arrays:特征数据和标签数据(array,list,dataframe等类型),要求所有数据长度相同。test_size / train_size: 测试集/训练集的大小,若输入小数表示比例,若输原创 2021-05-01 15:34:58 · 685 阅读 · 0 评论 -
pandas学习map函数
pandas对象中的map函数作为映射,但这种映射不会影响原对象的值,当arg是字典时,Series中不在字典中的值(作为键)将转换为NaN。>>> s = pd.Series(['cat', 'dog', np.nan, 'rabbit'])>>> s0 cat1 dog2 NaN3 rabbitdtype: object>>> s.map({'cat': 'kitten', 'dog': '原创 2021-04-28 21:26:46 · 1212 阅读 · 0 评论 -
pandas获取对应的行或者列
loc通过标签或布尔数组访问一组行和列。.loc[] 主要基于标签,但也可以与布尔数组一起使用。允许的输入为:单个标签,例如’a’,标签列表或数组,例如。[‘a’, ‘b’, ‘c’]带有标签的切片对象,例如’a’:‘f’。与切片轴长度相同的布尔数组,例如。[True, False, True]可对齐的布尔系列。遮罩之前,键的索引将对齐。可对齐索引。返回的选择的索引将作为输入。1获取单行为了获取当行,只需要利用行号就能够获取,>>> df = pd.DataFr原创 2021-04-24 12:11:59 · 4971 阅读 · 1 评论 -
pandas数据合并
1concatconcat函数是在pandas底下的方法,可以将数据根据不同的轴作简单的融合pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False)axis: 需要合并链接的轴,0是行,1是列join:连接的方式 inner,或者outer1.1 相同字段的表首尾相接原创 2021-04-24 10:57:36 · 210 阅读 · 0 评论