数据挖掘与机器学习
文章平均质量分 61
机器。
gulie8
这个作者很懒,什么都没留下…
展开
-
销售收入分析与预测(线性回归)
#读取数据import pandas as pddfaa=pd.read_excel(r'd:\Users\zhanggl21\Desktop\源代码及数据--python数据分析案例实战(慕课版)\源代码及数据--python数据分析案例实战(慕课版)\第6章\data\JDdata.xls')dfbb=pd.read_excel(r'd:\Users\zhanggl21\Desktop\源代码及数据--python数据分析案例实战(慕课版)\源代码及数据--python数据分析案例实战(慕课...原创 2021-08-06 18:08:55 · 1952 阅读 · 0 评论 -
客户价值分析(聚类)
运营好客户,首先要对客户价值进行分析,找出哪些是重要保持客户、哪些是发展客户、哪些是潜在客户,按客户价值分类,从而根据不同类别客户进行分类差别化、一对一等多样化、个性化的营销模式,使企业利润最大化。例如,某淘宝店铺客户多,消费行为复杂,客户价值很难人工评估出来。这就需要我们使用科学的分析方法——RFM模型(客户价值分析方法)结合Python建立合理的客户价值评估模型来分析客户价值,并按客户价值高低进行分类,从而实现快速定位客户。当然也要清醒地认识到,即便是预测的客户价值较高,也只能说明其购买潜力较高,等原创 2021-08-06 16:17:00 · 2812 阅读 · 0 评论 -
特征工程之数据预处理-数据标准化
数据标准化(也称为数据归一化),它的主要目的是消除不同特征变量量纲级别相差太大造成的不利影响。对于以特征距离为算法基础的机器学习算法(如K近邻算法),数据标准化尤为重要。数据标准化的两种方法——min-max标准化及Z-score标准化。#(1)min-max标准化min-max标准化(Min-Max Normalization)也称离差标准化,它利用原始数据的最大值和最小值把原始数据转换到[0,1]区间内,转换公式如下:import pandas as pdx=pd.DataFra原创 2021-07-21 15:32:25 · 656 阅读 · 0 评论 -
特征工程之数据预处理-重复值缺失值及异常值处理
#重复值处理import pandas as pddata=pd.DataFrame([[1,2,3],[1,2,3],[4,5,6]],columns=['c1','c2','c3'])data.head()data[data.duplicated(keep='last')]#可以用duplicated()函数来查询重复的内容data.duplicated().sum()#统计重复行的数量,可以用sum()函数data=data.drop_duplicates()#用drop_duplica.原创 2021-07-20 17:45:32 · 678 阅读 · 0 评论 -
特征工程之数据预处理-非数值类型数据处理
'''在实际工作中获取到的数据往往不那么理想,可能会存在非数值类型的文本数据、重复值、缺失值、异常值及数据分布不均衡等问题,因此,在进行数学建模前还需要对这些问题进行处理,这项工作称为特征工程。特征工程通常分为特征使用方案、特征获取方案、特征处理、特征监控几大部分,其中特征处理是特征工程的核心内容,有时称为数据预处理。'''#非数值类型数据处理'''机器学习建模时处理的都是数值类型的数据,然而实际工作中获取的数据往往会包含非数值类型的数据,其中最常见的就是文本类型的数据,例如,性别中的“男”和“女原创 2021-07-19 17:25:42 · 2739 阅读 · 0 评论 -
GBDT算法模型
GBDT算法的核心思想:GBDT是Gradient Boosting Decision Tree(梯度提升树)的缩写。GBDT算法也是一种非常实用的Boosting算法,它与AdaBoost算法的区别在于:AdaBoost算法根据分类效果调整权重并不断迭代,最终生成强学习器;GBDT算法则将损失函数的负梯度作为残差的近似值,不断使用残差迭代和拟合回归树,最终生成强学习器。简单来说,AdaBoost算法是调整权重,而GBDT算法则是拟合残差。GBDT算法的简单代码实现:GBDT算法既能做分类分原创 2021-07-17 17:10:09 · 827 阅读 · 0 评论 -
AdaBoost算法模型
AdaBoost模型和GBDT模型则是Boosting算法的典型代表。AdaBoost算法的核心思想:AdaBoost算法(Adaptive Boosting)是一种有效而实用的Boosting算法,它以一种高度自适应的方式按顺序训练弱学习器。针对分类问题,AdaBoost算法根据前一次的分类效果调整数据的权重,在上一个弱学习器中分类错误的样本的权重会在下一个弱学习器中增加,分类正确的样本的权重则相应减少,并且在每一轮迭代时会向模型加入一个新的弱学习器。不断重复调整权重和训练弱学习器,直到误分类原创 2021-07-17 16:30:03 · 299 阅读 · 0 评论 -
随机森林模型
集成学习采用的其实就是这一思想:将多个模型组合在一起,从而产生更强大的模型。集成学习模型使用一系列弱学习器(也称为基础模型或基模型)进行学习,并将各个弱学习器的结果进行整合,从而获得比单个学习器更好的学习效果。集成学习模型的常见算法有Bagging算法和Boosting算法两种。Bagging算法的典型机器学习模型为本章要讲的随机森林模型,而Boosting算法的典型机器学习模型则为第9章和第10章会讲到的AdaBoost、GBDT、XGBoost和LightGBM模型。1.Bagging算法Bag原创 2021-07-17 13:37:50 · 882 阅读 · 0 评论 -
k近邻算法
'''当有多种类别数据时,我们常常面临着对新加入的数据进行分类的问题,例如,根据口味和色泽划分新的葡萄酒的类别,根据内容形式划分新上映电影的类别,根据过往人脸特征进行人脸识别等。这些问题都可以采用机器学习中非常经典的K近邻算法来解决。''''''K近邻算法的原理非常简单:对于一个新样本,K近邻算法的目的就是在已有数据中寻找与它最相似的K个数据,或者说“离它最近”的K个数据,如果这K个数据大多数属于某个类别,则该样本也属于这个类别。'''''' k近邻算法分类模型的代码实现 '''#读取原始数原创 2021-07-16 17:43:09 · 220 阅读 · 0 评论 -
朴素贝叶斯模型
贝叶斯分类是机器学习中应用极为广泛的分类算法之一,其产生自英国数学家贝叶斯对于逆概问题的思考。朴素贝叶斯是贝叶斯模型当中最简单的一种,其算法核心为如下所示的贝叶斯公式。方便记忆的转换形式: pAB/pBA=pA/pB其中P(A)为事件A发生的概率,P(B)为事件B发生的概率,P(A|B)表示在事件B发生的条件下事件A发生的概率,同理P(B|A)则表示在事件A发生的条件下事件B发生的概率。'''朴素贝叶斯模型的简单代码实现 '''from sklearn.naive_baye..原创 2021-07-15 16:05:32 · 565 阅读 · 0 评论 -
决策树模型
决策树模型是机器学习的各种算法模型中比较好理解的一种模型,它的基本原理是通过对一系列问题进行if/else的推导,最终实现相关决策。下图所示为一个典型的决策树模型——员工离职预测模型的简单演示。该决策树首先判断员工满意度是否小于5,若答案为“是”,则认为该员工会离职,若答案为“否”,则接着判断该员工收入是否小于10000元,若答案为“是”,则认为该员工会离职,若答案为“否”,则认为该员工不会离职。下面解释决策树模型的几个重要概念:父节点和子节点、根节点和叶子节点。父节点和子节点是相对的,子节点由原创 2021-07-14 17:12:13 · 1169 阅读 · 0 评论 -
逻辑回归模型
逻辑回归模型的算法原理:分类模型与回归模型的区别在于其预测的变量不是连续的,而是离散的一些类别,例如,最常见的二分类模型可以预测一个人是否会违约、客户是否会流失、肿瘤是良性还是恶性等。逻辑回归模型虽然名字中有“回归”二字,但其在本质上却是分类模型。既然逻辑回归模型是分类模型,为什么名字里会含有“回归”二字呢?这是因为其算法原理同样涉及线性回归模型中的线性回归方程。上面这个方程是用于预测连续变量的,其取值范围为(-∞,+∞),而逻辑回归模型是用于预测类别的,例如,用逻辑回归模型预测某物品是属.原创 2021-07-13 07:49:38 · 233 阅读 · 0 评论 -
多元线性回归
多元线性回归的原理和一元线性回归的原理在本质上是一样的,不过因为多元线性回归可以考虑到多个因素对目标变量的影响,所以在商业实战中应用更为广泛。利用多元线性回归可以构建更加丰富和实用的模型,例如,根据工龄、地域、行业等因素来预测薪水,根据房屋大小、所处位置、是否靠近地铁等因素来预测房价等。案例实战:客户价值预测模型利用多元线性回归模型可以根据多个因素来预测客户价值,当模型搭建完成后,便可对不同价值的客户采用不同的业务策略。这里以信用卡客户的客户价值为例来解释客户价值预测的具体含义:客户价值原创 2021-07-12 14:38:39 · 430 阅读 · 0 评论 -
一元线性回归3----一元多次线性回归
一元线性回归模型其实还有一个进阶版本——一元多次线性回归模型,比较常见的是一元二次线性回归模型,其形式可以表示为如下所示的公式:y=ax2+bx+c之所以还需要研究一元多次线性回归模型,是因为有时真正契合的趋势线可能不是一条直线,而是一条曲线。如下图所示,根据一元二次线性回归模型绘制的曲线更契合散点图呈现的数据变化趋势。那么如何在Python中搭建一个一元二次线性回归模型呢?首先,通过如下代码生成二次项数据。from sklearn.preprocessing import Poly.原创 2021-07-12 12:04:08 · 3180 阅读 · 0 评论 -
一元线性回归2
通过Python的Scikit-Learn库可以轻松搭建一元线性回归模型。#1.绘制散点图:import matplotlib.pyplot as pltx=[[1],[2],[4],[5]]y=[2,4,6,8]plt.scatter(x,y)plt.show()#2.引入Scikit-Learn库搭建模型from sklearn.linear_model import LinearRegressionregr=LinearRegression()regr.fit.原创 2021-07-11 12:23:16 · 129 阅读 · 0 评论 -
一元线性回归1
线性回归模型是利用线性拟合的方式探寻数据背后的规律。如下图所示,先通过搭建线性回归模型寻找这些散点(也称样本点)背后的趋势线(也称回归曲线),再利用回归曲线进行一些简单的预测分析或因果关系分析。在线性回归中,我们根据特征变量(也称自变量)来预测反应变量(也称因变量)。根据特征变量的个数可将线性回归模型分为一元线性回归和多元线性回归。例如,通过“工龄”这一个特征变量来预测“薪水”,就属于一元线性回归;而通过“工龄”“行业”“所在城市”等多个特征变量来预测“薪水”,就属于多元线性回归。一元线性.原创 2021-07-11 12:11:25 · 359 阅读 · 0 评论 -
相关分析-如何选用Pearson、Spearman、Kendall三大相关系数
说到相关分析,很多人会马上拿出皮尔逊Pearson相关系数,从不论数据是不是符合适用条件,甚至完全不了解Pearson相关系数还有假设条件这回事。常见的相关系数有三种,它们分别是Pearson、Spearman、Kendall系数,世人兼知pearson系数,冷淡了另外两个。非常重要的一个知识点是:Pearson系数不是万能的,不满足适用条件时我们需要使用另外两个。三大相关系数如何选用呢,小兵给大家作个小结。一、变量类型考察两个变量的相关关系,首先得看清楚两个变量都是什么类型的。统计分析原创 2021-06-18 11:47:53 · 3789 阅读 · 0 评论 -
解决样本类别分布不均衡的问题
解决样本类别分布不均衡的问题所谓的不均衡指的是不同类别的样本量差异非常大。样本类别分布不均衡主要出现在分类相关的建模问题上。样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数据分布不均衡两种。·大数据分布不均衡;这种情况下整体数据规模大,只是其中的小样本类的占比较少。但是从每个特征的分布来看,小样本也覆盖了大部分或全部的特征。例如拥有1000万条记录的数据集中,其中占比50万条的少数分类样本便于属于这种情况。·小数据分布不均衡;这种情况下整体数据规模小,并且占据少量样本比例的分类数量也少原创 2021-06-15 11:53:32 · 3045 阅读 · 0 评论 -
学生上网分析--DBSCAN密度聚类
DBSCAN算法是一种基于密度的聚类算法:DBSCAN是基于一组邻域来描述样本集的紧密程度的,参数(ϵ, MinPts)用来描述邻域的样本分布紧密程度。其中,ϵ描述了某一样本的邻域距离阈值,MinPts描述了某一样本的距离为ϵ的邻域中样本个数的阈值。1.聚类的时候不需要预先指定簇的个数;2.最终的簇的个数不定。DBSCAN算法将数据点分为三类:核心点:在半径Eps内含有超...原创 2019-12-23 18:02:56 · 954 阅读 · 1 评论 -
31省消费水平--聚类分析
数据源样式:代码(自己写的):#读入数据fr=open(r'd:\Users\zhanggl21\Desktop\Python机器学习应用\31省市居民家庭消费水平-city.txt','r+')lst=[]for line in fr: lst.append(line.strip().split(','))citydata=[]cityname=[]f...原创 2019-12-23 16:07:00 · 4249 阅读 · 1 评论 -
贷款预测问题(探索性分析+多种解决方案)
用到的数据集:train 链接: https://pan.baidu.com/s/1hCQKvLYxTb5MkltJDa1QlQ 提取码: jsh8test 链接: https://pan.baidu.com/s/16SkJ7fo1yEutv4CwnWPEnA 提取码: yry1由于元组是不可变的并且不能更改,因此与列表相比,它们的处理速度更快。因此,如果您的列表不...原创 2019-10-27 12:25:43 · 3945 阅读 · 4 评论 -
使用PCA进行特征降维
特征降维:特征降维是无监督学习的另一个应用,目的有二:其一,我们会经常在实际项目中遭遇特征维度非常之高的训练样本,而往往又无法借助自己的领域知识人工构建有效特征; 其二,在数据表现方面,我们无法用肉眼观测超过三个维度的特征。因此,特征降维不仅重构了有效的低维度特征向量,同时也为数据展现提供了可能。在特征降维的方法中,主成分分析是最为经典和实用的特征降维技术,特别在辅助图像识别方面有突出的表现。...原创 2019-10-24 15:33:32 · 3067 阅读 · 0 评论 -
使用线性分类模型从事良/恶性肿瘤预测任务
#良恶性肿瘤预处理import numpy as npimport pandas as pd#创建特征列表column_names=['Sample code number',\ 'Clump Thickness',\ 'Uniformity of Cell Size',\ 'Uniformity of...原创 2019-09-24 17:23:46 · 530 阅读 · 0 评论 -
SGDClassifier和LR,SVM的区别
版权声明:本文为CSDN博主「tianbwin2995」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/tianbwin2995/article/details/51853869看了许多文献,以及最近的项目经验,终于真正地搞懂了LR。以前总听大家说,看你对机器学习搞得透彻不透彻,就看你逻辑回...转载 2019-09-24 15:29:33 · 714 阅读 · 0 评论 -
有关StandardScaler的transform和fit_transform方法
背景:StandardScaler类是一个用来讲数据进行归一化和标准化的类。所谓归一化和标准化,即应用下列公式:使得新的X数据集方差为1,均值为0问题一:StandardScaler类中transform和fit_transform方法有什么区别?答:fit_transform方法是fit和transform的结合,fit_transform(X_train) ...原创 2019-09-24 14:55:01 · 3489 阅读 · 0 评论 -
逻辑斯蒂回归用sigmoid函数的原因?
sigmoid函数的数学公式sigmoid函数的因变量x取值范围是-∞到+∞,(-∞,+∞),但是sigmoid函数的值域是(0, 1)。不管x取什么值其对应的sigmoid函数值一定会落到(0,1)范围内~~~漂亮的logistic 曲线sigmoid函数对应的图形就是logistic曲线,logistic曲线对应的函数就是sigmoid函数。...转载 2019-09-23 17:46:22 · 228 阅读 · 0 评论 -
数据挖掘之KNN算法
KNN(k-近邻)算法概述:简单地说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。它的工作原理是:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输人没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中...原创 2019-05-31 09:34:48 · 948 阅读 · 0 评论 -
数据挖掘2
归一化数值:方程中数字差值最大的属性对计算结果的影响最大,也就是说,每年获取的飞行常客里程数对于计算结果的影响将远远大于表2-3中其他两个特征— 玩视频游戏的和每周消费冰洪淋公升数— 的影响。而产生这种现象的唯一原因,仅仅是因为飞行常客里程数远大于其他特征值。但海伦认为这三种特征是同等重要的,因此作为三个等权重的特征之一,飞行常客里程数并不应该如此严重地影响到计算结果。在处理这种不同取值范围的...原创 2019-05-17 18:12:19 · 374 阅读 · 0 评论 -
Sklearn各分类算法实现
1、逻辑回归使用逻辑回归来实现对癌症患者的分类:import pandas as pdimport numpy as npcolumn_name = ['Sample code number','Clump Thickness','Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion', ...转载 2019-09-24 18:11:09 · 2862 阅读 · 0 评论 -
支持向量机分类器对手写体数字图像进行识别
支持向量机分类器,便是根据训练样本的分布,搜索所有可能的线性分类器中最佳的那个。我们会发现决定其直线位置的样本并不是所有训练数据,而是其中的两个空间间隔最小的两个不同类别的数据点,而我们把这种可以用来真正帮助决策最优线性分类模型的数据点叫做“支持向量”。逻辑斯蒂回归模型在训练过程中由于考虑了所有训练样本对参数的影响,因此不一定获得最佳的分类器。#----手写体数据读取代码样例#从s...原创 2019-09-25 17:41:34 · 989 阅读 · 0 评论 -
利用朴素贝叶斯进行新闻分类
模型介绍:朴素贝叶斯(Naive Bayes)是一个非常简单,但是实用性很强的分类模型。不过,和线性分类器、支持向量机分类器等基于线性假设的模型不同,朴素贝叶斯分类器的构造基础是贝叶斯理论。抽象一些说,朴素贝叶斯分类器会单独考量每一维度特征被分类的条件概率,进而综合这些概率并对其所在的特征向量做出分类预测。因此,这个模型的基本数学假设是:各个维度上的特征被分类的条件概率之间是相互独立的。#--...原创 2019-09-26 16:23:32 · 1878 阅读 · 0 评论 -
利用K近邻算法对生物物种进行分类
---K近邻分类模型介绍:K近邻模型本身非常直观并且容易理解。假设我们有一些携带分类标记的训练样本,分布于特征空间中;蓝色、绿色的样本点各自代表其类别。对于一个待分类的红色测试样本点,未知其类别,按照成语“近朱者赤,近墨者黑”的说法,我们需要寻找与这个待分类的样本在特征空间中距离最近的K个已标记样本作为参考,来帮助我们做出分类决策。这便是K近邻算法的通俗解释。如,如果我们根据最近的K=3...原创 2019-09-27 15:54:00 · 675 阅读 · 1 评论 -
使用决策树模型预测泰坦尼克号乘客的生还情况
模型介绍:在前面所使用的逻辑斯蒂回归和支持向量机模型,都在某种程度上要求被学习的数据特征和目标之间遵照线性假设。然而,在许多现实场景下,这种假设是不存在的。比如,如果要借由一个人的年龄来预测患流感的死亡率。如果采用线性模型假设,那么只有两种情况:年龄越大死亡率越高;或者年龄越小死亡率越高。然而,根据常识判断,青壮年因为更加健全的免疫系统,相较于儿童和老年人不容易因患流感死亡。因此,年龄与因...原创 2019-09-29 13:49:59 · 1456 阅读 · 0 评论 -
在训练前标准化了训练集和测试集,训练完了以后,抽取未标准化的一条数据进行预测,结果出了问题
原数据集的target都是正值,但按如下代码做出来的预测是负值fromsklearn.datasetsimportload_bostonboston=load_boston()x=boston.datay=boston.targetfromsklearn.model_selectionimporttrain_test_splitxtrain,xtest,ytrain,y...原创 2019-09-29 21:19:50 · 3841 阅读 · 1 评论 -
Python编程实现使用线性回归预测数据
1) 预测房子价格1) 预测房子价格我们有下面的数据集:输入编号 平方英尺 价格 1 150 6450 2 200 7450 3 250 8450 4 300 9450 5 350 11450 6 400 15450 7 600 18450 ...转载 2019-09-30 11:59:36 · 2049 阅读 · 0 评论 -
K-means算法在手写体数字图像数据上的使用示例
无监督学习:着重于发现数据本身的分布特点。与监督学习不同,无监督学习不需要对数据进行标记。这样,在节省大量人工的同时,也让可以利用的数据规模变得不可限量。 从功能角度讲,无监督学习模型可以帮助我们发现数据的“群落”(数据聚类),同时也可以寻找“离群”的样本;另外,对于特征维度非常高的数据样本,我们同样可以通过无监督的学习对数据进行降维(特征降维),保留最具有区分性的低维度特征。这些都...原创 2019-10-08 20:20:02 · 1581 阅读 · 0 评论 -
数据挖掘1
数据质量分析的主要任务是检查原始数据中是否存在脏数据,脏数据一般是指不符合要求、以及不能直接进行相应分析的数据。在常见的数据挖掘工作中,脏数据包括如下内容:缺失值。异常值。不一致的值。重复数据及含有特殊符号(如#、*)的数据。缺失值的分析:使用简单的统计分析,可以得到含有缺失值的属性的个数,以及每个属性的未缺失数、缺失数与缺失率等。缺失值的处理:总体上来说,处理方式...转载 2019-05-16 18:13:50 · 1129 阅读 · 0 评论