#机器学习数据挖掘
##1、数据预处理
基础查看信息
- 数据读取:pandas.read_excel/read_table/read_csv
- 查看数据源基本情况:pandas:data.describe()
- 查看数据的列信息:pandas:data.columns
- 查看数据量和数据类型信息:pandas:data.info()
sklearn预处理 - 标准化:scale、standardScaler
- 固定范围缩放:MinMaxScaler和MaxAbsScaler
- 非线性转换:QuantileTransformer
- 归一化:normalize
- 二值化:Binarizer
- 分类特征编码:OneHotEncoder
- 缺失值插补:Imputer
- 生成多项式特征:PolynomialFeatures
- 自定义转换器:FunctionTransformer
##2、数据探索
- 可视化查看主要特征的分布
- 交叉维度查看特征分布
- 缺失值补充:data.fillna(value=n)/data.loc[(data.X.isnull()), ‘X’] = databu
- 文本特征转换:data.loc[ (data.X.notnull()), ‘X’ ] = “Yes/1”
##3、特征选择
- 删除不用的特征:data.drop([‘a’,‘b’],axis=1,inplace=Ture)
- 单个特征查看评估:移除低方差特征:使用阈值
.8 * (1 - .8)
进行选择 - 单变量特征选择:SelectKBest、SelectPercentile
- 递归式特征消除:RFECV 通过递归评估系数排序,不断删除不重要的特征
- 使用SelectFromModel选取特征
- 特征选取作为 pipeline(管道)的一部分
##4、数据建模
- 线性模型:clf = linear_model.LinearRegression()
- 逻辑回归模型:clf = linear_model.LogisticRegression()
- 决策树模型:clf = tree.DecisionTreeClassifier()
- 支持向量机模型:clf = svm.SVC()
- 聚类:clf = KMeans(n_clusters=2, random_state=random_state)
##5、模型评估(参数调优)
- 交叉验证:sklearn.model_selection.cross_val_score
- 参数调优:model_selection.GridSearchCV
- 模型量化1:sklearn.metrics.accuracy_score
- 模型量化2:sklearn.metrics.mean_squared_error
##6、结果可视化
- 混淆矩阵:sklearn.metrics.confusion_matrix
- 验证曲线:sklearn.model_selection.validation_curve
- 学习曲线:from sklearn.model_selection.learning_curve