精华内容
下载资源
问答
  • 包含多个维度,精确到某个地点每天的天气:日平均降水量、日平均温度、日平均湿度、风向;可以用于预估产量
  • 问题1:以bid(客户一次消费行为id)进行建模,导致同一个客户对应的label不同 解决:以cid(客户id,人维度)进行建模,对label归一化,...如果是参加算法比赛,可以将重复数据找出后做成规则,增加预测准确度 ...

    问题1:以bid(客户一次消费行为id)进行建模,导致同一个客户对应的label不同

    解决:以cid(客户id,人维度)进行建模,对label归一化,统一处理为0或者1,相当于加权操作

    问题2:训练集和测试集中有重复数据,可能造成过拟合

    解决:实际训练时,对重复数据进行处理,如:剔除训练集的重复数据,但在测试集中保留。
    如果是参加算法比赛,可以将重复数据找出后做成规则,增加预测准确度

    问题3:lgb.train和LGBMClassifier.fit有什么差别?

    import lightgbm as lgb
    from lightgbm import LGBMClassifier
    

    lgb使用的是lightgbm原生的booster,需要用lgb.Dataset将X和Y集合化
    LGBMClassifier是将lightgbm封装为sklearn的API格式,可以使用sklearn的API,包括sklearn2pmml,方便部署

    问题4:模型部署的方法有哪些?

    1. pmml,使用sklearn2pmml,mapper = DataFrameMapper(),pipeline = PMMLPipeline(),将特征工程及模型存入文件,Java端使用jpmml读取文件并进行预测
    2. Flask,由于Flask基于python,可以将训练好的模型直接部署,无需跨语言
    3. xgb4j、lightgbm_predict4j,可在Java端读取xgb/lgb生成的模型文件,并进行预测

    参考文献: https://www.jianshu.com/p/827c74aa72a5

    问题5:训练集表现良好的模型是否可以认为是好模型?

    训练集的表现和测试集没有必然联系,检验模型好坏的唯一标准是测试集的表现,训练集效果好可能是过拟合

    问题6:二分类问题常用的特征工程有哪些

    近30/60/90天特征、白天/夜晚特征、某变量所占的比例、某ID的某特征均值、趋势特征(如近90天与近30天的趋势,可用比例表示)

    问题7:不平衡数据集的处理

    1、有些算法有class_weight 参数,如rf/lgb,可设置该参数
    2、也可使用smote进行过采样,但应在过采样之前拆分训练集和验证集,且只对于训练集进行过采样,而验证集/测试集应该是原始数据

    展开全文
  • 数据挖掘中分类算法小结 数据仓库数据库或者其它信息库中隐藏着许多可以为商业科研等活动的决 策提供所需要的知识分类与预测是两种数据分析形式它们可以用来抽取能够描 述重要数据集合预测未来数据趋势的模型分类...
  • 数据挖掘初探

    2018-06-02 09:02:58
    包括数据清理(消除噪声、删除不一致数据)、数据集成(多种数据元集合一起)、数据选择(从数据库中提取与分析任务相关的数据)、数据变换(通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式)、数据挖掘、...
    

    数据挖掘技术

    1)数据挖掘:

    从数据中挖掘知识。包括数据清理(消除噪声、删除不一致数据)、数据集成(多种数据元集合一起)、数据选择(从数据库中提取与分析任务相关的数据)、数据变换(通过汇总或聚集操作,把数据变换和统一成适合挖掘的形式)、数据挖掘、模式评估和知识表现(可视化表示技术)

    2)数据挖掘模式:

    特征化与区分;频繁模式、关联规则与相关性;预测分析的分类与回归;聚类分析;离群点分析;

    3)使用技术:

    统计学;机器学习;数据库系统与数据仓库;信息检索。

    4)数据挖掘的主要问题:

    挖掘方法、用户界面、有效性和可伸缩性、数据库类型的多样性、数据挖掘与社会。

    5)认识数据:

    属性、标称属性、二元属性、序数属性(有意义的序或者秩,比如大中小,满意一般不满意)、数值属性、离散属性与连续属性。

    6)数据类型:

        包括:序列数据(时间序列数据、符号序列数据、生物学序列数据等)、图与网络(同质数据和异质数据)、其他类型数据(空间数据、时间空间数据、物流网系统数据、多媒体数据、文本数据、web数据、数据流)。

    6)数据的基本统计描述:

    中心趋势度量:均值、中位数和众数。

    度量数据散步:极差(最大值与最小值之差)、四分位数、方差、标准差、四分位数极差。

    7)数据可视化技术:

    基于像素的可视化技术、几何投影可视化技术、基于图符的可视化技术、层次可视化技术、可视化复杂对象和关系。

    8)数据预处理;

    数据质量包括:准确性、完整性、一致性、时效性、可信性和可解释性。

    数据质量三个要素:准确性、完整性和一致性。

    数据清理包括:缺失值处理(忽略、人工填写、全局常量、属性的中心度量均值等填充、同质同一属性均值、最可能值)、噪声数据(局部光滑、回归、离群点分析)。

    数据清理先要进行偏差检测。

    数据清洗工具、数据审计工具,数据迁移工具。

     

     

    展开全文
  • 数据挖掘复习指南 1 引论 1.1 数据挖掘 1.1.1 概念 从大量数据中非平凡地提取隐含的、未知的、有潜在价值的有用信息 自动化、半自动化地探索、分析大量数据,以求发现有意义的模式 1.1.2 流程 数据清洗 ==>...

    数据挖掘复习指南

    1 引论

    1.1 数据挖掘

    1.1.1 概念

    • 从大量数据中非平凡地提取隐含的、未知的、有潜在价值的有用信息

    • 自动化、半自动化地探索、分析大量数据,以求发现有意义的模式

    1.1.2 流程

    • 数据清洗 ==> 数据集成 ==> 数据挖掘 ==> 模式评估

    1.1.2 任务

    • 预测(分类、回归、…)
    • 描述(聚类、关联规则挖掘、…)

    2 数据

    2.1 数据

    2.1.1 基本概念

    • 数据:数据对象和属性的集合

    • 属性:对象的某种特质,一组属性可描述一个对象

    • 属性值:属性的数值或符号描述

    2.1.2 属性类型

    • 标称Norminal = !=

    • 序数Ordinal > <

    • 区间Interval + -

    • 比率Ratio * /

    • 连续

    • 离散

    2.1.3 数据集类型

    • 记录Record(数据矩阵、文档数据、事务数据)
    • 图Graph(万维网、分子结构)
    • 有序数据Ordered(空间数据、时间数据、序列数据、基因数据)

    2.1.4 数据特征

    • 维度Dimensionality
    • 稀疏度Sparsity
    • 分辨率Resolution

    2.1.5 数据质量

    • 噪声值Noise
    • 离群值Outlier:和大多数数据对象明显不同的值
    • 缺失值Missing:需要排除或者合理估计一个值
    • 重复值Duplicate

    2.2 数据处理

    • 集成Aggregation:将多个属性合并到单个属性中,用于减少数据量、增强数据稳定性
    • 抽样Sampling
    • 降维Dimensionality Reduction
    • 特征选择Feature Subset Selection
    • 特征创建Feature Creation
    • 离散化和二值化Discretization&Binarization
    • 属性变换Attribute Transformation

    2.3 相似性 & 距离

    2.3.1 常见距离

    • 曼哈顿距离Manhattan Distance d(p,q)=(k=1npkqk)d(p, q) = (\sum_{k=1}^n |p_k - q_k|)

    • 欧氏距离Euclidean Distance

    • 明氏距离Minkowski Distance d(p,q)=(k=1npkqkr)1rd(p,q)= (\sum_{k=1}^n |p_k - q_k| ^ r) ^ {\frac1r}

    • 马氏距离Mahalanobis Distance d(p,q)=(pq)TΣ1(pq)d(p, q) = (p-q)^T \Sigma ^{-1} (p-q)

    2.3.2 常见相似性

    • 余弦相似性 s(p,q)=cos(p,q)s(p, q) = cos(p, q)
    • 相关系数(需要先进行向量归一化) s(p,q)=p.qs(p, q) = p' . q'

    2.3.3 二进制向量的相似性

    • SMC(一致比率) SMC=(M11+M00)/(M00+M01+M10+M11)SMC = (M_{11} + M_{00}) / (M_{00} + M_{01} + M_{10} + M_{11})
    • J(去除全0的一致比率) J=(M11)/(M01+M10+M11)J = (M_{11}) / (M_{01} + M_{10} + M_{11})

    2.3.2 距离的特性

    • 正定性
    • 对称性
    • 满足三角不等式

    3 数据探测

    3.1 目的

    • 直观了解数据的特点
    • 帮助选择数据处理的工具

    3.2 数字特性Summary Statistics

    • 众数Mode
    • 百分位数Percentile:xpx_p表示数据集中有p%p \%的数据小于xpx_p
    • 均值Mean & 中位数Median : 衡量数据位置Location
    • 极差Range & 方差Variance: 衡量数据的散布Spread
    • 协方差矩阵Covariance:Cov(xi,xj)=1/(m1)k=1m(xi(k)xiˉ)(xj(k)xjˉ)Cov(x_i, x_j) = 1 / (m - 1) * \sum_{k=1}^m (x_i^{(k)} - \bar{x_i})(x_j^{(k)} - \bar{x_j})

    3.3 可视化

    • 直方图Histogram
      • 可以表现数据的频率分布信息
    • 箱图Box Plot
      • 可以表现四分百分位数信息
    • 散点图Scatter Plot
      • 属性值决定点的位置
      • 可以通过数据点的大小、形状、颜色表示其他属性
    • 等高线图Contour Plot
      • 相似的属性值被划分到同一区域,等值线形成了区域边界
    • 矩阵图Matrix Plot
      • 当数据按照类标签排序后效果比较好
      • 常用于可视化距离/相似度矩阵
      • 属性值需要规范化
    • 平行坐标图Parallel Coordinate
      • 常用于展现高维数据
      • 横轴各列为属性,纵轴为属性值,一个数据对象表示为一条线
    • 星图Star Plot
      • 和平行坐标图类似,但是对象线条组成了多边形

    4 分类

    4.1 决策树

    4.1.1 实用构建算法

    • Hunt‘s Algorithm
    • CART
    • ID3, C4.5
    • SLIQ, QPRINT

    4.1.2 一般构建算法

    DtD_t 是抵达决策节点t的数据集合

    • 如果DtD_t包含的数据全部为同一类yty_t,则将该点作为叶子节点,标注为yty_t
    • 如果DtD_t为空, 则将该节点作为叶子结点,标注为ydefaulty_{default}
    • 如果DtD_t$包含多类数据,则按照某一属性将数据划分为多个子集,对应于多个子节点

    4.1.3 属性划分方法

    • 标称Norminal、序数Order:将属性值的取值集合划分成多组即可
    • 连续Continus:离散化后划分;选取某一阈值进行二分 (A < v) or (A >= v)

    4.1.4 属性最佳划分策略

    选取使得划分后数据单纯度最高(混乱度最低)的划分策略

    • 基尼系数Gini Index
      • 节点GINI(t)=1j[p(jt)]2GINI(t) = 1 - \sum_j [p(j | t)]^2
      • 划分GINISPLIT(t)=ison(t)[ni/ntGINI(i)]GINI_{SPLIT}(t) = \sum_{i \in son(t)} [{n_i} / {n_t} * GINI(i)]
    • 熵Entropy
      • 节点Entropy(t)=j[p(jt)logp(jt)]Entropy(t) = - \sum_j [p(j | t) * log p(j | t)]
      • 划分EntropySPLIT(t)=ison(t)[ni/ntEntropy(i)]Entropy_{SPLIT}(t) = \sum_{i \in son(t)} [{n_i} / {n_t} * Entropy(i)]
    • 误分类误差Misclassification error
      • 节点Error(t)=1maxjp(jt)Error(t) = 1 - max_j p(j | t)

    4.1.5 何时停止拓展

    • 所有数据都为同一类 ; 所有数据都有着相似的属性
    • 提前终止

    4.1.6 算法评价

    • 优点:构造简单,预测迅速,在属性较少时解释性好
    • 缺点:???

    4.2 朴素贝叶斯

    利用贝叶斯公式P(CX)=P(XC)P(C)P(X)P(C | X) = \frac{P(X|C) * P(C)} {P(X)}, 找出概率最大的C

    4.2.1 算法要点

    • 在各个类C进行概率比较式, P(X)P(X)都包含在其中,因此可以忽略这一项,只比较分子
    • 似然函数的合成 P(XC)=ΠjP(XjC)=P(X1C)P(X2C)...P(X|C) = \Pi_j P(X_j | C) = P(X_1 | C) * P(X_2 | C) * ...
    • P(XiC)P(X_i | C)的计算
      • 对于离散数据,可以用频率估计概率
      • 对于连续数据,基于高斯分布进行概率计算 P(XiC)=g(xi,μC,σC)P(X_i | C) = g(x_i, \mu_C, \sigma_C)

    4.2.2 算法评价

    • 优点:实现简单,效果良好
    • 缺点:要求各个属性相互独立

    4.3 模型评价

    • 混淆矩阵Confusion Matrix

    • 代价矩阵Cost Matrix

    • 准确率Accuracy = (TP + TN) / (TP + TN + FP + FN) 预测正确的比率

    • 精确率Precision = TP / (TP + FP) 找到的正例正确的比率

    • 召回率Recall = TP / (TP + FN) 正例被找到的比率

    • F分数 = 2pr / (p + r)

    • 学习曲线Learning Curve (Sample Size —> Accuracy)

    • ROC曲线ROC Curve (FPR —> TPR) FPR=FP / (FP + TN), TPR = TP / (TP + FN)

    5 聚类

    5.1 聚类方法Clustering

    • 划分聚类:将数据划分为互不重叠的子集,一个点只属于某一类
    • 层次聚类:将嵌套的类簇以层次树的形式构建

    5.2 类簇种类Clusters

    • 明显分离的Well-Separated
    • 基于中心的Center-based
    • 基于近邻的Contiguous
    • 基于密度的Density-based
    • 被目标函数描述的Described by an Objective Function

    5.3 K-means

    5.3.1 算法流程

    • 选择K个点作为初始质心

    • repeat

      • 关联每个点和它最邻近的质心以形成K个类簇
      • 重新计算每一个类簇的质心

      until K个质心不再改变

    5.3.2 目标函数 & 效果评估

    • 误差平方和 SSE=k=1KxCkdist(mk,x)2SSE = \sum_{k=1}^K\sum_{x \in C_k} dist(m_k, x)^2
    • 我们希望在K较小时寻找尽可能小的SSE

    5.3.3 算法评价

    • 优点:实现简单,运行迅速
    • 缺点:
      • 需要指定K以及初始化参数
      • 初始化的情况对算法结果影响很大
      • 异常点对于算法结果影响很大
      • 难以处理多尺寸、多密度、非球状的类簇聚类问题

    5.3.4 算法改进-二分K-means

    • 初始化类簇列表,其中仅有一个包含全部节点的类簇

    • repeat

      • 从类簇列表中选择一个类簇
      • repeat(iter_num)
        • 执行K-means算法基础版本,将选中的类簇二分
      • 选择SSE最小的一种二分类簇加入到类簇列表中

      until 类簇列表中包含K个类簇

    5.4 层次聚类

    5.4.1 聚类方法

    • 聚集式Agglomerative(从底向上归并)
    • 分裂式Divisive (自顶向下切分)

    5.4.2 类簇相似性/距离的衡量

    • MIN / Single Link (单链)
      • 可处理非椭圆类簇
      • 对噪声和异常值很敏感
    • MAX / Complete Link (全链)
      • 倾向于球形类簇
      • 会破坏大尺寸类簇
      • 对噪声和异常值不太敏感
    • Group Average (组平均)
      • 倾向于球形类簇
      • 对噪声和异常值不太敏感

    5.4.3 聚集式-算法流程

    • 令每个数据点单独成为一个类簇

    • repeat

      • 计算类簇之间的距离矩阵Proximity Matrix
      • 归并两个最近的类簇

      until 仅剩下一个类簇

    5.5 DBSCAN

    5.5.1 核心概念

    • 密度:该点半径内点的个数

    • 核心点(高密度点):在其半径Eps内有多于阈值MinPts个数的点

    • 边界点(核心区低密度点):非核心点,且处于某一核心点半径内

    • 噪声点(非核心区低密度点):除核心点和边界点之外的点

    • 直接密度可达DDR:p点在核心点q的半径内

    • 密度可达DR:p点、q点之间存在一个传递链,链上相邻点都直接密度可达

    • 密度相连DC:存在中间点o,使得o点与p点和q点都密度可达

    5.5.2 算法流程

    • 设定参数Eps、MinPts
    • 将所有点标记为核心点、边界点、噪声点,并删除噪声点
    • 在距离在Eps内的所有核心点之间赋予一条边
    • 每组连通的核心点形成一个类簇,将边界点指派到一个与之关联的核心点的类簇中

    5.5.3 算法评价

    • 优点:
      • 对噪声不敏感
      • 能处理不同形状、尺寸的类簇
    • 缺点:难以处理多密度类簇、高维数据

    5.5.4 聚类效果衡量

    • 外部指标:用于在有外部类型标签的情况下评估聚类效果
    • 内部指标:用于在没有外部信息的情况下评估聚类效果
    • 相对指标:用于比较多个聚类方法

    6 关联规则挖掘

    6.1 目标

    • 从给定的一组事务中寻找某些依赖规则,使得可以通过一些项目的出现来预测另外一些项目的出现
    • 寻找支持度、置信度大于给定阈值的所有关联规则

    6.2 基本概念

    • 项集Itemset:包含有多项的集合
    • 支持度计数Support count(σ\sigma):某一项集的出现次数
    • 支持度Support:某一项集的出现次数比例
    • 频繁项集Frequent Itemset:支持度大于阈值minsup的某一项集
    • 关联规则Association Rule:一个项集到另一个项集的映射 X –> Y
    • 关联规则评价标准
      • 支持度Support(s):X、Y合并项集的支持度
      • 置信度Confidence©:在包含X的事务中包含Y的比例

    6.3 挖掘过程

    • 设定参数minsup、minconf
    • 生成频繁子集:寻找所有支持度大于阈值的项集
    • 生成关联规则:从频繁项集中生成高置信度的关联规则,每一个规则都是对应频繁子集的二划分

    6.3 寻找频繁子集

    6.3.1 寻找过程

    • 构建项目Item的子集树
    • 利用Apriori算法进行剪枝
    • 构造候选项集的哈希树来减少比较次数

    6.3.2 Apriori 原理

    • 如果一个项集是频繁的,那么它的所有子集都是频繁的。

    6.3.3 Apriori 算法

    • 令k=1

    • 生成1-频繁项集

    • repeat

      • 从k-频繁项集生成 (k+1)-候选项集
      • 剪掉那些不频繁k-项集的后代项集
      • 扫描数据库,计算每个候选项集的支持度
      • 将支持度低于阈值的项集滤除

      until 没有新的候选项集生成

    6.3.3 频繁项集的紧致表示

    • 极大项集:直接超集都不频繁的项集
    • 闭项集:直接超集的支持度都比它自己小的项集

    6.4 寻找关联规则

    展开全文
  • 导语:数据挖掘,又译为数据采矿,是指从大量的数据中通过算法搜索隐藏于其中信息的过 程。本篇内容主要向大家讲述如何使用 KNN 算法进行数据分类和数据预测。 基础概念 数据分类就是相同内容、相同性质的信息以及...
    导语:数据挖掘,又译为数据采矿,是指从大量的数据中通过算法搜索隐藏于其中信息的过 


    程。本篇内容主要向大家讲述如何使用 KNN 算法进行数据分类和数据预测。 






    基础概念   






        数据分类就是相同内容、相同性质的信息以及要求统一管理的信息集合在一起,而把相 


    异的和需要分别管理的信息区分开来,然后确定各个集合之间的关系,形成一个有条理的分 


    类系统。 






        举个最简单的例子:我们定义K 线为三类:“上涨”:涨幅超过 1%,“下跌”:跌幅 


    超过 1%,“震荡”涨跌幅不超过 1%,获取沪深300 指数过去 250 个交易 日的K 线,将数据 


    进行分类: 






    p=get_price('000300.SH', None, '20180125', '1d', ['quote_rate'], True, None, 250, is_panel=1) 


    n1=len(p[p['quote_rate']>1]) 


    n2=len(p[p['quote_rate']<-1]) 


    n3=len(p)-n1-n2 


    print('上涨K 线:{},下跌K 线:{},震荡K 线:{}'.format(n1,n2,n3)) 






    上涨K 线:18,下跌K 线:12,震荡K 线:220 






        数据预测即用数据分类得出的模型对未知变量的预言。预言其目的是对未来未知变量的 


    预测。 






        假设我们用历史数据发现上涨股票平均比例,所有个股平均量比,这二个指标可以用来 


    定义当天市场是上涨、下跌还是震荡。其特征如下: 






    市场                          上涨股票平均比例均值          所有个股平均量化均 


                                                    值 






    上涨(沪深300 涨幅超过 1%)           60%                 1.2 






     下跌(沪深300 跌幅超过 1%)          40%                 0.8 






    震荡 (沪深300 涨跌幅不超过 1%)  50%                       1 




    ----------------------- Page 174-----------------------


    详细数据分布如下: 






        在我们完成分类模型后的下一个交易日,只给你们二个指标的具体数值:上涨股票比例 


    为 55%,所有个股平均量比 1。请问当天的沪深300 指数是上涨、下跌还是震荡。 






    KNN 算法 






        我们需要解决上述分类和预测的问题,就需要依赖于数据挖掘的算法,本篇文章主要介 


    绍KNN 算法,一个常用又简单的数据分类和预测算法。 






        KNN 算法核心函数:neighbors.KNeighborsClassifier(n_neighbors=5, weights=’uniform’,  


    algorithm=’auto’, leaf_size=30, p=2, metric=’minkowski’, metric_params=None, n-jobs=1) 






        函数内n_neighbors 参数是做分类时选取参考的数据量,默认为 5 个。其余参数选取为 


    默认,课外自行了解原理。 






        开始之前,我们先导入 KNN 算法模块 






    import numpy as np 


    import pandas as pd 


    import matplotlib.pyplot as plt 


    from sklearn import neighbors 






        回到之前的详细数据分布 






    fig_size = plt.rcParams["figure.figsize"] 


    fig_size[0] = 15 


    fig_size[1] = 10 


    x1 = np.random.uniform(0.5, 0.7 ,200) 


    y1 = np.random.uniform(1.4, 1, 200) 






    plt.scatter(x1,y1,c='b',marker='s',s=50,alpha=0.8) 






    x2 = np.random.uniform(0.3,0.5,200) 


    y2 = np.random.uniform(0.6,1,200) 


    plt.scatter(x2,y2,c='r', marker='^', s=50, alpha=0.8) 






    x3 = np.random.uniform(0.4,0.6,200) 




    ----------------------- Page 175-----------------------


    y3 = np.random.uniform(0.8, 1.2, 200) 


    plt.scatter(x3,y3, c='g', s=50, alpha=0.8) 






        在创建了一个 KNeighborsClassifier 类之后,需要给它数据来进行学习并分类。需要使 


    用 fit() 拟合功能:neighbors.KNeighborsClassifier.fit(X,y) 






        X 是一个 list 或 array  的数据,每一组数据可以是 tuple 也可以是 list 或者一维 array, 


    但要注意所有数据的长度必须一样。当然,也可以把 X 理解为一个矩阵,其中每一横行是 


    一个样本的特征数据。 






        y 是一个和 X 长度相同的 list 或 array,其中每个元素是 X  中相对应的数据的分类标 


    签。 






        KNeighborsClassifier 类在对训练数据执行 fit()后会根据函数内的algorithm 参数,依据 


    训练数据生成一个 kd_tree 或者 ball_tree 。 


        


        其中第一类是上涨,第二类是下跌,第三类是震荡。 






    x_val = np.concatenate((x1,x2,x3)) 


    y_val = np.concatenate((y1,y2,y3)) 


    x_diff = max(x_val)-min(x_val) 


    y_diff = max(y_val)-min(y_val) 


    x_normalized = x_val/x_diff 


    y_normalized = y_val/y_diff 


    xy_normalized = list(zip(x_normalized,y_normalized)) 


    labels = [1]*200+[2]*200+[3]*200 


    clf = neighbors.KNeighborsClassifier(30) 


    clf.fit(xy_normalized, labels) 






    KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',metric_params=None,  


    n_jobs=1, n_neighbors=30, p=2,weights='uniform') 




    ----------------------- Page 176-----------------------


        注意:在分类时,我们对数据进行了标准化,主要是使得X 轴和Y 轴的数据间隔具有 


    可比性,比如我们的上涨股票比例恒小于等于 1,而量比甚至可能大于 2 ,这样的话两个坐 


    标轴没有可比性,间距不一致,因此我们需要进行标准化。 






        具体标准化公式:最终值=初始值/                 (最大值-最小值) 






        至此我们完成了数据分类。 


         


        让我们来尝试数据预测 ! 






    近邻数据获取 






        我们尝试来获取(0.5,1)这个数据点周围的 10 个数据点 






    nearests = clf.kneighbors([(0.5/x_diff, 1/y_diff)], 10, False) 


    nearests 






    array([[477, 416, 106, 553, 597, 468, 530,  76, 426,  56]]) 






        结果显示为第477,416,106,553,597,468,530,76,426,56 个数据点 






    数据预测: 






        继续回答上述问题:上涨股票比例为 55%,所有个股平均量比 1。请问当天的沪深300 


    指数是上涨、下跌还是震荡。 






    prediction = clf.predict([(0.55/x_diff, 1/y_diff)]) 


    prediction 






    array([1]) 






        结果显示,该天沪深300 指数属于第一类,上涨。 






    数据预测概率 






    prediction_proba = clf.predict_proba([(0.55/x_diff, 1/y_diff)]) 


    prediction_proba 






    array([[ 0.5,  0. ,  0.5]]) 






        结果显示,(0.55,1)属于第一和第三类的概率为 50% 。 






    我们再来试试(0.9,1.2)预测概率 






    prediction_proba = clf.predict_proba([(0.9/x_diff, 1.2/y_diff)]) 


    prediction_proba 






    array([[ 1.,  0.,  0.]]) 






        结果显示,(0.9,1.2)属于第一类的概率为 100%。 




    ----------------------- Page 177-----------------------


    KNN 算法学习准确性打分 






        我们将上述数据分类 2 组,一组用于KNN 学习,一组用于测试。 






    #构建测试组 


    x1_test = np.random.uniform(0.5, 0.7 ,100) 


    y1_test = np.random.uniform(1.4, 1, 100) 






    x2_test = np.random.uniform(0.3,0.5,100) 


    y2_test = np.random.uniform(0.6,1,100) 






    x3_test = np.random.uniform(0.4,0.6,100) 


    y3_test = np.random.uniform(0.8, 1.2, 100) 






    xy_test_normalized =  


    list(zip(np.concatenate((x1_test,x2_test,x3_test))/x_diff,np.concatenate((y1_test,y2_test,y3_test))/y 


    _diff)) 






    labels_test = [1]*100+[2]*100+[3]*100 






    #测试组打分 


    score = clf.score(xy_test_normalized, labels_test) 


    score 






    0.84666666666666668 






    #修改n_neighbors 参数,继续观察  


    clf1 = neighbors.KNeighborsClassifier(1) 


    clf1.fit(xy_normalized, labels) 


    clf1.score(xy_test_normalized, labels_test) 


    0.80333333333333334 






        结果显示,该模型的学习准确性达到85%左右,参考数据量的参数改变并未导致准确度 


    出现大幅变化,因此较为稳定。 




    ----------------------- Page 178-----------------------
    展开全文
  • 简单数据挖掘流程)机器学习简介及数据集介绍数据挖掘一般步骤1. 数据提取2.问题定义3.数据预处理4.特征工程5.建模预测6.评估调整 机器学习简介及数据集介绍 由于自己是数据分析与大数据技术专业的,并且最近刚入门...
  • 1.C4.5算法 C4.5是做什么的?C4.5 以决策树的形式构建... 分类器是进行数据挖掘的一个工具,它处理大量需要进行分类的数据,并尝试预测新数据所属的类别。 举个例子吧,假定一个包含很多病人信息的数据集。我
  • 数据挖掘中分类算法小结

    千次阅读 2014-01-03 21:19:16
    数据挖掘中分类算法小结 数据仓库,数据库或者其它信息库中隐藏着许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合预测未来数据趋势...
  • DIGGER社交网络数据挖掘分析系统,本系统的挖掘工作是在WEKA平台下进行的,WEKA作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归、聚类、关联规则...
  • 千锋 大数据 视频教程 /video 大数据挖掘的算法有什么 ? 大数据时代中国 IT 环境也将面临重新洗牌不仅仅是企业更是程序员 们转型可遇...分类和预测是两种分析数据的方法 它们可用于抽取能够描述重要数据集合预测未来
  • 数据分析与数据挖掘的方法 1.频繁模式 频繁模式:数据中频繁出现的模式。 频繁项集:频繁在事务数据集中一起出现的商品集合。 例如,信用卡分析、患者就诊分析、购物车分析… 2.分类与回归 分类与标签预测是找出描述...
  • 数据仓库和数据库有何不同有哪些相似之处 答区别数据仓库是...ER数据模型 相似它们都为数据挖掘提供了源数据都是数据的组合 定义下列数据挖掘功能特征化区分关联和相关分析预测聚类和演变分析使用你熟悉 的现实生活的数
  • 数据挖掘中分类算法小结_数据分析师 数据仓库,数据库或者其它信息库中隐藏着许多可以为商业、科研等活动的决策提供所需要的知识。分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合预测未来...
  • 数据仓库与数据挖掘

    2007-07-25 17:04:00
    分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合预测未来数据趋势的模型。分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测...
  • 1,大数据有哪几个特点呢? 什么叫数据分析,分为哪三个层次呢? 什么又是数据挖掘呢? (1)容量 , 速度,多样性 , 价值 (2)数据分析是用适当的统计...(3)数据挖掘 是从数据集合中提取人们感兴趣的知识,这...
  • 数据挖掘——分类

    万次阅读 多人点赞 2018-10-10 21:52:21
    分类:一种数据分析形式,它提取刻画重要数据类的模型。这种模型叫分类器,进而预测分类的(离散的、无序的)类标号。 相关概念解释 训练集:由数据库元组和与它们相关联的类标号组成。 元组X用n维属性向量...
  • 学习-----好资料 1.4 数据仓库和数据库有何不同有哪些相似之处 答区别数据仓库是面向主题的集成的不易...相似它们都为数据挖掘提供了源数据都是数据的组合 1.3 定义下列数据挖掘功能特征化区分关联和相关分析预测聚类和
  • 数据挖掘的十大算法

    2015-09-22 09:28:47
    分类器是进行数据挖掘的一个工具,它处理大量需要进行分类的数据,并尝试预测新数据所属的类别。 举个例子吧,假定一个包含很多病人信息的数据集。我们知道每个病人的各种信息,比如年龄、脉搏、血压、最大摄氧...
  • 开放的教育数据挖掘数据集合网站: https://pslcdatashop.web.cmu.edu/ 项目思路1: 对于每个数据集,您可以比较各种机器学习技术(至少5到7种不同的ML方法),以预测“正确的首次尝试值”。 For each dataset, you ...
  • 自组织数据挖掘原理

    2012-11-03 14:40:54
    自组织数据挖掘方法的基本思想是从对系统有影响的变量样本数据中自动产生大量模型,并根据外部准则从模型集合选择一个最优复杂度的模型。它主要包含两个任务:1)从数据样本中挖掘(估计)系统变量之间未知的相关性2...
  • 数据挖掘是从已知的数据集合中发现各种模型、概要和导出值的过程。通俗地说,数据挖掘就是要从大量的数据中寻找有价值的、非同寻常的新信息。它的两个目标是预测和描述。预测是从已有的数据中推导出模型,从而对未来...
  • 1.4 数据仓库和数据库有何不同有哪些相似之处 答区别数据仓库是面向...ER 数据模型 相似它们都为数据挖掘提供了源数据都是数据的组合 定义下列数据挖掘功能特征化区分关联和相关分析预测聚类和演变分析使用你熟 悉的现
  • 数据挖掘导论学习总结——第四章

    千次阅读 2018-08-23 12:08:45
    第四章:分类与预测 ...最初的数据挖掘方法大多都是建立在机器学习、专家系统、统计学和神经生物学等领域的分类与预测算法,目前数据挖掘方法都要求具有基于外存以处理大规模数据集合能力且具有可扩展性。本章...
  • 1.4 数据仓库和数据库有何不同有哪些相似之处 答区别数据仓库是面向主题...ER 数据模型 相似它们都为数据挖掘提供了源数据都是数据的组合 1.3 定义下列数据挖掘功能特征化区分关联和相关分析预测聚类和演变分析使用你熟
  • 数据挖掘分类方法

    2008-11-07 21:55:00
    分类与预测是两种数据分析形式,它们可以用来抽取能够描述重要数据集合预测未来数据趋势的模型。分类方法(Classification)用于预测数据对象的离散类别(Categorical Label);预测方法(Prediction )用于预测...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 200
精华内容 80
关键字:

数据挖掘预测集合