[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:001292] Re: initialize mathod
��߷�͡�
��Ƿ��Ǥ���
> ����������»�ͽ����� NArray �������Ȼפä��顢�Ѿ���Ĥ���
> ����NArray ���åԥ����⤢��ޤ����Ĥޤꡢ@xxxxxx �˲ä���
> ���Τ⡢�����ѿ��� NArray �Υ��֥������ȤȤ����ۤ˻��ġ����Τۤ�
> ����ʬ���䤹���������������ɤθ��̤����ɤ��ʤ�������Ȼפ��ޤ�
> ��ǡ���Ǥ��礦����Ȥ� NArray �Υ�åɤΤ��������ΤޤȤ����
> �ΤˤĤ��Ƥϡ��Ѿ����ʤ��Ƥ⡢�ޤȤ�ƴ�ñ�ˡְѾ��פǤ��ޤ�����
�ͤ��Ƥߤ�ȡ��Ѿ��������ˤɤ�����з�»�ͽ����������Τ��狼
��ޤ���Ȥ�� NArray �� mask ��Ƴ��������ä�������ʻ䤬�ѥ�
������ޤ����ˡ��ǡ����ȥޥ����������ѿ��ˤ�ķ�»�ͽ������饹
���뤳�Ȥ����ꤷ�Ƥޤ��������ʤߤˡ�������Υ�����Ϥ���ʴ�
����
a = NArrayMiss.new( nary, 'miss_val' => 999.0 )
a = NArrayMiss.new( nary, 'valid_range' => [-1e33,1e33] )
a = NArrayMiss.new( nary, 'valid_min' => -1e33 )
a = NArrayMiss.new( nary, 'valid_max' => 1e33 )
a = NArrayMiss.new( nary, mask ) # nary �� mask ��Ʊ������ NArray
�Ĥޤꡢ��Ȥ� NArray �ǡ���(��Ǥ�nary)�ȡ�������Ǥη�»�ͻ���
��Ϳ���ơ�����Ū�� @xxxxxx ���������ƻ��äƤ�������»�ͻ���Ͼ嵭
����������б��Ǥ���ɬ�פ�����ޤ���
�������ñ��黻�䣲��黻�ǤϷ�»�ͤ�褱�Ʊ黻���ޤ��������
���ǤϤ���ʴ�����
def mlt(a, b) # ���ȤDZ黻�� * �˳������
mask = a.mask | b.mask
ac,bc = b.coerce(a)
data = ac.data.dup # data ����ȤΥǡ����� dup �������֤��Ȥ���
data[mask] = ac.data[mask] * bc.data[mask]
NArrayMiss.new(data, mask)
end
���������դ��٤��ϡ���»��ʬ�����äƤ����ͤ��礭���Ƥ⥪���С���
�������ʤ��褦����»��ʬ�ϱ黻���٤��ǤϤʤ��Ȥ������ȤǤ���
�ʤ�����»�ͤ������� NArray ���Ѵ������åɤ�ɬ�פǤ�����
��ʴ�����
nary = a.to_na( miss_val )
nary, miss_val = a.to_na_set_miss
��»�ͤ� miss_val ���������� NArray ���֤�����Ԥϡ��ǡ������Ȥ�
�ͤ��ϰϤγ��ˡ��礭�����줿�Ȥ����ˤ˷�»�ͤ�ư���ꤷ����������
������֤���
���ȡ����»��ʬ�˴ؤ���ʿ����������褦��ɬ�פ�(������)���
�ɤ��Ѱդ��롣�ɤ��������Ȥ��ȸ����ȡ���»��̵�����ϡ�
nary.sum(0) / nary.shape[0]
������1�����ܤ�ʿ�Ѥ����뤱�ɡ���»�������ʬ�������Ǥʤ���
�ǡ���»��ʬ�����ƿ�����������֤���åɤ�ɬ�פ��Ȥ������ȤǤ���
shape ������Ϻ��ޤ��̤�Ǥ���٤��ʤΤǡ��̤�̾����ɬ�ס��㤨��
count_valid �Ȥ����ˡ�
a.sum(0) / a.count_valid(0)
���ȡ���»�Ǥʤ��Τ����㲿�Ĥʤ��Ȥ����ʤ��Ȥ������Ф�⡢�ߤ���
��ʤ��Ȥ����ʤ���
a.sum(0) / a.count_valid(0, 'min_count' => 5)
���뤤�ϡ�
a.sum(0, 'min_count' => 5) / a.count_valid(0)
��sum �� count_valid �ΰ����λ��ͤ�Ʊ���ˤ��롣����黻�Ǥ� mask
�� "or" ����롼���ꡢ�������
a.sum(0, 'min_count' => 5) / a.count_valid(0, 'min_count' => 5)
��Ʊ����
--
��Ƿ�� ��