精华内容
下载资源
问答
  • 社交媒体数据挖掘重要性

    千次阅读 2015-04-01 16:34:19
    社交媒体是现在很多人需要用到的交流工具,例如微信,微博,博客等等,那么如何从社交媒体当中获得有效的数据成为了一个非常重要的问题。
    社交媒体是现在很多人需要用到的交流工具,例如微信,微博,博客等等,那么如何从社交媒体当中获得有效的数据成为了一个非常重要的问题。
    展开全文
  • 在打比赛的时候一直贯穿的思考,大概就是判别各个特征的重要性。 在建立模型之前,特征重要性能够帮助训练模型,防止过拟合,提升模型的RUC效果。 建立模型之后,特征重要性能够增强模型(集成模型 非深度学习模型...

    在打比赛的时候一直贯穿的思考,大概就是判别各个特征的重要性。

    在建立模型之前,特征重要性能够帮助训练模型,防止过拟合,提升模型的RUC效果。

    建立模型之后,特征重要性能够增强模型(集成模型 非深度学习模型)的可解释性,帮助建立模型信任、做出现实意义上的决策。

    建模前特征重要性判别

    要构建数值型连续变量的监督学习模型,最重要的方面之一就是好好理解特征。观察一个模型的部分依赖图有助于理解模型的输出是如何随着每个特征变化而改变的。

    1.featexp

    一位名叫Abhay Pawar的小哥开发了一些特征工程和机器学习建模的标准方法。

    • 特征理解
    • 识别嘈杂特征
    • 特征工程
    • 特征重要性
    • 特征调试
    • 泄漏检测与理解
    • 模型监控

    特征理解

                                                         

    如果因变量 (分析目标) 是二分类数据,散点图就不太好用了,因为所有点不是0就是1。针对连续型变量,数据点太多的话,会让人很难理解目标和特征之间的关系。但是,用featexp可以做出更加友好的图像。

                                

    Featexp可以把一个数字特征,分成很多个样本量相等的区间(X轴)。然后,计算出目标的平均值 (Mean),并绘制出左上方的图像。在这里,平均值代表违约率。图像告诉我们,年纪 (DAYS_BIRTH) 越大的人,违约率越低。

    这非常合理的,因为年轻人通常更可能违约。这些图能够帮助我们理解客户的特征,以及这些特征是如何影响模型的。右上方的图像表示每个区间内的客户数量。

    get_univariate_plots(data=data_train, target_col='target', features_list=data_train.columns[0:10], data_test=data_test)

    识别嘈杂特征

    嘈杂特征容易造成过拟合,分辨噪音一点也不容易。

    在featexp里,你可以跑一下测试集或者验证集,然后对比训练集和测试集的特征趋势,从而找出嘈杂的特征。

           

                                                                               训练集和测试集特征趋势的对比

    为了衡量噪音影响程度,featexp会计算两个指标:

    • 趋势相关性 (从测试绘图中可见) :如果一个特征在训练集和验证集里面表现出来的趋势不一样,就有可能导致过拟合。这是因为,模型从训练集里学到的一些东西,在验证集中不适用。趋势相关性可以告诉我们训练集和验证集趋势的相似度,以及每个区间的平均值。上面这个例子中,两个数据集的相关性达到了99%。看起来噪音不是很严重!

    • 趋势变化:有时候,趋势会发生突然变化和反复变化。这可能就参入噪音了,但也有可能是特定区间内有其他独特的特征对其产生了影响。如果出现这种情况,这个区间的违约率就没办法和其他区间直接对比了。

    如果训练集和测试集没有相同的趋势:如两者相关性只有85%。有时候,可以选择丢掉这样的特征。

    嘈杂特征的例子

    抛弃相关性低的特征,这种做法在特征非常多、特征之间又充满相关性(95%以上的很多)的情况下比较适用。这样可以减少过拟合,避免信息丢失。不过,别把太多重要的特征都丢掉了;否则模型的预测效果可能会大打折扣。同时,你也不能用重要性来评价特征是否嘈杂,因为有些特征既非常重要,又嘈杂得不得了。

    用与训练集不同时间段的数据来做测试集可能会比较好。这样就能看出来数据是不是随时间变化的了。

    Featexp里有一个 get_trend_stats() 函数,可以返回一个数据框 (Dataframe) ,显示趋势相关性和趋势变化。

    stats = get_trend_stats(data=data_train, target_col='target', data_test=data_test)

                                     

                                                                                  get_trend_stats()返回的数据框

    现在,可以试着去丢弃一些趋势相关性弱的特征了,看看预测效果是否有提高。

    我们可以看到,丢弃特征的相关性阈值越高,排行榜(LB)上的AUC越高。只要注意不要丢弃重要特征,AUC可以提升到0.74。有趣的是,测试集的AUC并没有像排行榜的AUC变化那么大。完整代码可以在featexp_demo记事本里面找到。

    featexp_demo

    https://github.com/abhayspawar/featexp/blob/master/featexp_demo.ipynb

    特征工程

    通过查看这些图表获得的见解,有助于我们创建更好的特征。只需更好地了解数据,就可以实现更好的特征工程。除此之外,它还可以帮助你改良现有特征。下面来看另一个特征EXT_SOURCE_1:

                         

    具有较高EXT_SOURCE_1值的客户违约率较低。但是,第一个区间(违约率约8%)不遵循这个特征趋势(上升并下降)。它只有-99.985左右的负值且人群数量较多。这可能意味着这些是特殊值,因此不遵循特征趋势。幸运的是,非线性模型在学习这种关系时不会有问题。但是,对于像Logistic回归这样的线性模型,如果需要对特殊值和控制进行插值,就需要考虑特征分布,而不是简单地使用特征的均值进行插补。

    特征重要性

    Featexp还可以帮助衡量特征的重要性。DAYS_BIRTH和EXT_SOURCE_1都有很好的趋势。但是,EXT_SOURCE_1的人群集中在特殊值区间中,这表明它可能不如DAYS_BIRTH那么重要。基于XGBoost模型来衡量特征重要性,发现DAYS_BIRTH实际上比EXT_SOURCE_1更重要。

    特征调试

    查看Featexp的图表,可以帮助你通过以下两项操作来发现复杂特征工程代码中的错误:

                    

    零方差特征只展现一个区间

    • 检查要素的总体分布是否正确。由于一些小错误,我个人曾多次遇到类似上述的极端情况。
    • 在查看这些图之前,预先假设特征趋势可能会是怎样,特性趋势如果不像你所期望的那样,这可能暗示了一些问题。坦白地说,这个假设趋势的过程使构建机器学习模型变得更加有趣!

    泄漏检测

    从目标到特征的数据泄漏会导致过拟合。泄露的特征具有很高的特征重要性。要理解为什么在特征中会发生泄漏是很困难的,查看featexp图像可以帮助理解这一问题。

    在“Nulls”区间的特征违约率为0%,同时,在其他所有区间中的违约率为100%。显然,这是泄漏的极端情况。只有当客户违约时,此特征才有价值。基于此特征,可能是因为一个故障,或者因为这个特征在违约者中很常见。了解泄漏特征的问题所在能让你更快地进行调试。

                                  

    理解为什么特征会泄漏

    模型监控

    由于featexp可计算两个数据集之间的趋势相关性,因此它可以很容易地利用于模型监控。每次我们重新训练模型时,都可以将新的训练数据与测试好的训练数据(通常是第一次构建模型时的训练数据)进行比较。趋势相关性可以帮助你监控特征信息与目标的关系是否发生了变化。

     

    这些简单的步骤总能帮助在Kaggle或者实际工作中构建更好的模型。用featexp,花15分钟去观察那些图像,是十分有价值的:它会带你一步步看清黑箱里的世界。

     

    建模后的特征重要性(模型可解释性)

    深度神经网络能够在多个层次进行抽象推断,所以他们可以处理因变量与自变量之间非常复杂的关系,并且达到非常高的精度。但是这种复杂性也使模型成为黑箱,我们无法获知所有产生模型预测结果的这些特征之间的关系,所以我们只能用准确率、错误率这样的评价标准来代替,来评估模型的可信性。

    但我们在构建树类模型(XGBoost、LightGBM等)时,想要知道哪些变量比较重要的话。可以通过模型feature_importances_方法来获取特征重要性。例如LightGBM的feature_importances_可以通过特征的分裂次数或利用该特征分裂后的增益来衡量。

    对模型结果的解释可应用到以下这些场景当中:

    数据收集

    对于从网上下载的数据集,你是无法控制的。但是很多使用数据科学的企业和组织都有机会扩展所收集数据的类型。因为收集新类型的数据可能成本会很高,或者非常麻烦,所以只有在清楚这么做是划算的时候,企业和组织才会去做。基于模型的解释会帮你更好地理解现有特征地价值,进而推断出哪些新数据可能是最有帮助的。

    决策制定

    某些情况下,模型会直接自动做出决策,但是有很多重要的决策是需要人来确定。对于最终需要人来做的决策,模型的可解释性比单纯的预测结果更重要

    建立信任

    许多人在确定一些基本的事实之前,不会信赖你用来做重要决策的模型。鉴于数据错误的频繁出现,这是一种明智的防范措施。在实际业务场景中,如果给出的模型解释符合对方自身对问题的理解,那么即使在基本不具备深入的数据科学知识的人之间,也将有助于建立互相信任的关系。

    1.Permutaion Importance —— 排列重要性

    训练得到一个模型之后,我们可能会问的一个最基本的问题是 哪些特征对预测结果的影响最大?

    这一概念叫做 特征重要性

    我们想用一个人10岁的数据去预测他20岁的身高是多少?

    数据中包含:

    • 有用的特征(10岁时的身高)
    • 较弱的特征(10岁时每天体育锻炼的时间)
    • 对预测基本没有作用的特征(10岁时股票数量)

    排列重要性是要在模型拟合之后才能进行计算。 所以对于给定的身高、股票数量等取值之后,计算排列重要性并不会改变模型或者是它的预测结果。

    相反,我们会问以下问题:如果随机打乱验证数据某一列的值,保持目标列以及其它列的数据不变,那么这种操作会在这些打乱的数据上对预测准确率产生怎样的影响?

    对某一列进行随机排序应当会降低预测的准确率,这是因为产生的数据不再对应于现实世界中的任何东西。如果随机打乱的那一列模型预测对其依赖程度很高,那么模型准确率的衰减程度就会更大。在这个例子中,打乱height at age 10将会让预测结果非常差。但是如果我们随机打乱的是socks owned,那么产生的预测结果就不会衰减得那么厉害。

    有了上述认识之后,排列重要性就按照以下步骤进行计算:

    1. 得到一个训练好的模型
    2. 打乱某一列数据的值,然后在得到的数据集上进行预测。用预测值和真实的目标值计算损失函数因为随机排序升高了多少。模型性能的衰减量代表了打乱顺序的那一列的重要程度。
    3. 将打乱的那一列复原,在下一列数据上重复第2步操作,直到计算出了每一列的重要性。

                                                                   

    排列重要性结果解读

    排在最上面的是最重要的特征,排在最下面是重要性最低的特征。

    每一行的第一个数字表示模型性能衰减了多少(在这个例子中,使用准确率作为性能度量)。

    跟数据科学里面的很多事情一样,在对某一打乱的特征提取重要性的时候,是存在随机性的,所以我们在计算排列重要性的时候,会通过多次打乱顺序的方式重复这一过程。在±后面的数字表示标准差。

    偶尔你会看到负值的排列重要性。在这些情况中,在打乱的数据上得到预测结果比真实数据的准确率更高。这在所选特征与目标基本无关(重要性应该为0)的情况下会出现,但是随机的因素导致预测结果在打乱的数据上表现得更准确。就像这个例子一样,因为没有容忍随机性的空间,这种情况在小的数据集上很常见。

    2.Partial Dependence Plots —— 部分依赖图

    特征重要性展示的是哪些变量对预测的影响最大,而部分依赖图展示的是特征如何影响模型预测的。

    部分依赖图可以用来展示一个特征是怎样影响模型预测的。可以用部分依赖图回答一些与下面这些类似的问题:1. 假如保持其它所有的特征不变,经纬度对房价有什么影响?换句话说,相同大小的房子,在不同的地方价格会有什么差别?2. 在两组不同的人群上,模型预测出的健康水平差异是由他们的负债水平引起的,还是另有原因?

    工作原理

    跟排列重要性一样,部分依赖图也是要在拟合出模型之后才能进行计算。 模型是在真实的未加修改的真实数据上进行拟合的。

    以足球比赛为例,球队间可能在很多方面都存在着不同。比如传球次数,射门次数,得分数等等。乍看上去,似乎很难梳理出这些特征产生的影响。

    为了搞清楚部分依赖图是怎样把每个特征的影响分离出来的,首先我们只看一行数据。比如,这行数据显示的可能是一支占有50%的控球时间,传了100次球,射门了10次,得了1分的球队。

    接下来,利用训练好的模型和上面的这一行数据去预测该队斩获最佳球员的概率。但是,我们会多次改变某一特征的数值,从而产生一系列预测结果。比如我们会在把控球时间设成40%的时候,得到一个预测结果,设成50%的时候,得到一个预测结果,设成60%的时候,也得到一个结果,以此类推。以从小到大设定的控球时间为横坐标,以相应的预测输出为纵坐标,我们可以把实验的结果画出来。

    from matplotlib import pyplot as plt
    from pdpbox import pdp, get_dataset, info_plots
    
    # Create the data that we will plot
    pdp_goals = pdp.pdp_isolate(model=tree_model, dataset=val_X, model_features=feature_names, feature='Goal Scored')
    
    # plot it
    pdp.pdp_plot(pdp_goals, 'Goal Scored')
    plt.show()

                                                                         

    在看上面的部分依赖图的时候,有两点值得注意的地方:

    • y轴表示的是模型预测相较于基线值或最左边的值的变化
    • 蓝色阴影部分表示置信区间。

    2D 部分依赖图

    如果你对特征之间的相互作用感兴趣的话,2D部分依赖图就能排得上用场了。

    key code:
    from sklearn.ensemble.partial_dependence import partial_dependence, plot_partial_dependence
    
    my_plots = plot_partial_dependence(my_model,       
                                       features=[0, 2], # column numbers of plots we want to show
                                       X=X,            # raw predictors data.
                                       feature_names=['Distance', 'Landsize', 'BuildingArea'], # labels on graphs
                                       grid_resolution=10) # number of values to plot on x axis
    

    优点

    pdp的计算是直观的:partial dependence function 在某个特定特征值位置表示预测的平均值,如果我们强制所有的数据点都取那个特征值。在我的经验中,lay people(普通人,没有专业知识的大众)通常都可以很快理解PDPs的idea。

    如果你要计算的PDP的特征和其它特征没有关联,那么PDP可以完美的展示出这个特征大体上上如何影响预测值的。在不相关的情况下,解释是清晰的:PDP展示了平均预测值在某个特征改变时是如何变化的。如果特征是相互关联的,这会变得更加复杂。

    不足

    实际分析PDP时的最大特征个数是2。这不是PDP的错误,而是由于我们人无法想象超过三维的空间。

    有一些 PDP并不展示特征分布。忽略分布可能会造成误解,因为你可能会过度解读具有少量数据的地方。这个问题通过展示一个rug或者histogram在x轴上的方式很容易解决。

    独立性假设是PDP的最大问题,它假设计算的特征和其它特征是不相关的。当特征是相关的时候,我们创造的新的数据点在特征分布的空间中出现的概率是很低的。对这个问题的一个解决方法就是Accumulate Local Effect plots,或者简称ALE plots,它工作在条件分布下而不是边缘分布下。

    多种类的影响可能会被隐藏,因为PDP仅仅展示边际影响的平均值。假设对于一个要计算的特征,一半的数据点对预测有正相关性,一半的数据点对预测有负相关性。PD曲线可能会是一个水平的直线,因为两半数据点的影响可能会互相抵消。然后你可能会得出特征对预测没有影响的结论。通过绘制individual conditional expectation curves而不是aggregated line,我们可以揭示出这种heterogeneous effects。

    3.SHAP VALUES —— 什么影响了你的决定?

     

    SHAP值(SHapley Additive exPlanations的缩写)从预测中把每一个特征的影响分解出来。可以把它应用到类似于下面的场景当中:

    • 模型认为银行不应该给某人放贷,但是法律上需要银行给出每一笔拒绝放贷的原因。
    • 医务人员想要确定对不同的病人而言,分别是哪些因素导致他们有患某种疾病的风险,这样就可以因人而异地采取针对性的卫生干预措施,直接处理这些风险因素。

    工作原理

    SHAP值通过与某一特征取基线值时的预测做对比,来解释该特征取某一特定值的影响。

    可以继续用排列重要性部分依赖图中用到的例子进行解释。

    我们对一个球队会不会赢得“最佳球员”称号进行了预测。

    我们可能会有以下疑问:

    • 预测的结果有多大的程度是由球队进了3个球这一事实影响的?

    但是,如果我们像下面这样重新表述一下的话,那么给出具体、定量的答案还是比较容易的:

    • 预测的结果有多大的程度是由球队进了3个球这一事实影响的,而不是某些基线进球数?

    当然,每个球队都由很多特征,所以,如果我们能回答“进球数”的问题,那么我们也能对其它特征重复这一过程。

    import shap  
    
    #实例化
    explainer = shap.TreeExplainer(my_model)
    
    #计算
    shap_values = explainer.shap_values(data_for_prediction)
    shap.initjs()
    shap.force_plot(explainer.expected_value[1], shap_values[1], data_for_prediction)

     

    我们预测的结果时0.7,而基准值是0.4979。引起预测增加的特征值是粉色的,它们的长度表示特征影响的程度。引起预测降低的特征值是蓝色的。最大的影响源自Goal Scored等于2的时候。但ball possesion的值则对降低预测的值具有比较有意义的影响。

    如果把粉色条状图的长度与蓝色条状图的长度相减,差值就等于基准值到预测值之间的距离。

    要保证基线值加上每个特征各自影响的和等于预测值的话,在技术上还是有一些复杂度的(这并不像听上去那么直接)。我们不会研究这些细节,因为对于使用这项技术来说,这并不是很关键。这篇博客对此做了比较长篇幅的技术解释。

    如果仔细观察一下计算SHAP值的代码,就会发现在shap.TreeExplainer(my_model)中涉及到了树。但是SHAP库有用于各种模型的解释器。

    • shap.DeepExplainer适用于深度学习模型
    • shap.KernelExplainer 适用于各种模型,但是比其它解释器慢,它给出的是SHAP值的近似值而不是精确值。
      下面是用KernelExplainer得到类似结果的例子。结果跟上面并不一致,这是因为KernelExplainer`计算的是近似值,但是表达的意思是一样的。

    4.Summary Plots

    explainer = shap.TreeExplainer(my_model)
    
    shap_values = explainer.shap_values(val_X)
    
    shap.summary_plot(shap_values[1], val_X)

                                                

    图形解释

    • 每个点是一个样本(人),图片中包含所有样本

    • X轴:样本按Shap值排序-

    • Y轴:特征按Shap值排序

    • 颜色:特征的数值越大,越红

    特征解释

    • martial_status2这个特征最重要,且值越大,收入会相对更高,到达一定峰值,会明显下降

    • 年龄也是影响结果的重要特征,年龄小收入普遍低,但年龄到达一定程度,并不会增加收入,存在年龄小,收入高的人群。

    • 收入水平和capital_gain大致呈正相关。

    shap.summary_plot(shap_values[1],X_test, plot_type="bar")
    

                                                    

    上图是特征重要性图谱,由上向下重要性依次减弱。

    shap_values = explainer.shap_values(df)
    shap.dependence_plot('age', shap_values[1], df, interaction_index="capital_gain")
    
     

                                                  

    图形解释:

    • X轴:age

    • Y轴(左):一个样本的age对应的Shap值

    • 颜色:capital_gain越大越红

    特征解释:

    • 排除所有特征的影响,描述age和capital_gain的关系。

    • 年龄大的人更趋向于有大的资本收益,小部分年轻人有大的资本收益。

    5.树GraphViz可视化export_graphviz

    export_graphviz(estimator, out_file='tree.dot', 
                    feature_names = feature_names,
                    class_names = y_train_str,
                    rounded = True, proportion = True, 
                    label='root',
                    precision = 2, filled = True)
    
    from subprocess import call
    call(['dot', '-Tpng', 'tree.dot', '-o', 'tree.png', '-Gdpi=600'])
    
    from IPython.display import Image
    Image(filename = 'tree.png')

     

    写到这里就告一段落。

    后来发现了一个更全面的学习博文,更进一步参考。

    https://blog.csdn.net/Datawhale/article/details/103169719

    展开全文
  • 数据挖掘

    千次阅读 多人点赞 2019-04-16 16:26:36
    数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律,并进一步将其模型化的先进有效的方法。 应用的技术包括:数据库技术、人工智能技术、数理统计、...

    数据挖掘其实是一种深层次的数据分析方法。数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的先进有效的方法。
    应用的技术包括:数据库技术、人工智能技术、数理统计、可视化技术、并行计算等方面。

    数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到的信息应具有先知,有效和可实用三个特征。

    数据挖掘的目标是
    从数据库中发现隐含的、有意义的知识,主要有以下五类功能。
        1.自动预测趋势和行为数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。

        2.关联分析数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。

        3.聚类数据库中的记录可被划分为一系列有意义的子集,即聚类。

        4.概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。

        5.偏差检测数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。

      数据挖掘技术包括关联分析、序列分析、分类、预测、聚类分析及时间序列分析等。

      1.关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也
    经常发生。关联分析的重点在于快速发现那些有实用价值的关联发生的事件。其主要依据是
    事件发生的概率和条件概率应该符合一定的统计意义。

    2.序列分析
    序列分析技术主要用于发现一定时间间隔内接连发生的事件。这些事件构成一个序列,发现的序列应该具有普遍意义,

    3.分类分析
    分类分析通过分析具有类别的样本的特点,得到决定样本属于各种类别的规则或方法。
    主要方法有基于统计学的贝叶斯方法、神经网络方法、决策树方法及支持向量机。

    4.聚类分析
    聚类分析是根据物以类聚的原理,将本身没有类别的样本聚集成不同的组,并且对每一个这样的组进行描述的过程。其主要依据是聚到同一个组中的样本应该彼此相似,而属于不同组的样本应该足够不相似。

    5.预测
    预测与分类类似,但预测是根据样本的已知特征估算某个连续类型的变量的取值的过程,
    而分类则只是用于判别样本所属的离散类别而已。预测常用的技术是回归分析。

    6.时间序列
    分析时间序列分析的是随时间而变化的事件序列,目的是预测未来发展趋势,或者寻找相似发展模式或者是发现周期性发展规律。

    数据挖掘的流程大致如下:

    1.问题定义在开始数据挖掘之前,最先的也是最重要的要求就是熟悉背景知识,弄清
    用户的需求。缺少了背景知识,就不能明确定义要解决的问题,就不能为挖掘准备优质的数
    据,也很难正确地解释得到的结果。要想充分发挥数据挖掘的价值,必须对目标有一个清晰
    明确的定义,即决定到底想干什么。

    2.建立数据挖掘库
    要进行数据挖掘必须收集要挖掘的数据资源。一般建议把要挖掘的数据都收集到一个数
    据库中,而不是采用原有的数据库或数据仓库。这是因为大部分情况下需要修改要挖掘的数
    据,而且还会遇到采用外部数据的情况;另外,数据挖掘还要对数据进行各种纷繁复杂的统
    计分析,而数据仓库可能不支持这些数据结构。
    3.分析数据
    分析数据就是通常所进行的对数据深入调查的过程。从数据集中找出规律和趋势,用聚
    类分析区分类别,最终要达到的目的就是搞清楚多因素相互影响的、十分复杂的关系,发现
    因素之间的相关性。
    4.调整数据
    通过上述步骤的操作,对数据的状态和趋势有了进一步的了解,这时要尽可能对问题解
    决的要求能进一步明确化、进一步量化。针对问题的需求对数据进行增删,按照对整个数据
    挖掘过程的新认识组合或生成一个新的变量,以体现对状态的有效描述。
    5.模型化在问题进一步明确,数据结构和内容进一步调整的基础上,就可以建立形成知识的模型。
    这一步是数据挖掘的核心环节,一般运用神经网络、决策树、数理统计、时间序列分析等方
    法来建立模型。
    6.评价和解释
    上面得到的模式模型,有可能是没有实际意义或没有实用价值的,也有可能是其不能准
    确反映数据的真实意义,甚至在某些情况下是与事实相反的,因此需要评估,确定哪些是有
    效的、有用的模式。评估的一种办法是直接使用原先建立的挖掘数据库中的数据来进行检验,
    另一种办法是另找一批数据并对其进行检验,再一种办法是在实际运行的环境中取出新鲜数
    据进行检验

    展开全文
  • 数据挖掘(概念与技术)》全面而深入地叙述了数据库技术的发展和数据挖掘应用的重要性,数据仓库和OLAP(联机分析处理)技术,数据预处理技术(包括数据清理、数据集成和转换、数据归纳的方法),数据挖掘技术(包括...
  • Python数据分析实战-Pandas

    千人学习 2019-12-02 10:54:20
    Pandas包是基于Python平台的数据管理利器,已经成为了Python进行数据分析和挖掘时的数据基础平台和事实上的工业标准,掌握其使用方法,是使用Python进行数据分析和数据挖掘的必备条件。        ...
  • 如果原始数据库中的指标值是取连续的数据,则在关联规则挖掘之前应该进行适当的数据离散化(实际上就是将某个区间的值对应于某个值),数据的离散化是数据挖掘前的重要环节,离散化的过程是否合理将直接影响关联规则...

    数据挖掘十大经典算法系列,点击链接直接跳转

    一 概念介绍

    定义: 数据挖掘(Data mining)又译为资料探勘、数据采矿。它是数据库知识发现(Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。是计算机科学的一种。 数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。

    应用: 近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。

    数据挖掘利用了来自如下一些领域的思想:
    (1)统计学的抽样、估计和假设检验;
    (2)人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论;
    (3)最优化、进化计算、信息论、信号处理、可视化和信息检索;
    (4)数据库系统提供有效的存储、索引和查询处理支持;
    (5)高性能(并行)计算技术处理海量数据集;
    (6)分布式技术处理非集中分布海量数据。
    在这里插入图片描述
    图1 数据挖掘的系统模型

    二 方法简介

    1. 分类 (Classification)

    首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。
    应用:
    a. 信用卡申请者,分类为低、中、高风险
    b. 故障诊断:中国宝钢集团与上海天律信息技术有限公司合作,采用数据挖掘技术对钢材生产的全流程进行质量监控和分析,构建故障地图,实时分析产品出现瑕疵的原因,有效提高了产品的优良率。
    注意: 类的个数是确定的,预先定义好的

    2. 回归(regression )

    回归与分类类似,不同之处在于,分类描述的是离散型变量的输出,而回归处理连续值的输出;分类的类别是确定数目的,回归的量是不确定的。
    应用:
    a. 根据购买模式,估计一个家庭的孩子个数
    b. 根据购买模式,估计一个家庭的收入
    c. 估计real estate的价值
    一般来说,回归可以作为分类的前一步工作。给定一些输入数据,通过回归,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 0~1)。然后,根据阈值,将贷款级别分类。

    3. 聚类(Clustering)

    聚类是对记录分组,把相似的记录在一个聚集里。聚类和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。
    例子:
    a. 一些特定症状的聚集可能预示了一个特定的疾病
    b. 租VCD类型不相似的客户聚集,可能暗示成员属于不同的亚文化群
    聚集通常作为数据挖掘的第一步。例如,“哪一种类的促销对客户响应最好?”,对于这一 类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。

    4. 相关性分组或关联规则(Affinity grouping or association rules)

    决定哪些事情将一起发生。
    例子:
    a. 超市中客户在购买A的同时,经常会购买B,即A => B(关联规则)
    b. 客户在购买A后,隔一段时间,会购买B (序列分析)

    5. 描述和可视化(Description and Visualization)

    是对数据挖掘结果的表示方式。一般只是指数据可视化工具,包含报表工具和商业智能分析产品(BI)的统称。通过可视化工具进行数据的展现,分析,钻取,将数据挖掘的分析结果更形象,深刻的展现出来。

    三 应用领域

    从目前网络招聘的信息来看,大小公司对数据挖掘的需求有50多个方面:
    1、数据统计分析
    2、预测预警模型
    3、数据信息阐释
    4、数据采集评估
    5、数据加工仓库
    6、品类数据分析
    7、销售数据分析
    8、网络数据分析
    9、流量数据分析
    10、交易数据分析
    11、媒体数据分析
    12、情报数据分析
    13、金融产品设计
    14、日常数据分析
    15、总裁万事通
    16、数据变化趋势
    17、预测预警模型
    18、运营数据分析
    19、商业机遇挖掘
    20、风险数据分析
    21、缺陷信息挖掘
    22、决策数据支持
    23、运营优化与成本控制
    24、质量控制与预测预警
    25、系统工程数学技术
    26、用户行为分析/客户需求模型
    27、产品销售预测(热销特征)
    28、商场整体利润最大化系统设计
    29、市场数据分析
    30、综合数据关联系统设计
    31、行业/企业指标设计
    32、企业发展关键点分析
    33、资金链管理设计与风险控制
    34、用户需求挖掘
    35、产品数据分析
    36、销售数据分析
    37、异常数据分析
    38、数学规划与数学方案
    39、数据实验模拟
    40、数学建模与分析
    41、呼叫中心数据分析
    42、贸易/进出口数据分析
    43、海量数据分析系统设计、关键技术研究
    44、数据清洗、分析、建模、调试、优化
    45、数据挖掘算法的分析研究、建模、实验模拟
    46、组织机构运营监测、评估、预测预警
    47、经济数据分析、预测、预警
    48、金融数据分析、预测、预警
    49、科研数学建模与数据分析:社会科学,自然科学,医药,农学,计算机,工程,信息,军事,图书情报等
    50、数据指标开发、分析与管理
    51、产品数据挖掘与分析
    52、商业数学与数据技术
    53、故障预测预警技术
    54、数据自动分析技术
    55、泛工具分析
    56、互译
    57、指数化
    其中,互译与指数化是数据挖掘除计算机技术之外最核心的两大技术。

    四 应用依据

    第一,目标律:业务目标是所有数据解决方案的源头。
    第二,知识律:业务知识是数据挖掘过程每一步的核心。
    第三,准备律:数据预处理比数据挖掘其他任何一个过程都重要。
    第四,试验律(NFL律:No Free Lunch):对于数据挖掘者来说,天下没有免费的午餐,一个正确的模型只有通过试验(experiment)才能被发现。
    第五,模式律(大卫律):数据中总含有模式。
    第六,洞察律:数据挖掘增大对业务的认知。
    第七,预测律:预测提高了信息泛化能力。
    第八,价值律:数据挖掘的结果的价值不取决于模型的稳定性或预测的准确性。
    第九,变化律:所有的模式因业务变化而变化。 [2]

    五 十大经典算法

    在这里插入图片描述

    1. C4.5

    数据挖掘十大经典算法之——C4.5 算法

    2. K-means算法

    数据挖掘十大经典算法之——K-Means 算法

    3. SVM

    数据挖掘十大经典算法之——SVM 算法

    4. Apriori

    数据挖掘十大经典算法之——Apriori 算法

    5. EM

    数据挖掘十大经典算法之——EM 算法

    6. pagerank

    数据挖掘十大经典算法之——PageRank 算法

    7. Adaboost

    数据挖掘十大经典算法之——AdaBoost 算法

    8. KNN

    数据挖掘十大经典算法之——KNN 算法

    9. Naive Bayes

    数据挖掘十大经典算法之——Naive Bayes 算法

    10. CART

    数据挖掘十大经典算法之——CART 算法

    六 关联规则

      数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间存在有趣的关联或相关联系。Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。

    1. 过程

      关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(FrequentItemsets),第二阶段再由这些高频项目组中产生关联规则(Association Rules)。

      关联规则挖掘的第一阶段必须从原始资料集合中,找出所有高频项目组(Large Itemsets)。高频的意思是指某一项目组出现的频率相对于所有记录而言,必须达到某一水平。一项目组出现的频率称为支持度(Support),以一个包含A与B两个项目的2-itemset为例,我们可以经由公式(1)求得包含{A,B}项目组的支持度,若支持度大于等于所设定的最小支持度(Minimum Support)门槛值时,则{A,B}称为高频项目组。一个满足最小支持度的k-itemset,则称为高频k-项目组(Frequent k-itemset),一般表示为Large k或Frequent k。算法并从Large k的项目组中再产生Large k+1,直到无法再找到更长的高频项目组为止。

      关联规则挖掘的第二阶段是要产生关联规则(Association Rules)。从高频项目组产生关联规则,是利用前一步骤的高频k-项目组来产生规则,在最小信赖度(Minimum Confidence)的条件门槛下,若一规则所求得的信赖度满足最小信赖度,称此规则为关联规则。例如:经由高频k-项目组{A,B}所产生的规则AB,其信赖度可经由公式(2)求得,若信赖度大于等于最小信赖度,则称AB为关联规则。

      关联规则挖掘通常比较适用与记录中的指标取离散值的情况。如果原始数据库中的指标值是取连续的数据,则在关联规则挖掘之前应该进行适当的数据离散化(实际上就是将某个区间的值对应于某个值),数据的离散化是数据挖掘前的重要环节,离散化的过程是否合理将直接影响关联规则的挖掘结果。

    2. 分类

    按照不同情况,关联规则可以进行分类如下:

    1.基于规则中处理的变量的类别,关联规则可以分为布尔型和数值型。
    布尔型关联规则处理的值都是离散的、种类化的,它显示了这些变量之间的关系;而数值型关联规则可以和多维关联或多层关联规则结合起来,对数值型字段进行处理,将其进行动态的分割,或者直接对原始的数据进行处理,当然数值型关联规则中也可以包含种类变量。例如:性别=“女”=>职业=“秘书” ,是布尔型关联规则;性别=“女”=>avg(收入)=2300,涉及的收入是数值类
    型,所以是一个数值型关联规则。

    2.基于规则中数据的抽象层次,可以分为单层关联规则和多层关联规则。
    在单层的关联规则中,所有的变量都没有考虑到现实的数据是具有多个不同的层次的;而在多层的关联规则中,对数据的多层性已经进行了充分的考虑。例如:IBM台式机=>Sony打印机,是一个细节数据上的单层关联规则;台式机=>Sony打印机,是一个较高层次和细节层次之间的多层关联规则。

    3.基于规则中涉及到的数据的维数,关联规则可以分为单维的和多维的。
    在单维的关联规则中,我们只涉及到数据的一个维,如用户购买的物品;而在多维的关联规则中,要处理的数据将会涉及多个维。换成另一句话,单维关联规则是处理单个属性中的一些关系;多维关联规则是处理各个属性之间的某些关系。例如:啤酒=>尿布,这条规则只涉及到用户的购买的物品;性别=“女”=>职业=“秘书”,这条规则就涉及到两个字段的信息,是两个维上的一条关联规则。 [2]

    3. 算法

    1.Apriori算法:使用候选项集找频繁项集
      Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。该关联规则在分类上属于单维、单层、布尔关联规则。在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集。
    该算法的基本思想是:首先找出所有的频集,这些项集出现的频繁性至少和预定义的最小支持度一样。然后由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。然后使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。
    可能产生大量的候选集,以及可能需要重复扫描数据库,是Apriori算法的两大缺点。

    2.基于划分的算法
      Savasere等设计了一个基于划分的算法。这个算法先把数据库从逻辑上分成几个互不相交的块,每次单独考虑一个分块并对它生成所有的频集,然后把产生的频集合并,用来生成所有可能的频集,最后计算这些项集的支持度。这里分块的大小选择要使得每个分块可以被放入主存,每个阶段只需被扫描一次。而算法的正确性是由每一个可能的频集至少在某一个分块中是频集保证的。该算法是可以高度并行的,可以把每一分块分别分配给某一个处理器生成频集。产生频集的每一个循环结束后,处理器之间进行通信来产生全局的候选k-项集。通常这里的通信过程是算法执行时间的主要瓶颈;而另一方面,每个独立的处理器生成频集的时间也是一个瓶颈。

    3.FP-树频集算法
      针对Apriori算法的固有缺陷,J. Han等提出了不产生候选挖掘频繁项集的方法:FP-树频集算法。采用分而治之的策略,在经过第一遍扫描之后,把数据库中的频集压缩进一棵频繁模式树(FP-tree),同时依然保留其中的关联信息,随后再将FP-tree分化成一些条件库,每个库和一个长度为1的频集相关,然后再对这些条件库分别进行挖掘。当原始数据量很大的时候,也可以结合划分的方法,使得一个FP-tree可以放入主存中。实验表明,FP-growth对不同长度的规则都有很好的适应性,同时在效率上较之Apriori算法有巨大的提高。

    4. 应用

      就目前而言,关联规则挖掘技术已经被广泛应用在西方金融行业企业中,它可以成功预测银行客户需求。一旦获得了这些信息,银行就可以改善自身营销。现在银行天天都在开发新的沟通客户的方法。各银行在自己的ATM机上就捆绑了顾客可能感兴趣的本行产品信息,供使用本行ATM机的用户了解。如果数据库中显示,某个高信用限额的客户更换了地址,这个客户很有可能新近购买了一栋更大的住宅,因此会有可能需要更高信用限额,更高端的新信用卡,或者需要一个住房改善贷款,这些产品都可以通过信用卡账单邮寄给客户。当客户打电话咨询的时候,数据库可以有力地帮助电话销售代表。销售代表的电脑屏幕上可以显示出客户的特点,同时也可以显示出顾客会对什么产品感兴趣。
    同时,一些知名的电子商务站点也从强大的关联规则挖掘中的受益。这些电子购物网站使用关联规则中规则进行挖掘,然后设置用户有意要一起购买的捆绑包。也有一些购物网站使用它们设置相应的交叉销售,也就是购买某种商品的顾客会看到相关的另外一种商品的广告。
      但是目前在我国,“数据海量,信息缺乏”是商业银行在数据大集中之后普遍所面对的尴尬。目前金融业实施的大多数数据库只能实现数据的录入、查询、统计等较低层次的功能,却无法发现数据中存在的各种有用的信息,譬如对这些数据进行分析,发现其数据模式及特征,然后可能发现某个客户、消费群体或组织的金融和商业兴趣,并可观察金融市场的变化趋势。可以说,关联规则挖掘的技术在我国的研究与应用并不是很广泛深入。
    近年来,电信业从单纯的语音服务演变为提供多种服务的综合信息服务商。随着网络技术和电信业务的发展,电信市场竞争也日趋激烈,电信业务的发展提出了对数据挖掘技术的迫切需求,以便帮助理解商业行为,识别电信模式,捕捉盗用行为,更好地利用资源,提高服务质量并增强自身的竞争力。下面运用一些简单的实例说明如何在电信行业使用数据挖掘技术。可以使用上面提到的K 均值、EM 等聚类算法,针对运营商积累的大量用户消费数据建立客户分群模型,通过客户分群模型对客户进行细分,找出有相同特征的目标客户群,然后有针对性地进行营销。而且,聚类算法也可以实现离群点检测,即在对用户消费数据进行聚类的过程中,发现一些用户的异常消费行为,据此判断这些用户是否存在欺诈行为,决定是否采取防范措施。可以使用上面提到的C4.5、SVM 和贝叶斯等分类算法,针对用户的行为数据,对用户进行信用等级评定,对于信用等级好的客户可以给予某些优惠服务等,对于信用等级差的用户不能享受促销等优惠。可以使用预测相关的算法,对电信客户的网络使用和客户投诉数据进行建模,建立预测模型,预测大客户离网风险,采取激励和挽留措施防止客户流失。可以使用相关分析找出选择了多个套餐的客户在套餐组合中的潜在规律,哪些套餐容易被客户同时选取,例如,选择了流量套餐的客户中大部分选择了彩铃业务,然后基于相关性的法则,对选择流量但是没有选择彩铃的客户进行交叉营销,向他们推销彩铃业务。 [2]

    5. 研究

      由于许多应用问题往往比超市购买问题更复杂,大量研究从不同的角度对关联规则做了扩展,将更多的因素集成到关联规则挖掘方法之中,以此丰富关联规则的应用领域,拓宽支持管理决策的范围。如考虑属性之间的类别层次关系,时态关系,多表挖掘等。近年来围绕关联规则的研究主要集中于两个方面,即扩展经典关联规则能够解决问题的范围,改善经典关联规则挖掘算法效率和规则兴趣性。

    6. 相关性和区别

      一个经常问的问题是,数据挖掘和OLAP到底有何不同。下面将会解释,他们是完全不同的工具,基于的技术也大相径庭。
    OLAP是决策支持领域的一部分。传统的查询和报表工具是告诉你数据库中都有什么(what happened),OLAP则更进一步告诉你下一步会怎么样(What next)、和如果我采取这样的措施又会怎么样(What if)。用户首先建立一个假设,然后用OLAP检索数据库来验证这个假设是否正确。比如,一个分析师想找到什么原因导致了贷款拖欠,他可能先做一个初始的假定,认为低收入的人信用度也低,然后用OLAP来验证他这个假设。如果这个假设没有被证实,他可能去察看那些高负债的账户,如果还不行,他也许要把收入和负债一起考虑,一直进行下去,直到找到他想要的结果或放弃。
    也就是说,OLAP分析师是建立一系列的假设,然后通过OLAP来证实或推翻这些假设来最终得到自己的结论。OLAP分析过程在本质上是一个演绎推理的过程。但是如果分析的变量达到几十或上百个,那么再用OLAP手动分析验证这些假设将是一件非常困难和痛苦的事情。
      数据挖掘与OLAP不同的地方是,数据挖掘不是用于验证某个假定的模式(模型)的正确性,而是在数据库中自己寻找模型。他在本质上是一个归纳的过程。比如,一个用数据挖掘工具的分析师想找到引起贷款拖欠的风险因素。数据挖掘工具可能帮他找到高负债和低收入是引起这个问题的因素,甚至还可能发现一些分析师从来没有想过或试过的其他因素,比如年龄。
    数据挖掘和OLAP具有一定的互补性。在利用数据挖掘出来的结论采取行动之前,你也许要验证一下如果采取这样的行动会给公司带来什么样的影响,那么OLAP工具能回答你的这些问题。
    而且在知识发现的早期阶段,OLAP工具还有其他一些用途。可以帮你探索数据,找到哪些是对一个问题比较重要的变量,发现异常数据和互相影响的变量。这都能帮你更好的理解你的数据,加快知识发现的过程。
    相关技术
      数据挖掘利用了人工智能(AI)和统计分析的进步所带来的好处。这两门学科都致力于模式发现和预测。
    数据挖掘不是为了替代传统的统计分析技术。相反,他是统计分析方法学的延伸和扩展。大多数的统计分析技术都基于完善的数学理论和高超的技巧,预测的准确度还是令人满意的,但对使用者的要求很高。而随着计算机计算能力的不断增强,我们有可能利用计算机强大的计算能力只通过相对简单和固定的方法完成同样的功能。
    一些新兴的技术同样在知识发现领域取得了很好的效果,如神经元网络和决策树,在足够多的数据和计算能力下,他们几乎不用人的关照自动就能完成许多有价值的功能。
      数据挖掘就是利用了统计和人工智能技术的应用程序,他把这些高深复杂的技术封装起来,使人们不用自己掌握这些技术也能完成同样的功能,并且更专注于自己所要解决的问题。
    相关影响
      使数据挖掘这件事情成为可能的关键一点是计算机性能价格比的巨大进步。在过去的几年里磁盘存储器的价格几乎降低了99%,这在很大程度上改变了企业界对数据收集和存储的态度。如果每兆的价格是¥10,那存放1TB的价格是¥10,000,000,但当每兆的价格降为1毛钱时,存储同样的数据只有¥100,000!
    计算机计算能力价格的降低同样非常显著。每一代芯片的诞生都会把CPU的计算能力提高一大步。内存RAM也同样降价迅速,几年之内每兆内存的价格由几百块钱降到现在只要几块钱。通常PC都有64M内存,工作站达到了256M,拥有上G内存的服务器已经不是什么新鲜事了。
      在单个CPU计算能力大幅提升的同时,基于多个CPU的并行系统也取得了很大的进步。目前几乎所有的服务器都支持多个CPU,这些SMP服务器簇甚至能让成百上千个CPU同时工作。
    基于并行系统的数据库管理系统也给数据挖掘技术的应用带来了便利。如果你有一个庞大而复杂的数据挖掘问题要求通过访问数据库取得数据,那么效率最高的办法就是利用一个本地的并行数据库。
    所有这些都为数据挖掘的实施扫清了道路,随着时间的延续,我们相信这条道路会越来越平坦。 [2]

    【参考资料】百度百科-数据挖掘

    展开全文
  • 基于大数据挖掘----浅谈大数据与大数据挖掘

    万次阅读 多人点赞 2019-01-21 14:38:51
    基于大数据挖掘----浅谈大数据与大数据挖掘 一、大数据技术 1.1大数据的定义 大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现...
  • 数据挖掘下的用户行为分析 摘要伴随我国网络信息化技术不断创新数据挖掘作为数据分析发展趋势及创新手段其重要性不言而喻通过近年来研究发现数据挖掘应用的科学性与优化性对数据质量提升应用效率提高误差减低等影响...
  • 数据挖掘笔记(一)

    千次阅读 2019-02-28 11:31:00
    主要是整理自己在数据挖掘课程上所做的一些笔记。 更多内容可以访问我的个人博客。 数据挖掘介绍 数据探索 数据挖掘介绍(intro) 历史 从数据中人工提取模式: Bayes理论(1700s) 回归分析(1800s) 为...
  • 数据挖掘考题汇总

    千次阅读 多人点赞 2019-06-07 16:34:06
    文章目录数据挖掘习题汇总一 数据挖掘概述二 认识数据 数据挖掘习题汇总 一 数据挖掘概述 数据与知识的区别与联系? 数据: 指描述事物的符号记录, 它涉及到事物的存在形式, 是关于事物的一组离散且客观的事实描述。...
  • 数据挖掘基本流程

    千次阅读 2019-05-12 13:10:13
    数据挖掘基本流程 数据挖掘基本流程: 商业理解:从商业的角度理解项目需求,通过数据挖掘来帮助业务。 数据理解:尝试手机部分数据,对其进行探索,从而对数据有个初步认知。 数据准备:收集数据并对其清洗、集成...
  • 数据挖掘案例

    万次阅读 2018-10-19 16:32:48
    图中的左边是SPSS在1999年提出的《跨行业数据挖掘标准流程》,在图中定义了数据挖掘的6个步骤。虽然这个图已经提出有10几年了,但是在大数据环境下,这个流程依然适用。 1.理解商业问题。这需要大数据科学家和行业...
  • 数据挖掘与数据分析

    万次阅读 多人点赞 2018-05-28 13:58:14
    一、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。 数据挖掘和数据分析的不同之处: 1、在应用工具上,数据挖掘一般要通过...
  • 数据挖掘之图挖掘

    千次阅读 2017-09-16 23:55:21
    传统的数据挖掘任务,比如关联规则挖掘、市场购物篮分析和聚类分析等,都是试图从一个具有单一关系的独立实例集中寻找模式 许多真实数据集描述的都是通过多种关系连接在一起的各种实体类型,应当小心妥善处理由于...
  • 数据挖掘的过程是什么?通俗易懂

    千次阅读 2021-03-03 16:57:40
    数据挖掘的过程是什么?01 数据挖掘过程1. 数据采集2. 特征提取和数据清洗3. 分析处理和算法02 数据预处理阶段1. 特征提取2. 数据清洗3. 特征选择与转换03 分析阶段 作者:查鲁·C.阿加沃尔(Charu C. Aggarwal) ...
  • 数据挖掘(DataMining)是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。 数据挖掘对象 根据信息存储格式,用于挖掘的对象有关系数据库...
  • 数据挖掘简介及模型介绍(一)

    千次阅读 2020-02-26 15:43:05
    1. 简介 大数据时代正在唤醒企业通过利用客户数据获得竞争优势的机会。数据的广泛使用和高度复杂让仅...与此同时,强大的计算机和互联网技术,海量数据和高效算法的融合,催化了数据科学和数据挖掘技术的发展...
  • 人工智能之数据挖掘

    万次阅读 2019-02-21 23:31:06
    数据挖掘(Data Mining)是一个跨学科的计算机科学分支。它是用人工智能、机器学习、统计学和数据库的交叉方法在大规模数据中发现隐含模式的计算过程。基于大数据时代的背景,本研究报告对数据挖掘这一课题进行了...
  • 数据挖掘基础知识点总结

    千次阅读 2019-08-10 16:34:55
    本文总结了数据仓库和数据挖掘的基础知识。
  • 数据挖掘之数据仓库详述

    千次阅读 2018-07-19 22:06:44
    构造数据仓库涉及数据清理和数据集成,可以看作数据挖掘的一个重要预处理步骤。此外,数据仓库提供联机分析处理(OLAP)工具,用于各种粒度的多维数据分析,有利于有效的数据挖掘。进一步讲,许多其它数据挖掘功能,如...
  • 数据挖掘之缺失值处理

    千次阅读 2018-12-18 16:13:22
    对于数据挖掘和分析人员来说,数据准备(Data Preparation,包括数据的抽取、清洗、转换和集成)常常占据了70%左右的工作量。而在数据准备的过程中,数据质量差又是最常见而且令人头痛的问题。本文针对缺失值和特殊...
  • 大数据、数据分析、数据挖掘的区别是,大数据是互联网的海量数据挖掘,而数据挖掘更多是针对内部企业行业小众化的数据挖掘,数据分析就是进行做出针对的分析和诊断,大数据需要分析的是趋势和发展,数据挖掘主要...
  • 数据挖掘导论完整版pdf中文

    万次阅读 2017-12-07 11:39:52
    数据挖掘导论完整版pdf是一本中文版的参考书教材,该书对数据挖掘的概念与技术都讲解得十分清晰,还用了丰富的示例作说明,理论阐述透彻,欢迎大家下载阅读,下载地址:... 数据挖掘电子书介绍 《数据挖掘导论》全面...
  • 人工智能与数据挖掘

    万次阅读 2019-03-18 15:33:52
    作为一个IT人,区分理解人工智能、机器学习、表示学习、深度学习、数据挖掘等是很有必要的~~~ 1、人工智能是机器或软件展示出的智能,也是研究如何让计算机或计算机软件有智能行为的一个学术领域,主要研究的是如何...
  • 数据挖掘:模型评估指标

    千次阅读 2020-02-29 10:16:51
    数据挖掘:模型评估——回归问题 一般在比赛中,我们会看到对于回归(分类)问题,不同的比赛会有不同的评价指标。我们在训练模型时,不能只记住回归问题用均方误差,而不去在意比赛目标的评价指标,这样我们往往会...
  • 数据挖掘——分类

    万次阅读 多人点赞 2018-10-10 21:52:21
    分类:一种数据分析形式,它提取刻画重要数据类的模型。这种模型叫分类器,进而预测分类的(离散的、无序的)类标号。 相关概念解释 训练集:由数据库元组和与它们相关联的类标号组成。 元组X用n维属性向量...
  • 数据挖掘综述报告

    千次阅读 2019-07-25 00:28:17
    1.数据挖掘产生于发展: 在金融业方面, 数据挖掘的应用突出表现在信用评估和防止欺诈等方面。PaoloGiudici和OliviaParrRud对利用神经网络、logistic回归和决策树方法进行信用评估的相关问题进行了阐述。...
  • 一、什么是数据挖掘 数据挖掘(Data Mining),也叫数据开采、数据采掘等,是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,自动提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息的过程...
  • 2018年泰迪杯总结——最全的数学建模、数据挖掘比赛入门 期待已久的泰迪杯数据挖掘比赛从3月1日开启到今天4月15日已经结束了,不同于美赛等数学建模比赛,它耗时更长,赛题难度更大,需要处理的数据更加庞大(奖金...
  • 大数据时代下数据挖掘技术的应用

    万次阅读 多人点赞 2018-11-09 15:49:28
    随着社会信息化的迅速发展,无论是数据的变化速率,还是数据的新增种类都在不断更新,数据研究变得越来越复杂,这意味着“大数据时代”到来。2011年,互联网数据中心(internet data center,IDC)将大数据重新定义...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 146,461
精华内容 58,584
关键字:

数据挖掘重要性