機器學習數據挖掘
1、數據預處理
基礎查看信息
1. 數據讀取:pandas.read_excel/read_table/read_csv
2. 查看數據源基本情況:pandas:data.describe()
3. 查看數據的列信息:pandas:data.columns
4. 查看數據量和數據類型信息:pandas:data.info()
sklearn預處理
5. 標準化:scale、standardScaler
6. 固定範圍縮放:MinMaxScaler和MaxAbsScaler
7. 非線性轉換:QuantileTransformer
8. 歸一化:normalize
9. 二值化:Binarizer
10. 分類特徵編碼:OneHotEncoder
11. 缺失值插補:Imputer
12. 生成多項式特徵:PolynomialFeatures
13. 自定義轉換器: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