天天看點

機器學習 | 【01】sklearn初步使用及機器學習的流程sklearn機器學習

文章目錄

  • sklearn
      • scikit-learn資料集
          • `sklearn.datasets`:加載擷取流行資料集
          • `sklearn`大資料集
          • `sklearn`資料集傳回值介紹
      • 檢視資料分布
          • seaborn
      • 資料集劃分api
      • 交叉驗證
          • 概念
          • 目的
          • api
  • 機器學習
      • 基本流程
          • 特征預處理
            • 歸一化
            • 标準化

sklearn

scikit-learn資料集

sklearn.datasets

:加載擷取流行資料集

datasets.load_*()

:擷取小規模資料集,資料包含在datasets裡

datasets.fetch_*(data_home=None)

:擷取大規模資料,參數表示從網上下載下傳資料

sklearn

大資料集

sklearn.datasets.fetch_20newsgroups(data_home=None, subset='train')

參數: ~

subset

train

test

,

all

選擇要加載的資料集

sklearn

資料集傳回值介紹

load

fetch

傳回的資料類型

datasets.base.Bunch(字典格式)

  • data

    :特征資料數組,
  • target

    :标簽數組, 一維
  • DESCR

    :資料描述
  • feature_names

    :特征名
  • target_names

    :标簽名

檢視資料分布

seaborn

seaborn.Implot()

:繪制二維散點圖,自動完成回歸拟合
  • sns,Implot()

    :x、y分别代表橫縱坐标的别名
  • data

    :關聯到資料集
  • hue

    :代表按照species,類别的分類顯示
  • fit_reg

    :是否進行線性拟合

資料集劃分api

sklearn.model_selection.train_test_split(arrays, *opetions)

  • x

    :特征值
  • y

    :标簽值
  • test_size

    :劃分測試集的大小
  • random_state

    :随機種子,相同種子的采樣結果一樣
  • return

    :訓練集特征值、測試集特征值、訓練集标簽值、測試集标簽值

交叉驗證

概念
訓練集:訓練集+驗證集
機器學習 | 【01】sklearn初步使用及機器學習的流程sklearn機器學習
目的
為了讓評估模型更加準确可信, 不能提高準确率
api

sklearn.model_selection.GridSearchCV()

:對估計器的指定參數值進行詳盡搜尋

參數

  • estimator

    :估計器對象
  • param_grid

    :估計器參數

    {'n_neighbors':[1,3,5...]}

  • cv

    :指定幾折交叉驗證

方法

  • fit

    :輸入訓練資料
  • score

    :準确率

結果分析

  • best_score_

    :交叉驗證中的最好結果
  • best_estimator_

    :最好的參數模型
  • cvesults

    :每次交叉驗證後的驗證集準确率和訓練集準确率結果

機器學習

基本流程

  • 擷取資料集
  • 資料處理【資料切割】
  • 特征工程
  • 機器學習
  • 模型評估
特征預處理
定義:将原始資料變換映射在 (0, 1) 之間; 将資料轉化成機器能學習的資料

标準化、歸一化

歸一化

為何标準歸一化

特征的機關或大小相差較大,或某特征的方差比其他的特征大出幾個數量級,易影響目标結果

eg:

一列資料出現1和10000000

歸一化

機器學習 | 【01】sklearn初步使用及機器學習的流程sklearn機器學習

歸一化api

sklearn.preprocession.MinMaxScaler(feature_range=(0,1)....)

MinMaxScaler.fit_transform(np.array)

:傳回轉型後的資料

标準化

機器學習 | 【01】sklearn初步使用及機器學習的流程sklearn機器學習

api

sklearn.preprocessing.StandarScaler()

将資料轉化在0-1之間

StandardScaler.fit_transform(X)

:X為

np.array

資料格式