9.7 属性評価
oml.ai
クラスは相対的な属性評価を計算して、分類または回帰ターゲットの予測における重要度に従って属性をランク付けします。
oml.ai
クラスは、最小記述長(MDL)アルゴリズムを使用して属性評価を計算します。MDLでは、最も単純でコンパクトな表現が、データの説明として最適かつ最も可能性が高いとみなされます。
oml.ai
クラスのメソッドを使用して、レスポンス変数を予測する際の予測子変数の相対的な評価を計算できます。
ノート:
Oracle Machine Learningでは、oml.ai
のスコアリング操作はサポートされていません。
oml.ai
の結果は、指定したターゲット属性を予測における影響度に従ってランク付けされたビルド・データの属性です。ランキングと評価の指標を使用して、属性を選択できます。
oml.ai
クラスの属性およびメソッドの詳細は、help(oml.ai)
を呼び出すか、Oracle Machine Learning for Python APIリファレンスを参照してください。
関連項目:
例9-7 oml.aiを使用した属性の重要度のランキング
この例では、irisデータセットを使用してx
変数とy
変数を作成します。その後、永続データベース表IRISとoml.DataFrame
オブジェクトoml_iris
を表のプロキシとして作成します。
この例では、oml.ai
クラスの様々なメソッドの使用方法を示します。
import oml
import pandas as pd
from sklearn import datasets
# Load the iris data set and create a pandas.DataFrame for it.
iris = datasets.load_iris()
x = pd.DataFrame(iris.data,
columns = ['Sepal_Length','Sepal_Width',
'Petal_Length','Petal_Width'])
y = pd.DataFrame(list(map(lambda x:
{0: 'setosa', 1: 'versicolor',
2:'virginica'}[x], iris.target)),
columns = ['Species'])
try:
oml.drop('IRIS')
except:
pass
# Create the IRIS database table and the proxy object for the table.
oml_iris = oml.create(pd.concat([x, y], axis=1), table = 'IRIS')
# Create training and test data.
dat = oml.sync(table = 'IRIS').split()
train_x = dat[0].drop('Species')
train _y = dat[0]['Species']
test_dat = dat[1]
# Specify settings.
setting = {'ODMS_SAMPLING':'ODMS_SAMPLING_DISABLE'}
# Create an AI model object.
ai_mod = oml.ai(**setting)
# Fit the AI model according to the training data and parameter
# settings.
ai_mod = ai_mod.fit(train_x, train_y)
# Show the model details.
ai_mod
この例のリスト
>>> import oml
>>> import pandas as pd
>>> from sklearn import datasets
>>>
>>> # Load the iris data set and create a pandas.DataFrame for it.
... iris = datasets.load_iris()
>>> x = pd.DataFrame(iris.data,
... columns = ['Sepal_Length','Sepal_Width',
... 'Petal_Length','Petal_Width'])
>>> y = pd.DataFrame(list(map(lambda x:
... {0: 'setosa', 1: 'versicolor',
... 2:'virginica'}[x], iris.target)),
... columns = ['Species'])
>>>
>>> try:
... oml.drop('IRIS')
... except:
... pass
>>>
>>> # Create the IRIS database table and the proxy object for the table.
... oml_iris = oml.create(pd.concat([x, y], axis=1), table = 'IRIS')
>>>
>>> # Create training and test data.
... dat = oml.sync(table = 'IRIS').split()
>>> train_x = dat[0].drop('Species')
>>> train_y = dat[0]['Species']
>>> test_dat = dat[1]
>>>
>>> # Specify settings.
... setting = {'ODMS_SAMPLING':'ODMS_SAMPLING_DISABLE'}
>>>
>>> # Create an AI model object.
... ai_mod = oml.ai(**setting)
>>>
>>> # Fit the AI model according to the training data and parameter
... # settings.
>>> ai_mod = ai_mod.fit(train_x, train_y)
>>>
>>> # Show the model details.
... ai_mod
Algorithm Name: Attribute Importance
Mining Function: ATTRIBUTE_IMPORTANCE
Settings:
setting name setting value
0 ALGO_NAME ALGO_AI_MDL
1 ODMS_DETAILS ODMS_ENABLE
2 ODMS_MISSING_VALUE_TREATMENT ODMS_MISSING_VALUE_AUTO
3 ODMS_SAMPLING ODMS_SAMPLING_DISABLE
4 PREP_AUTO ON
Global Statistics:
attribute name attribute value
0 NUM_ROWS 104
Attributes:
Petal_Length
Petal_Width
Sepal_Length
Sepal_Width
Partition: NO
Importance:
variable importance rank
0 Petal_Width 0.615851 1
1 Petal_Length 0.362519 2
2 Sepal_Length 0.042751 3
3 Sepal_Width -0.155867 4