2017-05-16 10 views
0

私はcsvファイルからオレンジデータテーブルを作成しようとしています。特定のドメインのオレンジデータテーブル

  1. は内のデータを使用して、新しいデータテーブルを作成する一時的なデータテーブル
  2. にファイルを読み込み、ターゲットドメイン
  3. を作成します。私は現在、次の手順を使用して、これをやろうとしているこれを達成するために、一時テーブルと3行のヘッダ(https://docs.orange.biolab.si/3/data-mining-library/reference/data.io.html)とタブファイルにcsvファイルを変更 ターゲットドメイン

はオプションではありません。

私は、次を取得したコードに、この手順を翻訳:(?)の代わりに、予想されるクラス(+または - )の

from Orange.data import Domain, DiscreteVariable, ContinuousVariable, Table 

    # Creating specific domain. Two attributes and a Class variable used as target 
    target_domain = Domain([ContinuousVariable.make("Attribute 1"),ContinuousVariable.make("Attribute 2")],DiscreteVariable.make("Class")) 
    print('Target domain:',target_domain) 
    # Target domain: [Attribute 1, Attribute 2 | Class] 

    # Reading in the file 
    test_data = Table.from_file('../data/knn_trainingset_example.csv') 
    print('Domain from file:',test_data.domain) 
    # Domain from file: [Attribute 1, Attribute 2, Class] 

    # Using specific domain with test_data 
    final_data = Table.from_table(target_domain,test_data) 

    print('Domain:',final_data.domain) 
    print('Data:') 
    print(final_data) 
    # Domain: [Attribute 1, Attribute 2 | Class] 
    # Data: 
    # [[0.800, 6.300 | ?], 
    # [1.400, 8.100 | ?], 
    # [2.100, 7.400 | ?], 
    # [2.600, 14.300 | ?], 
    # [6.800, 12.600 | ?], 
    # [8.800, 9.800 | ?], 
    # ... 

あなたは、最終的なprint文から見ることができるようにクラス変数が不明です。

誰かがこの動作を説明/解決できますか?特定のドメインを持つデータテーブルを作成するためのより良い/異なる方法を提供しますか?

+0

オハイオ州は非常にばかげています。可能な値を渡すようなクラス変数を作成する必要があるでしょう: 'DiscreteVariable(" Class "、values = ['value1'、 'value2'])'。それは動作しますか? –

答えて

0

よろしくお願い致します。参考文献(https://docs.orange.biolab.si/3/data-mining-library/reference/data.variable.html#discrete-variables)に記載されているように、可能な谷を供給する必要があります。だからタプルとしてそれらを提供することができました。今後の参考として、私は調整されたコードを以下に置いた。

from Orange.data import Domain, DiscreteVariable, ContinuousVariable, Table 

# Creating specific domain. Two attributes and a Class variable used as target 
target_domain = Domain([ContinuousVariable.make("Attribute 1"),ContinuousVariable.make("Attribute 2")],DiscreteVariable.make("Class",values=('+','-'))) 

print('Target domain:',target_domain) 
# Target domain: [Attribute 1, Attribute 2 | Class] 

# Reading in the file 
test_data = Table.from_file('../data/knn_trainingset_example.csv') 

print('Domain from file:',test_data.domain) 
# Domain from file: [Attribute 1, Attribute 2, Class] 

print('Data:') 
print(test_data) 
# [[0.800, 6.300 | −], 
# [1.400, 8.100 | −], 
# [2.100, 7.400 | −], 
# [2.600, 14.300 | +], 
# [6.800, 12.600 | −], 
# [8.800, 9.800 | +], 
# ... 

# Using specific domain with test_data 
final_data = Table.from_table(target_domain,test_data) 

print('Domain:',final_data.domain) 
# Domain: [Attribute 1, Attribute 2 | Class] 

print('Data:')  
# Data: 
# [[0.800, 6.300 | −], 
# [1.400, 8.100 | −], 
# [2.100, 7.400 | −], 
# [2.600, 14.300 | +], 
# [6.800, 12.600 | −], 
# [8.800, 9.800 | +], 
# ... 
関連する問題