概要
このページをもとにする
http://scikit-learn.org/stable/datasets/index.html
機械学習で使える様々なデータを読み込んだり生成したりするためのAPI集。
これ以降のサンプルコードは
import sklearn.datasets as d
を実行した後を仮定。
人工データ
学習のテストに使えるような、人工的なデータを生成するメソッドたち。
make_classification: nクラス分類問題生成
正規分布に従う複数のクラスから生成されるデータを合成する。
データには、様々なノイズを含ませることができる。
生成するサンプル数は (n_samles) で、
各次元の特徴は
- 各サンプルの特徴量の次元数 (n_features)
- 特徴量のうち正解の正規分布から生成される特徴量の次元数 (n_informative)
- 特徴量のうち n_informative の線形和で表せる特徴量の次元数 (n_redundant)
- 特徴量のうち informative / redundant のどちらかの値をコピーしたもの (n_repeated)
正解の分布の特徴は
- 問題のクラス数 (n_classes)
- クラス内のクラスタの数 (分布数) (n_cluster_per_class)
- クラスから選ばれるサンプルの頻度 (weights)
- クラスがランダムで入れ替えられる確率 (データのエラー率) (flip_y)
make_multilabel_classification: 複数ラベル分類問題生成
サンプルごとにラベルが複数あるデータを合成する。
ラベルの種類は n_classes 個あって、
各サンプルは、平均で n_labels 個のラベルがついている。
各サンプルの特徴量は n_features 次元あって、
その総和は平均で length である。
length は、例えば特徴量を単語の頻度としたときに、平均的な一つのサンプル (=文章) の長さを意味する。
allow_unlabeled を True にすると、どのラベルにも属さないサンプルの生成を許して生成する。
return_indicator は、クラスが 0-4 の5クラスあって、あるサンプルが 2, 4 のクラスに属している場合、
True にすると、 [0, 0, 1, 0, 1] というようにフラグで、
False にすると、[2, 4] というように値で表示される。
デフォルトは、現在は False だが、将来的に True になるらしい。
make_regression: 線形回帰問題生成
1サンプルあたり n_features 次元のサンプルを n_samples 個生成する。
ただし、そのうち線形モデルを構成するのは n_informative 次元で、
残りは無関係。線形モデルには定数項 bias が足されている。
回帰対象は n_target 次元のサンプルが生成される。
データには標準偏差が noise のガウスノイズが加算されている。
0 件のコメント:
コメントを投稿