変数の尺度とデータ型
#データの理解と前処理
変数の分類と尺度
変数は、その性質から、大きく定性的データ(質的変数)と定量的データ(量的変数)に分けられ、さらに細かく4つの尺度(scale)に分類されることが多い
分析をする際には、尺度に応じて適切に変数を扱うことが必要になる
参考:1-4. 変数の尺度 | 統計学の時間 | 統計WEB(以下、引用部分はこのページより)
定性的データ(質的変数、カテゴリ変数)
名義尺度(nominal scale)
他と区別し分類するための名称のようなもの
例:男女、血液型、郵便番号、住所、本籍地、所属学部、学籍番号
順序尺度(ordinal scale)
順序や大小には意味があるが間隔には意味がないもの
例えば、1位+2位≠3位のように、足し算引き算ができないもの
例:1位 / 2位 / 3位…、1. 好き / 2. ふつう / 3. 嫌い、統計検定®1級 / 2級 / 3級 / 4級、がんのステージ分類におけるステージI / II / III / IV
定量的データ(量的変数)
間隔尺度(interval scale)
目盛が等間隔になっているもので、その間隔に意味があるもの
例えば、気温が19℃から1℃上昇すると20℃になるとは言えるが、10℃から20℃に上昇したとき、2倍になったとは言えないもの
例:気温(摂氏)、西暦、テストの点数
比例尺度(ratio scale)
0が原点であり、間隔と比率に意味があるもの
例えば、身長が150cmから30cm伸びると180cmになると言えるし、1.2倍になったとも言えるもの
例:身長、速度、睡眠時間、値段、給料、幅跳びの記録
尺度を判別する練習
以下の変数はどの尺度でしょうか?
成績(秀、優、良、可、不可)
偏差値
アヤメの花びらの長さ
アヤメの品種
機械学習用のデータセットで感覚をつかむ
UCI Machine Learning Repositoryを見てみよう
https://gyazo.com/78ac5ab53d1db58dcc6154798e87cad9
"Feature Type"(特徴量=説明変数の種類)の記載を気に留めておく
Categorical(カテゴリ), Integer(整数), Real(実数)で分類されている
機械学習でデータを扱うときは、こうしたデータの尺度や型を十分に理解したうえで、適切な操作をする必要がある
説明変数は、データの尺度や型によって扱い方が異なる
目的変数は質的変数(カテゴリ)(Categorical)と量的変数(数値)(IntegerまたはReal)によって機械学習としての問題の質が変わる
質的変数(カテゴリ)の場合は分類問題となる
ただし、機械学習のモデルが扱うときには、数値に変換しておく必要がある(ややこしい)
量的変数(数値)の場合は基本的に回帰問題となる
ただし、扱う問題によっては、連続変数を離散化してカテゴリ(クラス)に分け、回帰をすることも考えられる
変数のデータ型を確認する
プログラムでは、変数はデータ型(type)をもつ
参考:練習用のPythonコードサンプルその1#651507eddbcf3c000025b839
pandasのデータフレームでデータを持っていれば、info()を使うことでデータの情報を一覧できる
https://gyazo.com/f7039c74a7cb58b3a4e839e2442e10b1
このDtypeが変数のデータ型を表す
質的変数(カテゴリ変数)の場合
object:オブジェクト型(文字列の変数、文字列・数値が混合した変数はobjectとして扱われる)
量的変数(数値)の場合
int64:符号あり64ビット整数型
float64:倍精度浮動小数点型(符号部1ビット、指数部11ビット、仮数部52ビット)
その他もあるかも
(参考)NumPyのデータ型dtype一覧とastypeによる変換(キャスト) | note.nkmk.me