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]