数据挖掘流程

数据挖掘流程

(一)数据读取
  • 读取数据,并进行展示
  • 统计数据各项指标
  • 明确数据规模与要完成的任务
(二)特征理解分析
  • 单特征分析,逐个变量分析其对结果的影响
  • 多变量统计分析,综合考虑多种情况影响
  • 统计绘图得出结论
(三)数据清洗与预处理
  • 对缺失值进行填充
  • 特征标准化/归一化
  • 筛选有价值的特征
  • 分析特征之间的相关性
(四)建立模型
  • 特征数据与标签准备
  • 数据集切分
  • 多种建模算法对比
  • 集成策略等方案改进

杂记

数据特征分为:连续值和离散值

  • 离散值:性别(男、女)、登船地点
  • 连续值:年龄、船票价格

特征相关性的热度图

属性相关热力图.png

)
首先要注意的是,只有数值特征进行比较
正相关,如果特征A的增加导致特征B的增加,那么它们呈正相关,值1表示完全正相关。
负相关,如果特征A的增加导致特征B的减少,则呈负相关,值-1表示完全负相关。
现在我们说两个特征是高度相关的,所以一个增加导致另一个增加,这意味着两个特征都包含高度相似的信息,并且信息很少或没有变化,这样的特征对我们来说是没有价值的!
经验来说,一般相关度超过30%就应该慎重考虑

集成
集成是提高模型的精度和性能的一个很好的方式,简单的说,是各种简单模型的结合创造了一个强大的模型。

  1. 随机深林类型的,并行的集成
  2. 提升类型
  3. 堆叠类型
数值特征转换

LabelEncoder

from sklearn.preprocessing import LabelEncoder
gle = LabelEncoder()
genre_labels = gle.fit_transform(vg_df['Genre'])
genre_mappings = (index:label for index,label in enumerate(gle.classes_))

映射转换

vg_df['GenreLabel'] = genre_labels
# vg_df[['Name','Platform','Year','Genre','GenreLabel']].iloc[1:7]

map

gen_ord_map = {'Gen 1':1,'Gen 2':2,'Gen 3':3,'Gen 4':4,'Gen 5':5,'Gen 6':6}
poke_df['GenerationLabel'] = poke_df['Generation'].map(gen_ord_map)

OneHotEncoder

from sklearn.preprocessing import OneHotEncoder
# encode generation labels using one-hot encoding scheme
gen_ohe = OneHotEncoder()
gen_feature_arr = gen_obe.git_transform(poke_df[['Gen_label']]).toarray()
gen_feature_labels = list(gen_le.classes_)
gen_feature = pd.DataFrame(gen_feature_arr,columns=gen_feature_labels)
# encode legendary status labels using one-hot encoding scheme
leg_one = OneHotEncoder()
leg_feature_arr = leg_ohe.fit_transform(poke_df[['Lgnd_Label']]).toarray()
leg_feature_labels = ['Legendary_'+str(cls_label) for cls_label in leg_le.classes_]
leg_features = pd.DataFrame(leg_feature_arr,columns=leg_feature_labels)

poke_df_ohe = pd.concat([poke_df_sub,gen_features,leg_features],axis=1)
columns = sum([['Name','Generation','Gen_Label'].gen_feature_labels,['Legendary','Lgnd_Label'].leg_feature_labels],[])
poke_df_ohe[columns]  

get_dummy
自动判断,将离散值数据分组

 gen_dummy_features = pd.get_dummies(poke_df['Generation'])

你可能感兴趣的:(数据挖掘流程)