Index ソフト・ハード Python | scikit_learn |
scikit_learn linear_model KFold 機能・要件 構成・方式 タスク ライブラリ 導入 Sample Error 基礎他 |
scikit-learn (サイキットラーン)の主な機能(特に機械学習のモデル) ・機械学習全般のアルゴリズムを実装したライブラリ ・様々な分類、回帰、クラスタリングアルゴリズムが含まれている。 サポートベクターマシン (SVM) ランダムフォレスト Gradient Boosting k近傍法 ニューラルネットワークにも対応・ディープラーニング以外の機械学習アルゴリズムのほうが適している場合 用意したデータの数が少ない場合 解決したい問題に最も適した機械学習アルゴリズムが必要な場合・使い方 ライブラリのインポート 学習データとテストデータの準備 アルゴリズムを指定し、学習実行 テストデータでテスト 必要に応じて精度などをビジュアライズ 参考・アルゴリズムチートシート 参考sklearn.linear_model ・linear_model.LinearRegression ・linear_model.SGDRegressor 属性(アトリビュート) coef (偏)回帰係数 intercept 切片 メソッド fit(X,Y) 線形回帰モデルの当てはめ(予測モデル作成) get_params、set_params predict(X) Xに対する予測値出力 score(X,Y) 決定係数(予測値と正解値の相関)出力 クラスの引数(実行時の制御) normalize デフォルト(True) copy_X デフォルト(False) n_jobs デフォルト(1、-1:すべてのCPU)sklearn.model_selection.KFold (K-分割交差検証) ・分布に大きな不均衡がある場合に用いる。 ・分布の比率を維持したままデータを訓練用とテスト用に分割する。 データをk個に分け、n個を訓練用に、k-n個をテスト用に使う。 分けられたn個のデータがテスト用として必ず1回使われるように、n回検定する。
python
>>> import numpy as np
>>> from sklearn.model_selection import KFold
>>> x = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4]])
>>> y = np.array([0, 0, 1, 1, 1, 1, 1, 1, 1, 1])
>>> kf = KFold(n_splits=5) # データの分割数(k)検定をここで指定した回数行う。
>>> for train_index, test_index in kf.split(x, y):
... print("train_index:", train_index, "test_index:", test_index)
...
train_index: [2 3 4 5 6 7 8 9] test_index: [0 1]
train_index: [0 1 4 5 6 7 8 9] test_index: [2 3]
train_index: [0 1 2 3 6 7 8 9] test_index: [4 5]
train_index: [0 1 2 3 4 5 8 9] test_index: [6 7]
train_index: [0 1 2 3 4 5 6 7] test_index: [8 9]
|
All Rights Reserved. Copyright (C) ITCL |