![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据挖掘
文章平均质量分 96
安然烟火
如果人没有理想,那和咸鱼有什么区别呢?
展开
-
12种降维方法及python实现
你遇到过特征超过1000个的数据集吗?超过5万个的呢?我遇到过。降维是一个非常具有挑战性的任务,尤其是当你不知道该从哪里开始的时候。拥有这么多变量既是一个恩惠——数据量越大,分析结果越可信;也是一种诅咒——你真的会感到一片茫然,无从下手。面对这么多特征,在微观层面分析每个变量显然不可行,因为这至少要几天甚至几个月,而这背后的时间成本是难以估计的。为此,我们需要一种更好的方法来处理高维数据,比如本文介绍的降维:一种能在减少数据集中特征数量的同时,避免丢失太多信息并保持/改进模型性能的方法。什么是降维?每原创 2021-01-15 14:49:19 · 8678 阅读 · 2 评论 -
python 用逐步回归筛选变量
在回归分析中,影响因变量y的因素很多,而有些自变量的对目标变量y的影响程度不同,为了建立一个相对最优的回归方程,我们需要筛选掉对目标变量y影响不大的变量,这就涉及到了变量选择问题。逐步回归是通过假设检验的方法来筛选强特征,但如果直接用特征变量和结果变量做回归,看系数的正负和大小来判断变量的相关性,其实也是合理的,但是为了考虑变量间的相互作用在回归模型中对结果的影响,通常还是应用逐步回归的方法。在逐步回归中,提取哪些变量主要基于的假设是:在线性条件下,哪些变量组合能够更显著的影响因变量,则将其保留。保留转载 2020-12-02 14:00:43 · 4008 阅读 · 1 评论 -
稳健回归 : RANSACRegressor随机采样一致性算法和TheilSenRegressor泰尔森回归
最小二乘法的弊端之前文章里的关于线性回归的模型,都是基于最小二乘法来实现的。但是,当数据样本点出现很多的异常点(outliers),这些异常点对回归模型的影响会非常的大,传统的基于最小二乘的回归方法将不适用。当然,可以考虑在做回归分析之前,对数据做预处理,剔除掉那些异常点。但是,在实际的数据中,存在两个问题:异常点并不能很好的确定,并没有一个很好的标准用于确定哪些点是异常点即便确定了异常点,但这些被确定为异常的点,真的是错误的数据吗?很有可能这看似异常的点,就是原始模型的数据,如果是这样的话,那么原创 2020-11-27 17:52:34 · 4675 阅读 · 0 评论 -
有监督回归:鲁棒学习
1.前言虽然最小二乘学习法是非常实用的机器学习方法,但是当训练样本中包含异常值的时候,学习效果非常易于受到影响。下图展示的是对于线性模型:以10个训练样本进行最小二乘学习的例子。测试结果如下图所示:最小二乘学习法具有容易受到异常值影响的弱点(a)图显示的是没有一场值得情况下能够得到合理的学习结果。但是在(b)图中,如果存在一个异常值,那么最小二乘学习的最终结果会发生极大地变化。在实际应用中,当样本数量很多的时候,自然会或多或少的包含一些异常值。因此,在这种情况下应用最小二乘学习法,并不能得到令转载 2020-11-27 17:34:41 · 934 阅读 · 0 评论 -
社区划分的评价标准-模块度原理及代码实现-python3
在社区发现算法中,几乎不可能先确定社区的数目,于是,必须有一种度量的方法,可以在计算的过程中衡量每一个结果是不是相对最佳的结果。模块度(Modularity)用来衡量一个社区的划分是不是相对比较好的结果。一个相对好的结果在社区内部的节点相似度较高,而在社区外部节点的相似度较低。全局模块度设Avw为网络的邻接矩阵的一个元素,定义为:假设cv和cw分别表示点v和点w所在的两个社区,社区内部的边数和网络中总边数的比例:函数δ(cv,cw)的取值定义为:如果v和w在一个社区,即cv=cw,则为 1,否原创 2020-11-09 14:07:55 · 2422 阅读 · 0 评论 -
pearsonr(x,y)、corr()、corrcoef(u1) 相关系数计算
函数:pearsonr(x,y)功能:计算特征与目标变量之间的相关度参数说明:1)输入:x为特征,y为目标变量.2)输出:r: 相关系数 [-1,1]之间,p-value: p值。注: p值越小,表示相关系数越显著,一般p值在500个样本以上时有较高的可靠性。pearson相关系数的计算公式为:cov(X,Y)表示的是协方差var(x)和var(y)表示的是方差python实现import numpy as npfrom scipy.stats import pearsonrim原创 2020-11-05 19:32:20 · 9596 阅读 · 0 评论 -
LinearRegression、岭回归、Lasso回归和ElasticNet回归总结-附python3代码实战及回归检验
过拟合和欠拟合开始我是很难弄懂什么是过拟合,什么是欠拟合以及造成两者的各自原因以及相应的解决办法,学习了一段时间机器学习和深度学习后,分享下自己的观点,方便初学者能很好很形象地理解上面的问题。无论在机器学习还是深度学习建模当中都可能会遇到两种最常见结果,一种叫过拟合(over-fitting )另外一种叫欠拟合(under-fitting)。首先谈谈什么是过拟合呢?什么又是欠拟合呢?网上很直接的图片理解如下:所谓过拟合(over-fitting)其实就是所建的机器学习模型或者是深度学习模型在训练样原创 2020-11-05 15:06:42 · 5895 阅读 · 3 评论 -
机器学习 BP神经网络(Python实现)
一个神经元即一个感知机模型,由多个神经元相互连接形成的网络,即神经网络。这里我们只讨论单隐层前馈神经网络,其连接形式入下:神经网络模型的待估参数即,每个神经元的阈值,以及神经元之间的连接权重。对于该模型有如下定义:训练集:D={(x1, y1), (x2, y2), …, (xm, ym)},x具有d个属性值,y具有k个可能取值则我们的神经网络(单隐层前馈神经网络)应该是具有d个输入神经元,q个隐层神经元,k个输出层神经元的神经网络 ,我们默认输入层只是数据的输入,不对数据做处理,即输入层没有阈转载 2020-11-03 15:44:29 · 1457 阅读 · 3 评论 -
基于networkx社区网络关系分析-python3
NetworkX 入门1.1图论基本概念1图一个图G = (V, E)由一些点及点之间的连线(称为边)构成,V、E分别计G的点集合和边集合。在图的概念中,点的空间位置,边的区直长短都无关紧要,重要的是其中有几个点以及那些点之间有变相连。图1:图示例Graph分类Graph:指无向图(undirected Graph),即忽略了两节点间边的方向。DiGraph:指有向图(directed Graph),即考虑了边的有向性。MultiGraph:指多重无向图,即两个结点之间的边数多于一条,又允原创 2020-10-20 19:47:28 · 5588 阅读 · 1 评论 -
OLS回归分析原理实战及结果解析-python3
OLS 回归变量之间存在着相关关系,比如,人的身高和体重之间存在着关系,一般来说,人高一些,体重要重一些,身高和体重之间存在的是不确定性的相关关系。回归分析是研究相关关系的一种数学工具,它能帮助我们从一个变量的取值区估计另一个变量的取值。OLS(最小二乘法)主要用于线性回归的参数估计,它的思路很简单,就是求一些使得实际值和模型估值之差的平方和达到最小的值,将其作为参数估计值。就是说,通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误原创 2020-10-19 20:17:39 · 62714 阅读 · 9 评论 -
机器学习的分类与主要算法
机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。从范围上来说,机器学习跟模式识别,统计学习,数据挖掘是类似的,同时,机器学习与其他领域的处理技术的结合,形成了计算机视觉、语音识别、自然语言处理等交叉学科。因此,一般说数据挖掘时,可以等同于说机器学习。同时,我们平常所说的机器学习应用,应该是通用的,不仅仅局限在结构化数据,还有图像,音频等应用。机器学习里最重要的四类问题预测:回归模型聚类:K-means分类:支持向量机降为:主成分分析机器学习的算法原创 2020-09-21 17:11:58 · 4204 阅读 · 0 评论 -
机器学习的三要素
一、机器学习的三要素数据在机器学习方法框架中的流动,会按顺序经历三个过程,分别对应机器学习的三大要素:1. 模型;2. 策略;3. 算法模型:谈到机器学习,经常会谈到机器学习的“模型”。在机器学习中,模型的实质是一个假设空间(hypothesis space),这个假设空间是“输入空间到输出空间所有映射”的一个集合,这个空间的假设属于我们的先验知识。然后,机器学习通过“数据+三要素”的训练,目标是获得假设空间的一个最优解,翻译一下就是求模型的最优参数。策略:在模型部分,机器学习的学习目标是获得假设空间原创 2020-09-21 15:03:36 · 9317 阅读 · 0 评论 -
LinearRegression,RidgeCV,LassoCV,ElasticNetCV各自使用场景
LinearRegression,RidgeCV,LassoCV,ElasticNetCV各自使用场景概念:#线性回归的目的是要得到输出向量Y和输入特征X之间的线性关系,求出线性回归系数θ,也就是Y=Xθ, 其中Y的维度为m x 1,X的维度为 m x n,而θ的维度为 n x 1, m代表样本个数, n代表样本特征的维度#损失函数:损失函数是用来评价模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数 通常用L(Y,f(x))表示,损失函数越小,模型的性能就越好 ,优化方法原创 2020-09-02 16:54:59 · 1097 阅读 · 0 评论 -
数据标准化简单处理、归一化、正态化-python3
数据标准化:是指将数据按比例缩放,使之落入到特定区间1 进行0-1 表转化计算公式使用环境: 在聚类分析,主成分分析的时候,因为量纲不一所以需要#导入归一化方法from sklearn.preprocessing import MinMaxScalermms = MinMaxScaler()#调用方法对数据进行归一化处理data['X_train'] = mms.fit_transform(data['X_train'])X_train :需要做归一化处理的数据列、或者数据框2原创 2020-09-02 10:16:58 · 3019 阅读 · 0 评论 -
因子分析-python3实现
实验原始数据自己敲一下data.xlsx,别人博客的数据,我用的自己业务数据不好分享实现代码import pandas as pdimport numpy as npimport numpy.linalg as nlgimport matplotlib.pyplot as pltfrom factor_analyzer import FactorAnalyzer, calculate_kmo, calculate_bartlett_sphericity def ZscoreNorma原创 2020-09-01 20:32:35 · 2482 阅读 · 4 评论 -
机器学习经典算法,原理及代码实现
岭回归和LASSO回归朴素贝叶斯支持向量机Logistic回归K-近邻算法线性回归决策树EM最大期望算法Apriori算法AdaBoost算法PageRank算法原创 2020-08-19 14:27:19 · 378 阅读 · 0 评论 -
Python之Sklearn初探
1.Sklearn简介Scikit-learn(sklearn)是机器学习中常用的第三方模块,对常用的机器学习方法进行了封装,包括回归(Regression)、降维(Dimensionality Reduction)、分类(Classfication)、聚类(Clustering)等方法。当我们面临机器学习问题时,便可根据下图来选择相应的方法。Sklearn具有以下特点:简单高效的数据挖掘和...原创 2020-01-19 20:42:29 · 207 阅读 · 0 评论 -
数据挖掘一般流程及模型整理
一.数据读取:csv文件:csv_data= pd.read_csv(’/路径/test.csv’)txt文件:f= open(’/路径/test.txt’, ‘r’)excel文件:import xlrdf=xlrd.open_workbook(r'\路径\demo.xlsx',formatting_info=True)table =data.sheet_by_name("She...原创 2020-01-19 19:46:33 · 405 阅读 · 0 评论 -
python读取mysql实现一元和多元的线性拟合
python读取mysql实现一元和多元的线性拟合一元线性方程拟合# -*- coding:utf-8 -*-# __author__ = "LQ"import matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import trai...原创 2020-01-19 15:55:18 · 414 阅读 · 0 评论 -
python读取mysql实现散点图绘制、相关性验证、对数函数拟合
python读取mysql实现对数函数拟合# -*- coding:utf-8 -*-# __author__ = "LQ"import numpyimport numpy as npfrom scipy import logimport scipyfrom scipy.optimize import curve_fitimport matplotlib.pyplot as plt...原创 2020-01-15 20:17:01 · 605 阅读 · 0 评论 -
Python3实现mysql连接和数据框的形成
Python3实现mysql连接和数据框的形成# -*- coding:utf-8 -*-# __author__ = "LQ"import pymysqlimport pandas as pdimport numpy as npfrom sklearn import preprocessing#返回数据库连接def dbcconnect(): conn = pymysq...原创 2020-01-15 19:52:19 · 350 阅读 · 0 评论 -
朴素贝叶斯详解及中文舆情分析(附代码实践)
本文主要讲述朴素贝叶斯分类算法并实现中文数据集的舆情分析案例,希望这篇文章对大家有所帮助,提供些思路。内容包括:1.朴素贝叶斯数学原理知识2.naive_bayes用法及简单案例3.中文文本数据集预处理4.朴素贝叶斯中文文本舆情分析本篇文章为基础性文章,希望对你有所帮助,如果文章中存在错误或不足之处,还请海涵。同时,推荐大家阅读我以前的文章了解基础知识。一. 朴素贝叶斯数学原理知识该基础知识部分引用文章"机器学习之朴素贝叶斯(NB)分类算法与Python实现"(https://blog.csd转载 2020-07-01 17:10:12 · 1677 阅读 · 0 评论 -
数据挖掘学习之路五:分类算法之K-近邻算法(KNN)认识及Python案例实现
K-近邻算法K-近邻算法是最简单的分类算法之一,通过测量不同特征之间的距离进行分类,如果一个样本在特征空间中k个邻近的样本中大多数属于某一类别,则该样本也属于这个类别。kNN中一般用欧式距离作为各个对象之间的非相似性指标:d(x,y):=√∑ni=1(xi−yi)2,也可以使用马氏距离测量距离方法。当训练集、最近邻值K、距离度量、决策规则等确定下来时,算法实际上是把特征空间划分成一个个空间,训练...原创 2020-02-23 16:13:44 · 1165 阅读 · 0 评论 -
数据挖掘学习之路四:Python去极值方法
1. MAD#MAD(mean absolute deviation)又称为绝对值差中位数法,是一种先需计算所有因子与平均值之间的距离总和来检测离群值的方法.#处理的逻辑:#第一步,找出所有因子的中位数 Xmedian#第二步:得到每个因子与中位数的绝对偏差值 Xi?Xmedian#第三步:得到绝对偏差值的中位数 MAD#第四步:确定参数 n,从而确定合理的范围为 [Xmedian?n...原创 2020-02-20 20:59:44 · 4031 阅读 · 0 评论 -
数据挖掘学习之路三:数据缺失处理Python实现及基本指标计算
数据缺失处理python函数数据缺失判断函数isnull() data.isnull()(1)数据过滤(dropna)数据过滤是将数据直接过滤掉dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)parameters 详解axis default 0指行,1为列how {‘any’, ‘all’},...原创 2020-02-07 21:09:57 · 553 阅读 · 0 评论 -
数据挖掘学习之路二:数据预处理方法概述
主要是将数据中缺失的数据补充完整、消除噪声数据、识别和删除离群点并解决不一致性。主要达到的目标是:将数据格式标准化、异常数据清除、错误纠正、重复数据清除。A.异常数据处理:分析异常数据:(1)使用统计值进行判断,最大值、最小值、平均值等判断是否超出范围。(2)使用3原则,异常值和平均值比超出三倍标准差及小概率事件,可看做异常值。(3)箱线图,数值超过了箱线图的上下边界即为异常值。异常数据...原创 2020-02-07 20:59:07 · 369 阅读 · 0 评论 -
数据挖掘学习之路一:数据挖掘认识
1.什么是数据挖掘?数据挖掘是人工智能和数据库领域研究的热点问题,所谓数据挖掘是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术等,高度自动化地分析企业的数据,作出归纳性的推理,从中挖掘出潜在的模式,帮助决策者调整市场策略,减少风险,作出正确的决策。知识发现过程由以下三个阶...原创 2020-02-07 20:49:30 · 1807 阅读 · 0 评论