zoukankan      html  css  js  c++  java
  • 如何选择机器学习模型进行数据分析_简要笔记

    • 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 %的训练数据集上训练)

    (最后在测试集上训练,如果训练效果好,就在全部数据集上再训练一遍)

     

     

     

     

  • 相关阅读:
    HTML
    MySQL 表操作
    MySQL 库操作
    MySQL
    python 客户端的安全性验证和服务端对客户端的多端连接
    python 黏包
    python 通信
    SpringData —— HelloWorld
    JPA
    Hibernate ——二级缓存
  • 原文地址:https://www.cnblogs.com/douzujun/p/7730301.html
Copyright © 2011-2022 走看看