machine learning code in wolfram mathematica
TRANSCRIPT
��������� ���� �� � ���������� �� ���������� ��������������� �� ���
���� ��� ��� ��������� ��������� ��������� ������ ������� ��� �����
��������� ���� ���� ������� ������������ � �++ ����� ���������������� �����[��������*�]
��������� ������������[�����������������������]�
��������� ��� ���� �� ����� ����� ��� ��������� ������
��������� �����
��������� � = {{��� ��� ��� ��� ��� ��� �� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}}�
��������� ������ �� �� ��� ���
��������� � = {{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}}�
��������� ����� �� �� ��� ���
��������� �� = {{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� �� ��� �� ��� ��� �� �� �� �� �� ��� �� �� ��� �� ��� ��� ��� ��� �� ��� ��� ��� �� ��� ��� �� ��}}�
��������� ��� ���� �� �[[�]]� ��� ��������� �� �[[�]]�
��������� ��������
��������� �[�_] �= ��[�[[�]][[#]] < ��� �[[�]][[#]]� �] � /@ �����[�� {�� �� ��� �}]
��������� � = � /@ {�� �}�
��������� �� = �����[�[[#]]� �_ /� � ≠ �] � /@ {�� �}�
��������� ��� = {���� ������ ���� ����������}�
��������� �������
��������� �[�_] �= ��[�[[�]][[#]] > ��� �[[�]][[#]]� �] � /@ �����[�� {�� �� ��� �}]
��������� � = � /@ {�� �}
��������� {{��� ��� ��� �� �� �� �� �� ��� �� �� ��� �� ��� ��� ��� �� ��� ��� �� �� �� ��� ��� ��� ��� �� ��� ��� �}�
{�� �� ��� �� ��� �� �� �� �� �� ��� �� �� ��� �� ��� ��� ��� �� �� �� �� �� �� ��� ��� �� �� ��� �}}
��������� �� = �����[�[[#]]� �_ /� � ≠ �] � /@ {�� �}�
��������� {��������[��� ��������� → ���� ������������ → ���� ��������� → �������� ������ �������������������� → ��������������
����������� → ��� ���������� → ��������]� ��������[��� ��������� → ���� ������������ → ����
��������� → ������� ������ �������������������� → �������������� ����������� → ��� ���������� → ��������]}
��������� New York
San Francisco�
New York
San Francisco
��������� {���������[�����[�[[�]]� �����]� �� ��������� → ���� ��������� → ���[[�]]� ��������� → {{�� ���}� {�� ��}}]�
���������[�����[�[[�]]� ������]� �� ��������� → ���� ��������� → ���[[�]]� ��������� → {{�� ���}� {�� ��}}]}
���������
0 20 40 60 80 1000
5
10
15
New York
�
0 20 40 60 80 100
5
10
15
San Francisco
��������� {��������[����[�[[�]]]� ��������� → ���� ���� ��������� ������ ���������� → ����������
���������������� → (������[#� �����] �)� ��������� → ���� ��������� → {{�� ��}� {�� ���}}]�
��������[����[�[[�]]]� ���������������� → (������[#� �����] �)� ��������� → ���� ��������� ��������� ������
��������� → ���� ���������� → ����� ��������� → {{�� ��}� {�� ���}}]}
���������
2
10 11 1116
25
35 3638 40 40
45 4750
56 5860 61 62
6669 70 71
747881 81
889195
New York Apartment AREA
�
30 31 3234 34
38 38 4042 43 43 44
45 45 46 46 4750 50 50 51 51 52
5356 58
60636669
San Francisco Apartment AREA
��������� {��������[����[�[[�]]]� ��������� → ���� ���� ��������� �������� ���������� → ����������
���������������� → (������[#� �����] �)� ��������� → ���� ��������� → {{�� ��}� {�� ���}}]�
��������[����[�[[�]]]� ���������������� → (������[#� �����] �)� ��������� → ���� ��������� ��������� ��������
��������� → ���� ���������� → ����� ��������� → {{�� ��}� {�� ���}}]}
���������
43 43 44 45 4546 47
53 54 5556 56 57 57
60 60 6264 64
68 68 697174 74 75 75
77 7980
New York Apartment HEIGHT
�
10 12 121316 16 17
19 1922 22 22 24 24
26 26 27 2830 30 31 31 32
34 35 36 3638 39 39
San Francisco Apartment HEIGHT
��������� {��������[����[��[[�]]]� ��������� → ���� ���� ��������� ������� ���������� → ����������
���������������� → (������[#� �����] �)� ��������� → ���� ��������� → {{�� ��}� {�� ��}}]�
��������[����[��[[�]]]� ���������������� → (������[#� �����] �)� ��������� → ���� ��������� ��������� �������
��������� → ���� ���������� → ����� ��������� → {{�� ��}� {�� ��}}]}
���������
10 10 10 10 1011 11 11 11
12 1213 13
1415 15 15 15
16 1617 17 17
1819 19 19
20 20 20
0
5
10
15
20
25
30
New York Apartment PRICE
�
5 5 5 56 6
78 8 8
9 9 910
12 1213 13 13
14 14 14 14 14 1415 15 15 15 15
0
5
10
15
20
25
30
San Francisco Apartment PRICE
��������� {��������������[����[�[[�]]� �������]� ����[�[[�]]� �������]�
��������� → ���� ��������� → ���� ���� ���� ��� ����������]�
��������������[����[�[[�]]� �������]� ����[�[[�]]� �������]� ��������� → ����
��������� → ���� ���� ������ ��� ����������]�
��������������[����[��[[�]]� �������]� ����[��[[�]]� �������]� ��������� → ����
��������� → ���� ���� ����� ��� ����������]}
���������
050100 0 50 100
New York AREA San Francisco
�
0255075 0 25 50 75
New York HEIGHT San Francisco
�
01020 0 10 20
New York PRICE San Francisco
2 ��� Histogram.MACHINE.19.OK.work.YES2.work.nb
��������� � = {{�[[�]]� �[[�]]� ��[[�]]}� {�[[�]]� �[[�]]� ��[[�]]}}
��������� {{{��� ��� ��� ��� ��� ��� �� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}}�
{{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��}�
{��� ��� �� ��� �� ��� ��� �� �� �� �� �� ��� �� �� ��� �� ��� ��� ��� ��� �� ��� ��� ��� �� ��� ��� �� ��}}}
��������� ������� = ������[�[[�]]]
��������� {{��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {�� ��� ��}�
{��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}�
{��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}�
{��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}}
��������� ������������ = ������[�[[�]]]
��������� {{��� ��� ��}� {��� ��� ��}� {��� ��� �}� {��� ��� ��}� {��� ��� �}� {��� ��� ��}� {��� ��� ��}�
{��� ��� �}� {��� ��� �}� {��� ��� �}� {��� ��� �}� {��� ��� �}� {��� ��� ��}� {��� ��� �}� {��� ��� �}�
{��� ��� ��}� {��� ��� �}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� �}�
{��� ��� ��}� {��� ��� ��}� {��� ��� ��}� {��� ��� �}� {��� ��� ��}� {��� ��� ��}� {��� ��� �}� {��� ��� ��}}
��������� �����������[{�������� ������������}� ��������� -> �����������
������������ → {���� ������ ���� ����������}� ���������� → {������� ��������}� ��������� → �������]
���������
0 20 40 60 80 100
20
40
60
80
AREA
HEIGHT
PRICE
New York
San Francisco
��������� �� = {���� ������ ���� ����������� {���� ������ ���� ����������}}�
��������� � = {�������� ������������� {�������� ������������}}�
��������� ����������[�����������[�[[����]]� ��������� -> ����������� ������������ → ��[[����]]�
���������� → {������� ��������}� ��������� → �������]� {{����� �� ������}� �� �� �}]
���������
����
30 40 50 60 70
10
20
30
40
AREA
HEIGHT
PRICE
��� ���������
��������� ����������� �� � �� �� ���������� �� ���� ���� ��� �� ������� ��� ����� �� ��� �����
��������� ���� = ��� ������ = ��� ������� = ���
Histogram.MACHINE.19.OK.work.YES2.work.nb ���3
��������� �� ����� �� ������� �������� �����������
��������� ��� = {��������������� ������������� ����������������������� ������������������� ��������������������}�
��������� ����������� = �������[{�[[�]][[#]] → ���� ������ �[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
������������ = �������[{�[[�]][[#]] → ���� ������ �[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
������������ = �������[{��[[�]][[#]] → ���� ������ ��[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
� = ��������[#� ������ → ���[[�]]] � /@ {������������ ������������� ������������}�
��������� ���������������������[��������[������������ ������ → #]] � /@ ���
���������
��������� �����������
������ ������ ������
������ �� ������� �
������ �� �������� �
������ �� �������� �������� ��
������ �� ��������� �������� �
������ �� ����� ��
�
��������� �����������
������ ����� ����� ���������
������ �� ������� �
������ �� �������� �
������ �� �������� �������� ��
������ �� ��������� �������� �
�
��������� �����������
������ ������� ������ �������
������ �� ������� �
������ �� �������� �
������ �� �������� �������� ��
������ �� ��������� �������� �
������ ���� ������ ����� ��������
���� ������ ��������� ��������
�
��������� �����������
������ �-������� ���������
������ �� ������� �
������ �� �������� �
������ �� �������� �������� ��
������ �� ��������� �������� �
������ �� ��������� �
�������� �������� �����������������
�
��������� �����������
������ �������� ����������
������ �� ������� �
������ �� �������� �
������ �� �������� �������� ��
������ �� ��������� �������� �
�� �������������� ��������� �
�� �������������� ��������� ������
��������� ���������������������[��������[������������ ������ → #]� �������������������] � /@ ���
��������� ��� ������ ������ ��������� ���� �� �������� �� �������� ����� �� ������� ��� ������
���� �������� ���� ��� ���� ������� �� � ������ ������ �� ��� �������� ���� ��� ���� ���� � ������ ������ �� ��� ����������
��� ����� ����� ��������� ������� ���� �������� ��� ��������� ������������� ����� ��� ����� ��� ���� ������ ������� �� ������� ��� ������ �
��� ������� ������ ������� ��������� ��������� ��� �������� ���� ���� ��� ������� ����� � �������-������ ����������� ��� �������� ������� ����� ��� ��
������ ���� � ������ ����������� ����� �� ������� ������ ������������� ��� �����-����� ������������� ������� �� ������� �� � ��� �� ������ ������������� ����������
��� ������� ��������� ��������� ������ ��� ����� �� � ��� ������� �� ��������� ���
������� ��������� �� ��� ������� ������ �� ��� �������� ����� �� ����� ��� ��������� ����� ������� ��� ���-������� �����������
��� �������� ���������� ��������� ������ ����� ������������� ���� �������� ���������
�� ������ ������������ �� ��������� �� �� ���� ������ ���-������ ������ ������� ����������� �� �������-������� ����������
��������� ��������� ��������� �� ������ ��� ���� ������ �� �����������
4 ��� Histogram.MACHINE.19.OK.work.YES2.work.nb
��������� ��� = {}�
��[��������[���� ����������� = �������[{�[[�]][[#]] → ���� ������ �[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
������������ = �������[{�[[�]][[#]] → ���� ������ �[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
������������ = �������[{��[[�]][[#]] → ���� ������ ��[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
�� = ��������[#� ������ → ���[[��]]] � /@ {������������ ������������� ������������}�
�� = {��[[�]][����� ���������������]� ��[[�]][������� ���������������]� ��[[�]][�������� ���������������]}�
��� = ��[[#]][[�]] � /@ �����[�� {�� �� ����������[��][[�]]� �}]�
��� = ��[[#]][[�]] � /@ �����[�� {�� �� ����������[��][[�]]� �}]�
���� = ���[[�]] ���[[�]] ���[[�]]�
���� = ���[[�]] ���[[�]] ���[[�]]�
���� = ��[���� ⩵ �� �� ��[���� ⩵ �� �� ���[{����� ����}]]]�
{���[[��]]� �[����� �]� �[����� �]}]� {��� {�� �� �� �� �}}]� ���
��������� {{������������� ��������� ���������}� {����������� ��������� ����������}�
{��������������������� ��������� �����������}� {����������������� ��������� ����������}� {������������������� ������ �����}}
��������� ����@����[�������[���� {��������� ������������ ��� ������ ������������ ��� ����������}]�
���������� → {����� {�������[������� ��]� {������ �������[�����[{����� �����}]� ��]}}}� �������� →
{{������[����� ��]� {�������[����� ��]}� ������[����� ��]}� {������[����� ��]� ������[����� ��]� {�����}� ������[����� ��]}}�
��������� → {{����� ������� ������}}� �������� → {{��� ��� ��}}� ����� → ������[����� ��]�
��������� → ��� �������� → {���������� ��}]
���������
������ �����������
��� ����
����������� ���
���������
������������ �������� ���������
���������� �������� ����������
�������������������� �������� �����������
���������������� �������� ����������
������������������ ����� �����
��������� �������� �� ���������� ������� ��������� �������
��������� {���������������[����������� = �������[{�[[�]][[#]] → ���� ������ �[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
������������ = �������[{�[[�]][[#]] → ���� ������ �[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
������������ = �������[{��[[�]][[#]] → ���� ������ ��[[�]][[#]] → ���� ����������} � /@ �����[�� {�� �� ��� �}]]�
� = ��������[#� ������ → ���[[�]]] � /@ {������������ ������������� ������������}�
� = {�[[�]][����� ���������������]� �[[�]][������� ���������������]� �[[�]][�������� ���������������]}�
�� = �[[#]][[�]] � /@ �����[�� {�� �� ����������[�][[�]]� �}]�
�� = �[[#]][[�]] � /@ �����[�� {�� �� ����������[�][[�]]� �}]�
��� = ��[[�]] ��[[�]] ��[[�]]�
��� = ��[[�]] ��[[�]] ��[[�]]�
��� = ��[��� ⩵ �� �� ��[��� ⩵ �� �� ���[{���� ���}]]]� {�� �}�
����������� → {{�� ��}� {��� ��}� {��� �}}� ��������������� → {���� ������� �����}� ���������� → ����
������������ → ������[���������� �������]� ��������� → ������� ����������� -> {�����������
�������}]� ���� ��[��� > ���� ���� ������ ���� ����������]}
��������� 0 0.2 0.4 0.6 0.8 1.0
��������
����
� ��������� ��� ����
��������� �� ���������� �������� �� ���������� ���� �������� ���� ��� ��������� ������
��������� ��������� ��� �� ������� �� �������� �������� �� ��� ������
��������� �� ����� �� ������� ������� ���������� ������� ������� ������� ���� �� % ���������
��� ��� ���� �������
Histogram.MACHINE.19.OK.work.YES2.work.nb ���5
��������� ��������[�� = {� → �� � → �� � → �� � → �� � → �� � → �� � → �� � → �� � → ��� � → ���
� → ��� � → ��� � → ��� � → ��� � → ��� � → ��� � → ��� � → ��� �� → ��� �� → ��� �� → ��� �� → ��} /�
{� → ������������ � → ����� � → ����� � → �� < ���� < �� ���� � → ����� ����� ���� � → �� < ���� < �� ����
� → ����� ����� ���� � → ��� < ������ < �� ���� � → ������ ������ ���� �� → ��� < ������ < �� ���� �� → ������ ������ ����
�� → ��� < ������ < �� ���� �� → ������ ������ ���� �� → ��� < ������ < �� ���� �� → ������ ������ ����
�� → ��� < ������� < �� ���� �� → �������� ����� ���� �� → ��� < ������� < �� ���� �� → �������� ����� ���}�
��������������������� → ({����������[����]� �����[#�� ����]} �)� �������������� → ����� ��������� → ���]
���������
APARTMENT
NY SF
9 < AREA < 21 NY AREA OTHER NY 9 < AREA < 21 SF AREA OTHER SF
54 < HEIGHT < 66 NY OTHER HEIGHT NY 30 < HEIGHT < 50 SF OTHER HEIGHT SF
11 < MILLION < 23 NY MILLION OTHER NY 11 < MILLION < 23 SF MILLION OTHER SF
�����������[��� < ��� ��������� = ���� = �� ��������� = ���� = �]�
��������� �� = �����[�[[�]]� �_ /� ���� - ���� < � < ���� + ����] + �����[�[[�]]� �_ /� ���� - ���� < � < ���� + ����]�
��������� ��� = �����[�[[�]]� �_ /� ������ - ���� < � < ������ + ����] + �����[�[[�]]� �_ /� ������ - ���� < � < ������ + ����]�
��������� ��� = �����[��[[�]]� �_ /� ������� - ���� < � < ������� + ����] + �����[��[[�]]� �_ /� ������� - ���� < � < ������� + ����]�
��������� ��� = {���� ����=�� �[�����[�[[�]]� �_ /� ���� - ���� < � < ���� + ����] / ��]�
���� ���������=�� �[�����[�[[�]]� �_ /� ���� - ���� < � < ���� + ����] / ��]}
��������� {��� ����=� ��� ��� ���������=� ��}
��������� ���� = {���� ����=�� �[�����[�[[�]]� �_ /� ������ - ���� < � < ������ + ����] / ���]�
���� ���������=�� �[�����[�[[�]]� �_ /� ������ - ���� < � < ������ + ����] / ���]}
��������� {��� ����=� ��� ��� ���������=� ��}
��������� ���� = {���� ����=�� �[�����[��[[�]]� �_ /� ������� - ���� < � < ������� + ����] / ���]�
���� ���������=�� �[�����[��[[�]]� �_ /� ������� - ���� < � < ������� + ����] / ���]}
��������� {��� ����=� ��������� ��� ���������=� ��������}
��������� ��� = ���[[�]] ����[[�]] ����[[�]]
��������� ��������
��������� �������� �� ���������� �������� ���� ���� ����������
��������� {���������������[���� {�� �}� ����������� → {{�� ��}� {��� ��}� {��� �}}� ��������������� → {���� ������� �����}�
���������� → ���� ������������ → ������[���������� �������]� ��������� → ������� ����������� -> {�����������
�������}]� ���� ��[��� > ���� ���� ������ ���� ����������]}
��������� 0 0.2 0.4 0.6 0.8 1.0
��������
����
� ��������� ��� ����
��������� ��� = ���[[�]] ����[[�]] ����[[�]]
��������� ��
6 ��� Histogram.MACHINE.19.OK.work.YES2.work.nb
��������� �� = ��[��� ⩵ �� �� ��[��� ⩵ �� �� ���[{���� ���}]]]
��������� �
��������� ����������� � ��������� ����� �� ����
�������� ��� ����� ���� ��� ��������� ������������� ��� �����
��������� {���������������[��� {�� �}� ����������� → {{�� ��}� {��� ��}� {��� �}}� ��������������� → {���� ������� �����}�
���������� → ���� ������������ → ������[���������� �������]� ��������� → ������� ����������� -> {�����������
�������}]� ��� ��[��� > ���� ���� ������ ���� ����������]}
��������� 0 0.2 0.4 0.6 0.8 1.0
��������
����
� �� ��� ����
��������� �������� �� �������� �� ���������� ���������
��������� {��������[{���� ���� ��}� ��������� → ��������� �� ������������� ���������� → �����
����������� → {������[{������ �� ����������� ��������� ���� + ����������� �����������}� �����]}�
���������������� → (������[#� �����] �)� ��������� → ���]� ��[��� > ���� ���� ������ ���� ����������]}
���������
BUILT IN ALGORITHM
0.538411
DECISION TREE + THRESHOLD
0.722222
CONDITION
1
0.0
0.2
0.4
0.6
0.8
1.0
ACCURACY OF PREDICTIONS
� ��� ����
��������� �������� ������������
��������� {�������������[���� {�� �}� ����������� -> ������[�������� �����]� ������������ → ���������
��������������� → ������ ����������� → {{��� �} → ������ {��� ��} → ������� {�� ��} → ���}]�
�������������[��� {�� �}� ����������� -> ������[�������� �����]� ������������ → ���������
��������������� → ������ ����������� → {{��� �} → ������ {��� ��} → ������� {�� ��} → ���}]}
���������
0
0.2
0.4
0.6
0.8
1.0
���� �
0
0.2
0.4
0.6
0.8
1.0
����
Histogram.MACHINE.19.OK.work.YES2.work.nb ���7