決定列のない1つのデータテーブルを2番目のテーブルにコピーしてから、データをシャッフルしてそれら2つのテーブルを1つにマージしようとしています。エラーが発生するため、達成できません。私の意見では、オレンジ色のドキュメントは十分ではなく、それを達成する方法がわかりません。これが私のコードと私が得ているエラーです。誰かがそれを行う方法を知っているなら、私を助けてください。
db_name = "titanic"
data = Orange.data.Table(db_name)
new_domain = data
input_domain = new_domain.domain
all_vars = (list(input_domain.variables) +
list(input_domain.class_vars) +
input_domain.getmetas().values())
edited_vars = []
# Apply any saved transformations as listed in
# `domain_change_hints`
import OWEditDomain
for var in range(len(all_vars)-1):
for x in range(len(all_vars[var].values)):
all_vars[var].values[x] +='_1'
all_vars[var].name += '_1'
desc = OWEditDomain.variable_description(all_vars[var])
try:
new = OWEditDomain.variable_from_description(desc)
except ValueError, ex:
new = None
if new is not None:
# Make sure orange's domain transformations will work.
new.source_variable = all_vars[var]
new.get_value_from = Orange.core.ClassifierFromVar(whichVar=all_vars[var])
all_vars[var] = new
edited_vars.append(all_vars[var])
tabela = Orange.data.Table(new_domain, edited_vars)
tabela.shuffle()
data = Orange.data.Table(db_name)
merged = Orange.data.Table([data, tabela])
#
print "Domain 1: ", data.domain
print "Domain 2: ", tabela.domain
print "Merged: ", merged.domain
エラー:
Traceback (most recent call last):
File "C:/Python27/Lib/site-packages/Orange/OrangeWidgets/Classify/OWCN2.py", line 412, in <module>
merged = Orange.data.Table([data, tabela])
orange.KernelException: 'orange.ExampleTable': mismatching value of attribute 'survived' in example #0