如何選擇機器學習模型進行數據分析_簡要筆記


  • Supervised 監督學習

  • Unsuperivised 非監督學習

  • Reinforcement 強化學習(alphago,我將Action給環境,環境給我Reward))

  • Supervised Learning

    • Classification 分類
    • Regression 回歸
  • Unsupervised Learning

    • Clustering 聚類
    • Compression 降維(壓縮)
  • 如何選擇一個模型

  • 大體流程
``` //訓練集x(N * d), y(N * 1); 測試集x, y(同分布的) train_x, train_y, test_x, test_y = getData() // MNIST  model = somemodel() // SVM(),LASSO() model.fit(train_x, train_y) // 學習參數 predictions = model.predict(test_x) // 預測模型 //驗證模型 //分類任務: 分對的百分比 //回歸任務: 計算MSE等 //11種評價指標 //一個預測的數,和真實數據之間的差距 score = score_function(test_y, predictions) ```
# iris 花的數據集
from
sklearn.datasets import load_iris iris = load_iris() from sklearn.datasets import load_iris iris = load_iris() # The resulting dataset is a Bunch object: you can see what's available using the method keys(): In [4]: iris.keys() Out[4]: dict_keys(['target', 'data', 'target_names', 'DESCR', 'feature_names'])
  • Generating Synthetic Data 自己造數據

In [5]: from sklearn.datasets import make_regression # 自己造出來數據

I. Supervised 監督學習

  1. estimator.fit(X_train, y_train)
  2. estimator.predict(X_test)
  3. estimator.score(X_test, y_test) #評估

監督學習的工作流程

II.Unsupervised Transformers (無監督)
transformer.fit(X_train) # 進行一個擬合 X_train_transf = transformer.transform(X_train) # 降維到所期待的維度 X_test_transf = transformer.transform(X_test) # n component, trans = TSN(n_col=3, [..])
  • Feature Scaling (特征規則化)

  • min-max scalling
  • "normalization" (歸到0~1之間)
  • Principal Component Analysis (PCA)

把一個高維空間映射 到 XTX 的 最大的兩個特征值(對應的兩個特征向量正交) 的投影上

  • PCA for Dimensionality Reduction (降維)

  • K-means Clustering (聚類手法)

    • 需要告訴他分成 N 類
    • 歐幾里得距離 ( d(x,y)=2j=1(xjyj)2=||xy||22  )
# ### Scikit-learn API estimator.fit(X_train, [y_train]) estimator.predict(X_test) estimator.transform(X_test) Classification Preprocessing (預處理:圖像灰度值歸一化等 ) Regression Dimensinality Reduction (降維) Clustering Feature Extraction (特征提取) Feature selection (特征選擇)
  • Preprocessing & Classification Overview (預處理  和 分類概述)

  • 訓練數據集、驗證數據集、測試數據集

 

(對不同模型,或者相同模型的不同參數,用驗證集進行訓練選擇;比較出更好的模型+參數時, 再在70+15 %的訓練數據集上訓練)

 

(最后在測試集上訓練,如果訓練效果好,就在全部數據集上再訓練一遍)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM