数学名词
离散化和面元划分 :就是分组,进行相应的计算
对于数据进行离散化和面元划分的前提条件是:连续变化的数据
例如下面是一组人的年龄数据,现在要按照年龄划分为不同年龄的4组(即把数据拆分为4个面元),
分别为“18到25”、“25到35”、“35到60”及“60以上。为了实现分组,需要使用pandas的cut函数:
pandas返回的是一个特殊的Categorical对象。你可以将其看作一组表示面元名称的字符串。实际上它含义一个表示不同分类名称的levels数组以
及一个为年龄数据进行标号的labels属性。, 以及各个阶段人的数量统计
哑变量
也叫虚拟变量,引入哑变量的目的是,将不能够定量处理的变量量化,如职业、性别对收入的影响,战争、自然灾害对GDP的影响,
季节对某些产品(如冷饮)销售的影响等等。
这种“量化”通常是通过引入“哑变量”来完成的。根据这些因素的属性类型,构造只取“0”或“1”的人工变量,通常称为哑变量,记为D。
举一个例子,假设变量“职业”的取值分别为:工人、农民、学生、企业职员、其他,5种选项,我们可以增加4个哑变量来代替“职业”这个变量,
分别为D1(1=工人/0=非工人)、D2(1=农民/0=非农民)、D3(1=学生/0=非学生)、D4(1=企业职员/0=非企业职员),
最后一个选项“其他”的信息已经包含在这4个变量中了,所以不需要再增加一个D5(1=其他/0=非其他)了。
这个过程就是引入哑变量的过程,其实在结合分析(conjoint analysis)中,就是利用哑变量来分析各个属性的效用值的。
[/code]
```code
# -*- coding: utf-8 -*-
import pandas as pd
from pandas import Series,DataFrame
import numpy as np
'''
离散化和面元划分 :就是分组,进行相应的计算
对于数据进行离散化和面元划分的前提条件是:连续变化的数据
例如下面是一组人的年龄数据,现在要按照年龄划分为不同年龄的4组(即把数据拆分为4个面元),
分别为“18到25”、“25到35”、“35到60”及“60以上。为了实现分组,需要使用pandas的cut函数:
pandas返回的是一个特殊的Categorical对象。你可以将其看作一组表示面元名称的字符串。实际上它含义一个表示不同分类名称的levels数组以
及一个为年龄数据进行标号的labels属性。, 以及各个阶段人的数量统计
数据挖掘中有些算法,特别是分类算法,只能在离散型数据上进行分析,然而大部分数据集常常是连续值和离散值并存的。因此,
为了使这类算法发挥作用,需要对数据集中连续型属性进行离散化操作。
那么,如何对连续型属性离散化呢?常见的有等宽分箱法,等频分箱法:
等宽分箱法的思想是,将数据均匀划分成n等份,每份的间距相等。
等频分箱法的思想是,将观察点均匀分成n等份,每份的观察点数相同。
在对数据离散化前,需要先处理异常点敏感问题,即我们需要首先设定一个阈值将异常数据移除。有两种思路:
1.设定阈值为90%,将数据从小到大排序,移除全部数据最小的5%和最大的5%数据
2. 设定阈值为90%,将数据从小到大排序,然后对所有数据求和,并计算每个数据占总和的比例,移除占比10%的数据
在这里&#x