├── README.md
├── ml01
├── 1.jpg
├── 2.jpg
├── 3.jpg
├── 4.jpg
├── 5.jpg
├── 6.jpg
├── 7.jpg
├── README.md
├── house-votes-84.csv
├── house-votes-84.data
├── house-votes-84.names
└── ml01.ipynb
├── ml02
├── 1.png
├── 2.png
├── README.md
├── accuracy.png
├── dec_tree.png
├── f1score.png
├── ml02.ipynb
├── precision.png
├── recall.png
└── winequality-red.csv
├── ml03
├── .ipynb_checkpoints
│ └── ml03-checkpoint.ipynb
├── README.md
├── boston_data.csv
├── boston_test_data.csv
├── features.png
├── lasso.png
├── ml03.ipynb
└── ridge.png
├── ml04
├── README.md
├── ml04.ipynb
└── winequality-red.csv
├── ml05
├── README.md
├── customer_churn.csv
└── ml05.ipynb
├── ml06
├── Ekran Resmi 2024-05-23 22.26.22.png
├── README.md
├── ml06.ipynb
├── mse.png
├── ortalama.png
├── saflik_azalma.png
└── temp.txt
├── py01
├── README.md
├── file1.jpg
├── file1.py
├── file2.jpg
├── file2.py
├── py01.ipynb
└── python-if-name-main.png
├── py02
├── .ipynb_checkpoints
│ └── Untitled-checkpoint.ipynb
├── README.md
└── Untitled.ipynb
├── py03
├── .DS_Store
├── .ipynb_checkpoints
│ └── Py #3 - Print vs Logging-checkpoint.ipynb
├── Py #3 - Print vs Logging.ipynb
├── __pycache__
│ └── logging.cpython-39.pyc
├── file_output.png
├── logfile.txt
├── logging_example.py
├── logging_file_example.py
└── print.py
└── py04
├── README.md
└── py4.ipynb
/README.md:
--------------------------------------------------------------------------------
1 | # notebooks
2 | Medium yazı dizilerine ait notebook'larımı burada bulabilirsiniz. Medium hesabım için https://medium.com/@gokerguner
3 |
4 |
--------------------------------------------------------------------------------
/ml01/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/1.jpg
--------------------------------------------------------------------------------
/ml01/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/2.jpg
--------------------------------------------------------------------------------
/ml01/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/3.jpg
--------------------------------------------------------------------------------
/ml01/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/4.jpg
--------------------------------------------------------------------------------
/ml01/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/5.jpg
--------------------------------------------------------------------------------
/ml01/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/6.jpg
--------------------------------------------------------------------------------
/ml01/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml01/7.jpg
--------------------------------------------------------------------------------
/ml01/README.md:
--------------------------------------------------------------------------------
1 | ### Machine Learning #1 - Supervised Learning, EDA, Cross-Validation
2 | Machine Learning yazılarımın ilkinde;
3 | - Supervised Learning konusuna bir giriş yapıyoruz.
4 | - Keşifsel Veri Analizi(Exploratory Data Analysis-EDA) kavramına değiniyoruz.
5 | - scikit-learn metodlarını kullanarak kNN algoritmasının performansını bir veri seti üzerinde görüyoruz.
6 | - Modelin başarımını artırmak için kullanabileceğimiz cross-validation yöntemiyle ilgili bilgi verip, yine Python dilinde bir Grid Search cross-validation
7 | implementasyonu yaparak bu bölümü noktalıyoruz.
8 |
9 | TR: https://gokerguner.medium.com/machine-learning-1-7d4581caa291
10 |
11 | EN: https://gokerguner.medium.com/machine-learning-1-432f458ddc51
12 |
--------------------------------------------------------------------------------
/ml01/house-votes-84.csv:
--------------------------------------------------------------------------------
1 | republican,n,y,n,y,y,y,n,n,n,y,?,y,y,y,n,y
2 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,?
3 | democrat,?,y,y,?,y,y,n,n,n,n,y,n,y,y,n,n
4 | democrat,n,y,y,n,?,y,n,n,n,n,y,n,y,n,n,y
5 | democrat,y,y,y,n,y,y,n,n,n,n,y,?,y,y,y,y
6 | democrat,n,y,y,n,y,y,n,n,n,n,n,n,y,y,y,y
7 | democrat,n,y,n,y,y,y,n,n,n,n,n,n,?,y,y,y
8 | republican,n,y,n,y,y,y,n,n,n,n,n,n,y,y,?,y
9 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
10 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,?,?
11 | republican,n,y,n,y,y,n,n,n,n,n,?,?,y,y,n,n
12 | republican,n,y,n,y,y,y,n,n,n,n,y,?,y,y,?,?
13 | democrat,n,y,y,n,n,n,y,y,y,n,n,n,y,n,?,?
14 | democrat,y,y,y,n,n,y,y,y,?,y,y,?,n,n,y,?
15 | republican,n,y,n,y,y,y,n,n,n,n,n,y,?,?,n,?
16 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,?,n,?
17 | democrat,y,n,y,n,n,y,n,y,?,y,y,y,?,n,n,y
18 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,y,n,y,y
19 | republican,n,y,n,y,y,y,n,n,n,n,n,?,y,y,n,n
20 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
21 | democrat,y,y,y,n,n,?,y,y,n,n,y,n,n,n,y,y
22 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,?,?,y,y
23 | democrat,y,?,y,n,n,n,y,y,y,n,n,?,n,n,y,y
24 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
25 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
26 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
27 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
28 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
29 | republican,y,n,n,y,y,n,y,y,y,n,n,y,y,y,n,y
30 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
31 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
32 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,?
33 | democrat,y,y,y,n,n,n,y,y,y,y,n,n,y,n,y,y
34 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
35 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
36 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
37 | republican,y,?,n,y,y,y,n,n,n,y,n,y,?,y,n,y
38 | republican,y,y,n,y,y,y,n,n,n,n,n,n,y,y,n,y
39 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
40 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,y,n,y,y
41 | democrat,y,y,y,n,n,n,y,y,y,n,?,n,n,n,n,?
42 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,?
43 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y
44 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
45 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,?
46 | democrat,y,y,y,n,n,n,y,y,?,n,y,n,n,n,y,?
47 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y
48 | democrat,y,n,y,n,n,n,y,y,?,n,n,n,n,n,n,?
49 | democrat,y,y,y,n,n,n,y,y,n,n,n,n,n,y,n,y
50 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,n
51 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
52 | republican,n,y,n,y,y,y,n,?,n,n,n,y,y,y,n,y
53 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,?,?
54 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
55 | democrat,y,y,y,n,n,y,?,y,n,n,y,y,n,y,n,?
56 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,n
57 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,y
58 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
59 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
60 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,?
61 | democrat,y,y,y,n,n,?,y,y,y,y,n,n,n,n,y,?
62 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
63 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,?
64 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,y
65 | democrat,y,y,y,n,n,n,y,y,y,n,y,?,n,n,n,y
66 | republican,y,y,n,y,y,y,y,n,n,n,n,y,y,y,n,y
67 | republican,n,y,n,y,y,y,y,n,n,n,y,y,y,y,n,y
68 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
69 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,y,n,y,y
70 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
71 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,y,n,y,?
72 | republican,y,y,y,y,n,n,y,y,y,y,y,n,n,y,n,y
73 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,?
74 | republican,y,n,y,y,y,n,y,n,y,y,n,n,y,y,n,y
75 | democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,y,y,y
76 | democrat,n,y,y,y,y,y,n,n,n,y,y,n,y,y,n,n
77 | democrat,n,y,y,n,y,y,n,n,n,y,y,y,y,y,n,?
78 | democrat,n,y,y,y,y,y,n,y,y,y,y,y,y,y,n,y
79 | democrat,y,y,y,n,y,y,n,n,n,y,y,n,y,y,n,y
80 | republican,n,n,n,y,y,n,n,n,n,y,n,y,y,y,n,n
81 | democrat,y,n,y,n,n,y,y,y,y,y,n,y,n,y,n,?
82 | democrat,y,n,y,n,n,n,y,y,?,y,y,y,n,y,n,y
83 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
84 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
85 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,n
86 | democrat,n,n,y,n,y,y,n,n,n,y,y,y,y,y,n,y
87 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
88 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
89 | democrat,n,y,y,n,y,y,y,n,y,y,y,n,y,y,n,y
90 | republican,n,n,n,y,y,y,n,n,n,y,n,?,y,y,n,?
91 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
92 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
93 | democrat,y,y,y,n,n,n,y,y,n,y,y,n,n,?,y,y
94 | democrat,y,n,y,n,n,n,y,n,y,y,y,n,n,n,y,y
95 | democrat,y,n,y,n,y,y,n,n,n,n,n,n,n,n,n,y
96 | democrat,y,n,y,n,y,y,n,?,?,n,y,?,?,?,y,y
97 | democrat,n,n,?,n,y,y,n,n,n,n,y,y,y,y,n,y
98 | democrat,y,n,n,n,y,y,y,n,n,y,y,n,n,y,n,y
99 | democrat,y,y,y,n,n,y,y,y,y,y,n,n,n,n,n,y
100 | republican,n,n,n,y,y,y,n,n,n,y,?,y,y,y,n,n
101 | democrat,y,n,n,n,y,y,n,n,n,n,y,y,n,y,n,y
102 | democrat,y,n,y,n,y,y,y,n,n,n,y,n,n,y,n,y
103 | democrat,y,n,y,n,y,y,y,n,?,n,y,n,y,y,y,?
104 | democrat,y,n,n,n,y,y,?,n,?,n,n,n,n,y,?,n
105 | democrat,?,?,?,?,n,y,y,y,y,y,?,n,y,y,n,?
106 | democrat,y,y,y,n,n,n,n,y,y,n,y,n,n,n,y,y
107 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
108 | republican,n,?,?,?,?,?,?,?,?,?,?,?,?,y,?,?
109 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
110 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
111 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
112 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
113 | democrat,n,?,y,n,n,y,y,y,n,y,n,n,n,n,y,?
114 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,n
115 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
116 | democrat,n,?,y,n,?,?,y,y,y,y,?,?,n,n,y,y
117 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
118 | republican,y,y,y,y,y,n,y,n,n,n,n,y,y,y,n,y
119 | democrat,n,y,y,n,n,n,n,y,y,y,y,n,n,n,y,y
120 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
121 | republican,n,?,?,y,y,y,n,n,n,y,n,y,y,y,?,y
122 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
123 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
124 | republican,y,?,n,y,y,y,n,y,n,n,n,y,y,y,n,y
125 | democrat,n,?,y,n,n,n,y,y,y,n,n,n,n,n,y,y
126 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
127 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,n
128 | democrat,n,?,y,n,n,n,y,y,y,y,y,n,n,y,y,y
129 | democrat,n,?,y,n,n,y,n,y,n,y,y,n,n,n,y,y
130 | democrat,?,?,y,n,n,n,y,y,?,n,?,?,?,?,?,?
131 | democrat,y,?,y,n,?,?,y,y,y,n,n,n,n,n,y,?
132 | democrat,n,n,y,n,n,y,n,y,y,y,n,n,n,y,n,y
133 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,?
134 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
135 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,?
136 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
137 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,n,n,y
138 | democrat,n,?,y,n,n,y,y,y,y,y,n,n,n,y,y,y
139 | democrat,n,n,y,n,n,y,y,y,y,y,n,n,n,y,n,y
140 | democrat,y,n,y,n,n,y,y,y,y,n,n,n,n,n,y,y
141 | republican,n,n,n,y,n,n,y,y,y,y,n,n,y,y,n,y
142 | republican,n,n,n,y,y,y,y,y,y,y,n,y,y,y,?,y
143 | republican,n,n,n,y,y,y,y,y,y,y,n,y,y,y,n,y
144 | democrat,?,y,n,n,n,n,y,y,y,y,y,n,n,y,y,y
145 | democrat,n,?,n,n,n,y,y,y,y,y,n,n,n,y,n,?
146 | democrat,n,n,y,n,n,y,y,y,y,y,n,n,n,y,?,y
147 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
148 | democrat,n,n,n,n,n,n,y,y,y,y,n,y,y,y,y,y
149 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,y
150 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,y,n,y,y
151 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
152 | democrat,y,y,?,y,y,y,n,n,y,n,y,?,y,y,n,n
153 | democrat,n,y,y,n,n,y,n,y,y,y,y,n,y,n,y,y
154 | democrat,n,n,y,n,n,y,y,y,y,y,y,n,y,y,n,y
155 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
156 | republican,y,y,n,y,y,y,n,?,n,n,y,y,y,y,n,n
157 | republican,y,y,n,y,y,y,y,n,n,n,n,y,y,y,n,n
158 | democrat,n,y,y,n,n,y,n,y,y,n,y,n,?,?,?,?
159 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
160 | democrat,n,y,y,n,?,y,y,y,y,y,y,n,n,?,n,?
161 | democrat,n,y,n,n,y,y,n,n,n,n,n,y,y,y,y,y
162 | democrat,n,n,n,n,y,y,y,n,n,n,n,y,y,y,n,y
163 | democrat,n,y,y,n,y,y,y,n,n,n,y,y,y,y,n,y
164 | republican,n,y,n,y,y,y,y,n,n,n,n,y,y,y,n,y
165 | democrat,y,y,n,n,y,y,n,n,n,y,y,y,y,y,n,?
166 | democrat,n,y,y,n,n,y,y,y,y,y,y,n,y,n,y,?
167 | republican,y,n,y,y,y,y,y,y,n,y,n,y,n,y,y,y
168 | republican,y,n,y,y,y,y,y,y,n,y,y,y,n,y,y,y
169 | democrat,n,n,y,y,y,y,n,n,y,n,n,n,y,y,y,?
170 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,y,n,y
171 | democrat,y,n,y,n,n,n,?,y,y,?,n,n,n,n,y,?
172 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
173 | democrat,n,y,y,n,n,n,y,y,y,y,n,n,?,n,y,y
174 | democrat,n,n,n,n,y,y,n,n,n,y,y,y,y,y,n,y
175 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
176 | democrat,n,y,y,n,n,n,y,y,y,y,n,n,n,n,y,y
177 | republican,n,n,y,y,n,n,y,y,y,y,n,n,n,y,y,y
178 | democrat,n,n,y,n,n,n,y,y,y,y,y,?,n,n,y,y
179 | democrat,?,n,y,n,n,n,y,y,y,y,y,?,n,n,y,?
180 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
181 | democrat,?,?,y,n,n,n,y,y,y,?,?,n,n,n,?,?
182 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
183 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,y
184 | democrat,?,?,?,?,?,?,?,?,y,?,?,?,?,?,?,?
185 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
186 | democrat,y,n,y,n,n,n,y,y,y,y,n,?,n,n,y,y
187 | democrat,n,y,y,n,n,n,y,y,y,y,y,n,n,n,y,y
188 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
189 | republican,y,?,n,y,y,y,y,y,n,n,n,y,?,y,?,?
190 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
191 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,?
192 | republican,n,y,n,y,y,y,n,?,n,y,n,y,y,y,n,?
193 | democrat,n,n,n,n,n,y,y,y,y,n,y,n,n,y,y,y
194 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
195 | democrat,n,n,y,n,n,y,y,?,y,y,y,n,n,n,y,y
196 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,?
197 | democrat,n,n,y,n,n,y,y,y,y,n,y,y,n,y,y,?
198 | republican,n,?,y,y,y,y,n,n,n,y,n,n,n,y,n,y
199 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,?,n,y,?
200 | democrat,y,y,n,n,n,n,y,y,?,n,y,n,n,n,y,?
201 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,y,y,y
202 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
203 | democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,n,y,y
204 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
205 | republican,n,n,y,y,y,y,y,n,n,n,n,y,y,y,n,y
206 | democrat,n,n,y,n,n,y,y,y,y,y,n,y,n,n,n,y
207 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
208 | republican,y,?,n,y,y,y,y,n,n,y,n,y,y,y,n,y
209 | democrat,n,n,y,n,n,n,y,y,y,n,n,?,n,n,y,y
210 | democrat,y,y,y,n,n,n,y,y,y,y,y,n,n,n,n,y
211 | democrat,n,n,y,n,n,y,y,y,y,n,n,n,n,n,y,y
212 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
213 | democrat,n,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
214 | democrat,n,y,y,n,n,y,n,y,y,n,y,n,y,n,y,y
215 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
216 | democrat,n,y,y,y,y,y,n,n,n,y,y,y,y,y,y,?
217 | democrat,y,y,y,n,y,y,n,n,?,y,n,n,n,y,y,?
218 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
219 | democrat,y,?,y,n,n,n,y,y,y,n,?,n,n,n,y,?
220 | democrat,n,y,y,n,n,n,n,y,y,n,y,n,n,y,y,y
221 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
222 | democrat,n,y,y,n,y,y,n,n,n,n,y,n,n,n,y,?
223 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,?
224 | republican,n,n,n,y,y,n,n,n,n,n,n,y,y,y,n,y
225 | republican,n,y,n,y,y,y,n,n,n,y,n,?,y,y,n,n
226 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,y
227 | democrat,n,n,y,n,n,y,y,y,y,n,y,n,n,y,y,y
228 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,?,y
229 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,?,n,y
230 | republican,n,y,y,y,y,y,y,n,y,y,n,y,y,y,n,y
231 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
232 | republican,n,y,n,y,y,y,n,n,y,y,n,y,y,y,n,y
233 | democrat,n,y,y,n,n,n,y,y,n,n,y,n,n,n,y,?
234 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
235 | democrat,n,n,y,n,n,y,y,y,y,y,n,y,n,y,y,?
236 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
237 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
238 | democrat,y,n,y,n,n,y,y,y,n,n,n,y,y,n,n,y
239 | democrat,y,y,y,n,n,n,y,y,?,y,n,n,n,n,y,?
240 | republican,n,n,n,y,y,y,y,n,n,y,n,n,n,y,y,y
241 | republican,n,n,n,y,n,y,y,?,y,n,n,y,y,y,n,y
242 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,y,y,y
243 | republican,n,n,n,n,y,y,y,n,n,n,n,?,n,y,y,y
244 | democrat,n,y,y,n,n,n,y,y,?,y,n,n,y,n,y,y
245 | democrat,y,n,y,n,n,n,n,y,y,y,n,n,n,n,y,y
246 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
247 | democrat,n,n,y,n,y,n,y,y,y,n,n,n,n,y,?,y
248 | republican,n,y,n,y,y,y,?,n,n,n,n,?,y,y,n,n
249 | republican,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
250 | democrat,y,n,y,n,n,n,y,y,?,n,y,n,n,n,y,y
251 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
252 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
253 | democrat,y,y,y,n,n,y,y,y,y,n,n,n,n,n,y,y
254 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
255 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
256 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,y,y,y
257 | republican,n,n,n,y,y,n,n,n,n,n,n,y,n,y,n,n
258 | republican,n,n,n,y,y,n,n,n,n,n,n,y,n,y,?,y
259 | democrat,n,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
260 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y
261 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
262 | democrat,y,n,y,n,n,?,y,y,y,n,?,?,n,?,?,?
263 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,?,n,y,y
264 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
265 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
266 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
267 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
268 | republican,y,n,n,n,n,n,y,y,y,y,n,n,n,y,n,y
269 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
270 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y
271 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
272 | democrat,n,y,y,n,n,y,y,y,y,n,?,n,n,n,n,y
273 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,?
274 | republican,n,n,n,y,y,n,y,y,n,y,n,y,y,y,?,y
275 | republican,y,n,n,y,y,n,y,n,n,y,n,n,n,y,y,y
276 | democrat,n,n,y,n,y,y,n,n,n,n,?,n,y,y,n,n
277 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,y,n
278 | republican,n,n,y,y,y,y,y,y,n,y,n,n,n,y,n,y
279 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
280 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
281 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,y,n,y
282 | republican,y,n,y,y,y,y,y,y,n,n,n,n,n,y,n,?
283 | republican,y,n,n,y,y,y,n,n,n,y,n,?,y,y,n,n
284 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
285 | democrat,n,n,y,n,n,y,y,y,y,y,y,n,n,n,?,y
286 | democrat,n,n,y,n,n,y,y,y,y,y,y,n,n,n,y,y
287 | democrat,n,n,y,n,n,y,?,y,?,y,y,y,n,y,y,?
288 | democrat,y,y,y,?,n,y,y,y,y,n,y,n,y,n,?,y
289 | democrat,y,y,y,n,y,y,n,y,n,y,y,n,y,y,y,y
290 | democrat,y,y,y,n,y,y,n,y,n,y,y,n,y,y,n,?
291 | democrat,y,n,y,n,?,y,?,y,y,y,n,n,y,y,n,y
292 | democrat,y,n,y,n,n,y,y,y,y,y,n,?,n,y,n,y
293 | democrat,y,n,y,n,n,y,y,y,n,y,y,n,y,y,y,y
294 | democrat,y,y,y,n,n,y,y,y,y,y,y,n,y,y,y,y
295 | democrat,n,y,y,n,n,y,y,y,n,y,y,n,y,y,n,?
296 | republican,n,y,n,y,y,y,?,?,n,y,n,y,?,?,?,?
297 | republican,n,n,y,y,y,y,n,n,n,y,n,y,y,y,y,y
298 | democrat,y,y,y,n,n,y,y,y,y,y,n,n,?,n,y,?
299 | democrat,n,y,n,n,n,n,y,y,y,y,y,n,n,n,y,y
300 | democrat,n,y,y,n,n,y,y,y,y,y,n,n,y,y,y,y
301 | republican,n,n,n,y,y,n,y,y,y,y,n,y,y,y,n,y
302 | democrat,n,n,?,n,n,y,y,y,y,n,n,n,n,n,y,y
303 | republican,n,n,n,y,y,y,y,n,n,y,n,y,y,y,n,y
304 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
305 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,?
306 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
307 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
308 | democrat,y,n,y,n,n,y,y,y,y,n,n,n,n,y,n,?
309 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
310 | democrat,y,n,n,n,n,y,y,y,y,y,n,n,n,y,y,y
311 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,y,n
312 | democrat,n,n,y,n,n,y,y,y,y,y,n,n,y,n,n,y
313 | democrat,y,y,y,n,n,n,y,y,y,y,n,n,n,n,y,y
314 | republican,n,y,y,y,y,y,n,n,n,y,n,y,y,y,n,y
315 | republican,n,y,n,y,y,y,y,y,n,n,y,y,y,y,y,y
316 | republican,n,y,y,y,y,y,y,?,n,n,n,n,?,?,y,?
317 | democrat,n,n,n,n,n,y,n,y,y,n,y,y,y,y,y,n
318 | democrat,y,n,n,n,n,n,y,y,y,y,n,n,n,n,y,y
319 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
320 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
321 | democrat,n,y,y,n,n,y,n,y,y,y,n,n,y,y,n,y
322 | democrat,y,y,y,n,n,n,y,y,y,y,n,n,y,n,n,y
323 | democrat,y,y,y,n,?,y,n,?,n,n,y,n,y,y,n,?
324 | democrat,y,y,y,n,y,y,n,y,?,y,n,n,y,y,n,?
325 | republican,n,y,n,y,y,y,n,n,n,n,y,y,y,y,n,n
326 | democrat,n,y,n,n,y,y,n,n,?,n,n,y,y,y,n,y
327 | democrat,y,y,n,y,n,n,y,y,y,n,y,n,n,y,n,y
328 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
329 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,y
330 | democrat,y,?,y,n,n,y,y,y,y,y,n,n,n,n,y,?
331 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
332 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
333 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,?
334 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
335 | democrat,n,y,y,n,n,y,y,y,?,n,y,y,n,n,y,y
336 | republican,n,n,n,y,y,y,n,n,n,y,y,y,y,y,n,?
337 | democrat,n,n,y,n,n,y,y,y,n,n,y,n,n,y,?,y
338 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
339 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,y,y,y
340 | republican,y,n,n,y,y,y,n,n,n,n,y,y,y,y,n,n
341 | republican,n,n,n,y,y,y,n,n,n,y,y,y,n,y,n,y
342 | democrat,n,?,y,?,n,y,y,y,y,y,y,n,?,?,y,y
343 | democrat,n,y,y,n,y,?,y,n,n,y,y,n,y,n,y,y
344 | republican,n,n,n,y,y,n,y,n,y,y,n,n,n,y,n,y
345 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
346 | republican,n,n,n,y,y,y,y,n,n,y,n,y,n,y,y,y
347 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
348 | republican,y,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
349 | democrat,y,n,y,n,n,n,y,y,y,y,n,y,n,n,y,?
350 | republican,n,y,y,y,y,y,y,y,y,n,n,y,y,y,n,y
351 | democrat,n,y,n,n,n,y,y,n,y,n,y,n,n,n,y,y
352 | republican,n,n,y,y,y,y,y,y,y,y,n,y,y,y,y,y
353 | democrat,n,y,n,y,n,y,y,y,y,n,y,n,y,n,y,?
354 | republican,n,n,y,y,y,y,y,n,n,y,y,y,y,y,n,y
355 | democrat,n,y,y,n,n,y,y,y,y,y,n,?,n,n,y,y
356 | republican,y,n,y,y,n,n,n,y,y,y,n,n,n,y,y,y
357 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
358 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
359 | democrat,y,y,y,n,n,y,y,y,y,y,y,y,y,y,n,?
360 | republican,n,n,n,y,y,y,n,n,n,y,?,y,y,y,n,y
361 | democrat,y,n,y,n,n,y,y,y,y,y,n,n,y,n,n,y
362 | democrat,y,n,y,n,y,y,y,n,y,y,n,n,y,y,n,?
363 | democrat,y,y,y,n,n,y,y,y,y,y,y,y,y,n,n,y
364 | republican,y,y,n,y,y,y,n,n,n,y,y,n,y,n,n,n
365 | republican,y,y,n,y,y,y,n,n,n,n,y,n,y,y,n,y
366 | democrat,n,y,n,n,y,y,n,n,n,y,y,n,y,y,n,n
367 | democrat,y,n,y,n,n,n,y,y,n,y,y,n,n,n,n,?
368 | democrat,y,y,y,n,y,y,y,y,n,y,y,n,n,n,y,?
369 | democrat,n,y,y,n,n,y,y,y,n,y,n,n,n,n,y,y
370 | republican,n,y,n,y,y,y,n,n,n,n,n,n,y,y,n,y
371 | democrat,y,y,y,n,?,y,y,y,n,y,?,?,n,n,y,y
372 | democrat,y,y,y,n,?,n,y,y,y,y,n,n,n,n,y,?
373 | democrat,n,y,y,y,y,y,n,n,n,n,y,y,?,y,n,n
374 | democrat,n,y,y,?,y,y,n,y,n,y,?,n,y,y,?,y
375 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
376 | democrat,n,y,n,y,y,y,n,n,n,n,y,y,n,y,n,n
377 | democrat,y,?,y,n,n,n,y,y,y,n,y,n,n,n,y,y
378 | republican,n,y,n,y,y,y,?,?,n,n,?,?,y,?,?,?
379 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
380 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
381 | democrat,y,y,y,n,n,y,?,y,y,n,y,n,y,n,y,y
382 | democrat,y,y,y,n,y,y,y,y,y,y,y,n,y,y,n,?
383 | democrat,y,y,n,y,y,y,n,n,n,n,y,n,y,y,n,?
384 | democrat,y,y,y,n,y,y,n,y,y,y,y,n,n,n,n,y
385 | democrat,y,y,y,y,y,y,n,n,n,n,y,y,y,y,n,y
386 | democrat,y,y,n,n,y,y,n,n,n,n,y,y,y,y,y,n
387 | democrat,n,?,y,n,y,y,n,y,n,n,y,n,n,n,n,?
388 | democrat,y,y,y,n,y,y,n,y,y,n,y,n,n,y,n,?
389 | democrat,n,y,y,y,y,y,n,n,n,n,n,y,y,y,n,?
390 | democrat,y,n,y,n,n,n,y,y,y,?,y,n,n,n,y,?
391 | democrat,?,?,n,n,?,y,?,n,n,n,y,y,n,y,n,?
392 | democrat,y,y,n,n,n,n,n,y,y,n,y,n,n,n,y,n
393 | republican,y,y,n,y,y,y,n,n,n,n,y,y,y,y,n,y
394 | republican,?,?,?,?,n,y,n,y,y,n,n,y,y,n,n,?
395 | democrat,y,y,?,?,?,y,n,n,n,n,y,n,y,n,n,y
396 | democrat,y,y,y,?,n,n,n,y,n,n,y,?,n,n,y,y
397 | democrat,y,y,y,n,y,y,n,y,n,n,y,n,y,n,y,y
398 | democrat,y,y,n,n,y,?,n,n,n,n,y,n,y,y,n,y
399 | democrat,n,y,y,n,y,y,n,y,n,n,n,n,n,n,n,y
400 | republican,n,y,n,y,?,y,n,n,n,y,n,y,y,y,n,n
401 | republican,n,y,n,y,y,y,n,?,n,n,?,?,?,y,n,?
402 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,n
403 | republican,?,n,y,y,n,y,y,y,y,y,n,y,n,y,n,y
404 | republican,n,y,n,y,y,y,n,n,n,y,n,y,?,y,n,n
405 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
406 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
407 | democrat,y,n,y,n,y,y,n,n,y,y,n,n,y,y,n,y
408 | democrat,n,n,n,y,y,y,n,n,n,n,y,y,y,y,n,n
409 | democrat,y,n,y,n,n,y,y,y,y,n,n,y,?,y,y,y
410 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
411 | republican,n,n,n,y,y,y,n,n,n,n,y,y,y,y,n,y
412 | democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,n,n,y
413 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
414 | republican,y,y,y,y,y,y,y,y,n,y,?,?,?,y,n,y
415 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y
416 | democrat,n,y,y,n,n,y,y,y,?,y,n,n,n,n,n,y
417 | republican,y,y,n,y,y,y,n,n,n,y,n,n,y,y,n,y
418 | democrat,y,y,y,n,n,n,y,y,y,y,y,n,y,n,n,y
419 | democrat,y,y,y,n,n,n,y,y,n,y,n,n,n,n,n,y
420 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y
421 | republican,y,y,y,y,y,y,y,y,n,y,n,n,y,y,n,y
422 | democrat,n,y,y,n,y,y,y,y,n,n,y,n,y,n,y,y
423 | democrat,n,n,y,n,n,y,y,y,y,n,y,n,n,n,y,y
424 | democrat,n,y,y,n,n,y,y,y,y,n,y,n,n,y,y,y
425 | democrat,n,y,y,n,n,?,y,y,y,y,y,n,?,y,y,y
426 | democrat,n,n,y,n,n,n,y,y,n,y,y,n,n,n,y,?
427 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
428 | republican,n,n,n,y,y,y,y,y,n,y,n,y,y,y,n,y
429 | democrat,?,?,?,n,n,n,y,y,y,y,n,n,y,n,y,y
430 | democrat,y,n,y,n,?,n,y,y,y,y,n,y,n,?,y,y
431 | republican,n,n,y,y,y,y,n,n,y,y,n,y,y,y,n,y
432 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
433 | republican,n,?,n,y,y,y,n,n,n,n,y,y,y,y,n,y
434 | republican,n,n,n,y,y,y,?,?,?,?,n,y,y,y,n,y
435 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,?,n
436 |
--------------------------------------------------------------------------------
/ml01/house-votes-84.data:
--------------------------------------------------------------------------------
1 | party,handicapped-infants,water-project-cost-sharing,adoption-of-the-budget-resolution,physician-fee-freeze,el-salvador-aid,religious-groups-in-schools,anti-satellite-test-ban,aid-to-nicaraguan-contras,mx-missile,immigration,synfuels-corporation-cutback,education-spending,superfund-right-to-sue,crime,duty-free-exports,export-administration-act-south-africa
2 | republican,n,y,n,y,y,y,n,n,n,y,?,y,y,y,n,y
3 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,?
4 | democrat,?,y,y,?,y,y,n,n,n,n,y,n,y,y,n,n
5 | democrat,n,y,y,n,?,y,n,n,n,n,y,n,y,n,n,y
6 | democrat,y,y,y,n,y,y,n,n,n,n,y,?,y,y,y,y
7 | democrat,n,y,y,n,y,y,n,n,n,n,n,n,y,y,y,y
8 | democrat,n,y,n,y,y,y,n,n,n,n,n,n,?,y,y,y
9 | republican,n,y,n,y,y,y,n,n,n,n,n,n,y,y,?,y
10 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
11 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,?,?
12 | republican,n,y,n,y,y,n,n,n,n,n,?,?,y,y,n,n
13 | republican,n,y,n,y,y,y,n,n,n,n,y,?,y,y,?,?
14 | democrat,n,y,y,n,n,n,y,y,y,n,n,n,y,n,?,?
15 | democrat,y,y,y,n,n,y,y,y,?,y,y,?,n,n,y,?
16 | republican,n,y,n,y,y,y,n,n,n,n,n,y,?,?,n,?
17 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,?,n,?
18 | democrat,y,n,y,n,n,y,n,y,?,y,y,y,?,n,n,y
19 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,y,n,y,y
20 | republican,n,y,n,y,y,y,n,n,n,n,n,?,y,y,n,n
21 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
22 | democrat,y,y,y,n,n,?,y,y,n,n,y,n,n,n,y,y
23 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,?,?,y,y
24 | democrat,y,?,y,n,n,n,y,y,y,n,n,?,n,n,y,y
25 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
26 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
27 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
28 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
29 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
30 | republican,y,n,n,y,y,n,y,y,y,n,n,y,y,y,n,y
31 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
32 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
33 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,?
34 | democrat,y,y,y,n,n,n,y,y,y,y,n,n,y,n,y,y
35 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
36 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
37 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
38 | republican,y,?,n,y,y,y,n,n,n,y,n,y,?,y,n,y
39 | republican,y,y,n,y,y,y,n,n,n,n,n,n,y,y,n,y
40 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
41 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,y,n,y,y
42 | democrat,y,y,y,n,n,n,y,y,y,n,?,n,n,n,n,?
43 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,?
44 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y
45 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
46 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,?
47 | democrat,y,y,y,n,n,n,y,y,?,n,y,n,n,n,y,?
48 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y
49 | democrat,y,n,y,n,n,n,y,y,?,n,n,n,n,n,n,?
50 | democrat,y,y,y,n,n,n,y,y,n,n,n,n,n,y,n,y
51 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,n
52 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y
53 | republican,n,y,n,y,y,y,n,?,n,n,n,y,y,y,n,y
54 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,?,?
55 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
56 | democrat,y,y,y,n,n,y,?,y,n,n,y,y,n,y,n,?
57 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,n
58 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,y
59 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
60 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
61 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,?
62 | democrat,y,y,y,n,n,?,y,y,y,y,n,n,n,n,y,?
63 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
64 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,?
65 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,y
66 | democrat,y,y,y,n,n,n,y,y,y,n,y,?,n,n,n,y
67 | republican,y,y,n,y,y,y,y,n,n,n,n,y,y,y,n,y
68 | republican,n,y,n,y,y,y,y,n,n,n,y,y,y,y,n,y
69 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
70 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,y,n,y,y
71 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
72 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,y,n,y,?
73 | republican,y,y,y,y,n,n,y,y,y,y,y,n,n,y,n,y
74 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,?
75 | republican,y,n,y,y,y,n,y,n,y,y,n,n,y,y,n,y
76 | democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,y,y,y
77 | democrat,n,y,y,y,y,y,n,n,n,y,y,n,y,y,n,n
78 | democrat,n,y,y,n,y,y,n,n,n,y,y,y,y,y,n,?
79 | democrat,n,y,y,y,y,y,n,y,y,y,y,y,y,y,n,y
80 | democrat,y,y,y,n,y,y,n,n,n,y,y,n,y,y,n,y
81 | republican,n,n,n,y,y,n,n,n,n,y,n,y,y,y,n,n
82 | democrat,y,n,y,n,n,y,y,y,y,y,n,y,n,y,n,?
83 | democrat,y,n,y,n,n,n,y,y,?,y,y,y,n,y,n,y
84 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
85 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
86 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,n
87 | democrat,n,n,y,n,y,y,n,n,n,y,y,y,y,y,n,y
88 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
89 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
90 | democrat,n,y,y,n,y,y,y,n,y,y,y,n,y,y,n,y
91 | republican,n,n,n,y,y,y,n,n,n,y,n,?,y,y,n,?
92 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
93 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
94 | democrat,y,y,y,n,n,n,y,y,n,y,y,n,n,?,y,y
95 | democrat,y,n,y,n,n,n,y,n,y,y,y,n,n,n,y,y
96 | democrat,y,n,y,n,y,y,n,n,n,n,n,n,n,n,n,y
97 | democrat,y,n,y,n,y,y,n,?,?,n,y,?,?,?,y,y
98 | democrat,n,n,?,n,y,y,n,n,n,n,y,y,y,y,n,y
99 | democrat,y,n,n,n,y,y,y,n,n,y,y,n,n,y,n,y
100 | democrat,y,y,y,n,n,y,y,y,y,y,n,n,n,n,n,y
101 | republican,n,n,n,y,y,y,n,n,n,y,?,y,y,y,n,n
102 | democrat,y,n,n,n,y,y,n,n,n,n,y,y,n,y,n,y
103 | democrat,y,n,y,n,y,y,y,n,n,n,y,n,n,y,n,y
104 | democrat,y,n,y,n,y,y,y,n,?,n,y,n,y,y,y,?
105 | democrat,y,n,n,n,y,y,?,n,?,n,n,n,n,y,?,n
106 | democrat,?,?,?,?,n,y,y,y,y,y,?,n,y,y,n,?
107 | democrat,y,y,y,n,n,n,n,y,y,n,y,n,n,n,y,y
108 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
109 | republican,n,?,?,?,?,?,?,?,?,?,?,?,?,y,?,?
110 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
111 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
112 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
113 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
114 | democrat,n,?,y,n,n,y,y,y,n,y,n,n,n,n,y,?
115 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,n
116 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
117 | democrat,n,?,y,n,?,?,y,y,y,y,?,?,n,n,y,y
118 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
119 | republican,y,y,y,y,y,n,y,n,n,n,n,y,y,y,n,y
120 | democrat,n,y,y,n,n,n,n,y,y,y,y,n,n,n,y,y
121 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
122 | republican,n,?,?,y,y,y,n,n,n,y,n,y,y,y,?,y
123 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
124 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
125 | republican,y,?,n,y,y,y,n,y,n,n,n,y,y,y,n,y
126 | democrat,n,?,y,n,n,n,y,y,y,n,n,n,n,n,y,y
127 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
128 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,n
129 | democrat,n,?,y,n,n,n,y,y,y,y,y,n,n,y,y,y
130 | democrat,n,?,y,n,n,y,n,y,n,y,y,n,n,n,y,y
131 | democrat,?,?,y,n,n,n,y,y,?,n,?,?,?,?,?,?
132 | democrat,y,?,y,n,?,?,y,y,y,n,n,n,n,n,y,?
133 | democrat,n,n,y,n,n,y,n,y,y,y,n,n,n,y,n,y
134 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,?
135 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
136 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,?
137 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
138 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,n,n,y
139 | democrat,n,?,y,n,n,y,y,y,y,y,n,n,n,y,y,y
140 | democrat,n,n,y,n,n,y,y,y,y,y,n,n,n,y,n,y
141 | democrat,y,n,y,n,n,y,y,y,y,n,n,n,n,n,y,y
142 | republican,n,n,n,y,n,n,y,y,y,y,n,n,y,y,n,y
143 | republican,n,n,n,y,y,y,y,y,y,y,n,y,y,y,?,y
144 | republican,n,n,n,y,y,y,y,y,y,y,n,y,y,y,n,y
145 | democrat,?,y,n,n,n,n,y,y,y,y,y,n,n,y,y,y
146 | democrat,n,?,n,n,n,y,y,y,y,y,n,n,n,y,n,?
147 | democrat,n,n,y,n,n,y,y,y,y,y,n,n,n,y,?,y
148 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
149 | democrat,n,n,n,n,n,n,y,y,y,y,n,y,y,y,y,y
150 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,y
151 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,y,n,y,y
152 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
153 | democrat,y,y,?,y,y,y,n,n,y,n,y,?,y,y,n,n
154 | democrat,n,y,y,n,n,y,n,y,y,y,y,n,y,n,y,y
155 | democrat,n,n,y,n,n,y,y,y,y,y,y,n,y,y,n,y
156 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
157 | republican,y,y,n,y,y,y,n,?,n,n,y,y,y,y,n,n
158 | republican,y,y,n,y,y,y,y,n,n,n,n,y,y,y,n,n
159 | democrat,n,y,y,n,n,y,n,y,y,n,y,n,?,?,?,?
160 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
161 | democrat,n,y,y,n,?,y,y,y,y,y,y,n,n,?,n,?
162 | democrat,n,y,n,n,y,y,n,n,n,n,n,y,y,y,y,y
163 | democrat,n,n,n,n,y,y,y,n,n,n,n,y,y,y,n,y
164 | democrat,n,y,y,n,y,y,y,n,n,n,y,y,y,y,n,y
165 | republican,n,y,n,y,y,y,y,n,n,n,n,y,y,y,n,y
166 | democrat,y,y,n,n,y,y,n,n,n,y,y,y,y,y,n,?
167 | democrat,n,y,y,n,n,y,y,y,y,y,y,n,y,n,y,?
168 | republican,y,n,y,y,y,y,y,y,n,y,n,y,n,y,y,y
169 | republican,y,n,y,y,y,y,y,y,n,y,y,y,n,y,y,y
170 | democrat,n,n,y,y,y,y,n,n,y,n,n,n,y,y,y,?
171 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,y,n,y
172 | democrat,y,n,y,n,n,n,?,y,y,?,n,n,n,n,y,?
173 | republican,n,?,n,y,y,y,n,n,n,y,n,y,y,y,n,y
174 | democrat,n,y,y,n,n,n,y,y,y,y,n,n,?,n,y,y
175 | democrat,n,n,n,n,y,y,n,n,n,y,y,y,y,y,n,y
176 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
177 | democrat,n,y,y,n,n,n,y,y,y,y,n,n,n,n,y,y
178 | republican,n,n,y,y,n,n,y,y,y,y,n,n,n,y,y,y
179 | democrat,n,n,y,n,n,n,y,y,y,y,y,?,n,n,y,y
180 | democrat,?,n,y,n,n,n,y,y,y,y,y,?,n,n,y,?
181 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
182 | democrat,?,?,y,n,n,n,y,y,y,?,?,n,n,n,?,?
183 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
184 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,y
185 | democrat,?,?,?,?,?,?,?,?,y,?,?,?,?,?,?,?
186 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
187 | democrat,y,n,y,n,n,n,y,y,y,y,n,?,n,n,y,y
188 | democrat,n,y,y,n,n,n,y,y,y,y,y,n,n,n,y,y
189 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
190 | republican,y,?,n,y,y,y,y,y,n,n,n,y,?,y,?,?
191 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
192 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,?
193 | republican,n,y,n,y,y,y,n,?,n,y,n,y,y,y,n,?
194 | democrat,n,n,n,n,n,y,y,y,y,n,y,n,n,y,y,y
195 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
196 | democrat,n,n,y,n,n,y,y,?,y,y,y,n,n,n,y,y
197 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,?
198 | democrat,n,n,y,n,n,y,y,y,y,n,y,y,n,y,y,?
199 | republican,n,?,y,y,y,y,n,n,n,y,n,n,n,y,n,y
200 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,?,n,y,?
201 | democrat,y,y,n,n,n,n,y,y,?,n,y,n,n,n,y,?
202 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,y,y,y
203 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
204 | democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,n,y,y
205 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
206 | republican,n,n,y,y,y,y,y,n,n,n,n,y,y,y,n,y
207 | democrat,n,n,y,n,n,y,y,y,y,y,n,y,n,n,n,y
208 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
209 | republican,y,?,n,y,y,y,y,n,n,y,n,y,y,y,n,y
210 | democrat,n,n,y,n,n,n,y,y,y,n,n,?,n,n,y,y
211 | democrat,y,y,y,n,n,n,y,y,y,y,y,n,n,n,n,y
212 | democrat,n,n,y,n,n,y,y,y,y,n,n,n,n,n,y,y
213 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
214 | democrat,n,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
215 | democrat,n,y,y,n,n,y,n,y,y,n,y,n,y,n,y,y
216 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
217 | democrat,n,y,y,y,y,y,n,n,n,y,y,y,y,y,y,?
218 | democrat,y,y,y,n,y,y,n,n,?,y,n,n,n,y,y,?
219 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
220 | democrat,y,?,y,n,n,n,y,y,y,n,?,n,n,n,y,?
221 | democrat,n,y,y,n,n,n,n,y,y,n,y,n,n,y,y,y
222 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
223 | democrat,n,y,y,n,y,y,n,n,n,n,y,n,n,n,y,?
224 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,?
225 | republican,n,n,n,y,y,n,n,n,n,n,n,y,y,y,n,y
226 | republican,n,y,n,y,y,y,n,n,n,y,n,?,y,y,n,n
227 | republican,n,?,n,y,y,y,n,n,n,n,n,y,y,y,n,y
228 | democrat,n,n,y,n,n,y,y,y,y,n,y,n,n,y,y,y
229 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,?,y
230 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,?,n,y
231 | republican,n,y,y,y,y,y,y,n,y,y,n,y,y,y,n,y
232 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
233 | republican,n,y,n,y,y,y,n,n,y,y,n,y,y,y,n,y
234 | democrat,n,y,y,n,n,n,y,y,n,n,y,n,n,n,y,?
235 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
236 | democrat,n,n,y,n,n,y,y,y,y,y,n,y,n,y,y,?
237 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
238 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
239 | democrat,y,n,y,n,n,y,y,y,n,n,n,y,y,n,n,y
240 | democrat,y,y,y,n,n,n,y,y,?,y,n,n,n,n,y,?
241 | republican,n,n,n,y,y,y,y,n,n,y,n,n,n,y,y,y
242 | republican,n,n,n,y,n,y,y,?,y,n,n,y,y,y,n,y
243 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,y,y,y
244 | republican,n,n,n,n,y,y,y,n,n,n,n,?,n,y,y,y
245 | democrat,n,y,y,n,n,n,y,y,?,y,n,n,y,n,y,y
246 | democrat,y,n,y,n,n,n,n,y,y,y,n,n,n,n,y,y
247 | democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
248 | democrat,n,n,y,n,y,n,y,y,y,n,n,n,n,y,?,y
249 | republican,n,y,n,y,y,y,?,n,n,n,n,?,y,y,n,n
250 | republican,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?
251 | democrat,y,n,y,n,n,n,y,y,?,n,y,n,n,n,y,y
252 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
253 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n
254 | democrat,y,y,y,n,n,y,y,y,y,n,n,n,n,n,y,y
255 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
256 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
257 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,y,y,y
258 | republican,n,n,n,y,y,n,n,n,n,n,n,y,n,y,n,n
259 | republican,n,n,n,y,y,n,n,n,n,n,n,y,n,y,?,y
260 | democrat,n,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y
261 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y
262 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
263 | democrat,y,n,y,n,n,?,y,y,y,n,?,?,n,?,?,?
264 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,?,n,y,y
265 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
266 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
267 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
268 | republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y
269 | republican,y,n,n,n,n,n,y,y,y,y,n,n,n,y,n,y
270 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
271 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y
272 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y
273 | democrat,n,y,y,n,n,y,y,y,y,n,?,n,n,n,n,y
274 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,?
275 | republican,n,n,n,y,y,n,y,y,n,y,n,y,y,y,?,y
276 | republican,y,n,n,y,y,n,y,n,n,y,n,n,n,y,y,y
277 | democrat,n,n,y,n,y,y,n,n,n,n,?,n,y,y,n,n
278 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,y,n
279 | republican,n,n,y,y,y,y,y,y,n,y,n,n,n,y,n,y
280 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
281 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
282 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,y,n,y
283 | republican,y,n,y,y,y,y,y,y,n,n,n,n,n,y,n,?
284 | republican,y,n,n,y,y,y,n,n,n,y,n,?,y,y,n,n
285 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
286 | democrat,n,n,y,n,n,y,y,y,y,y,y,n,n,n,?,y
287 | democrat,n,n,y,n,n,y,y,y,y,y,y,n,n,n,y,y
288 | democrat,n,n,y,n,n,y,?,y,?,y,y,y,n,y,y,?
289 | democrat,y,y,y,?,n,y,y,y,y,n,y,n,y,n,?,y
290 | democrat,y,y,y,n,y,y,n,y,n,y,y,n,y,y,y,y
291 | democrat,y,y,y,n,y,y,n,y,n,y,y,n,y,y,n,?
292 | democrat,y,n,y,n,?,y,?,y,y,y,n,n,y,y,n,y
293 | democrat,y,n,y,n,n,y,y,y,y,y,n,?,n,y,n,y
294 | democrat,y,n,y,n,n,y,y,y,n,y,y,n,y,y,y,y
295 | democrat,y,y,y,n,n,y,y,y,y,y,y,n,y,y,y,y
296 | democrat,n,y,y,n,n,y,y,y,n,y,y,n,y,y,n,?
297 | republican,n,y,n,y,y,y,?,?,n,y,n,y,?,?,?,?
298 | republican,n,n,y,y,y,y,n,n,n,y,n,y,y,y,y,y
299 | democrat,y,y,y,n,n,y,y,y,y,y,n,n,?,n,y,?
300 | democrat,n,y,n,n,n,n,y,y,y,y,y,n,n,n,y,y
301 | democrat,n,y,y,n,n,y,y,y,y,y,n,n,y,y,y,y
302 | republican,n,n,n,y,y,n,y,y,y,y,n,y,y,y,n,y
303 | democrat,n,n,?,n,n,y,y,y,y,n,n,n,n,n,y,y
304 | republican,n,n,n,y,y,y,y,n,n,y,n,y,y,y,n,y
305 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
306 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,?
307 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
308 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
309 | democrat,y,n,y,n,n,y,y,y,y,n,n,n,n,y,n,?
310 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
311 | democrat,y,n,n,n,n,y,y,y,y,y,n,n,n,y,y,y
312 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,y,n
313 | democrat,n,n,y,n,n,y,y,y,y,y,n,n,y,n,n,y
314 | democrat,y,y,y,n,n,n,y,y,y,y,n,n,n,n,y,y
315 | republican,n,y,y,y,y,y,n,n,n,y,n,y,y,y,n,y
316 | republican,n,y,n,y,y,y,y,y,n,n,y,y,y,y,y,y
317 | republican,n,y,y,y,y,y,y,?,n,n,n,n,?,?,y,?
318 | democrat,n,n,n,n,n,y,n,y,y,n,y,y,y,y,y,n
319 | democrat,y,n,n,n,n,n,y,y,y,y,n,n,n,n,y,y
320 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
321 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,?
322 | democrat,n,y,y,n,n,y,n,y,y,y,n,n,y,y,n,y
323 | democrat,y,y,y,n,n,n,y,y,y,y,n,n,y,n,n,y
324 | democrat,y,y,y,n,?,y,n,?,n,n,y,n,y,y,n,?
325 | democrat,y,y,y,n,y,y,n,y,?,y,n,n,y,y,n,?
326 | republican,n,y,n,y,y,y,n,n,n,n,y,y,y,y,n,n
327 | democrat,n,y,n,n,y,y,n,n,?,n,n,y,y,y,n,y
328 | democrat,y,y,n,y,n,n,y,y,y,n,y,n,n,y,n,y
329 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
330 | democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,y
331 | democrat,y,?,y,n,n,y,y,y,y,y,n,n,n,n,y,?
332 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n
333 | democrat,y,?,y,n,n,n,y,y,y,n,n,n,n,n,y,?
334 | democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,?
335 | democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
336 | democrat,n,y,y,n,n,y,y,y,?,n,y,y,n,n,y,y
337 | republican,n,n,n,y,y,y,n,n,n,y,y,y,y,y,n,?
338 | democrat,n,n,y,n,n,y,y,y,n,n,y,n,n,y,?,y
339 | democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y
340 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,y,y,y
341 | republican,y,n,n,y,y,y,n,n,n,n,y,y,y,y,n,n
342 | republican,n,n,n,y,y,y,n,n,n,y,y,y,n,y,n,y
343 | democrat,n,?,y,?,n,y,y,y,y,y,y,n,?,?,y,y
344 | democrat,n,y,y,n,y,?,y,n,n,y,y,n,y,n,y,y
345 | republican,n,n,n,y,y,n,y,n,y,y,n,n,n,y,n,y
346 | democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y
347 | republican,n,n,n,y,y,y,y,n,n,y,n,y,n,y,y,y
348 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
349 | republican,y,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n
350 | democrat,y,n,y,n,n,n,y,y,y,y,n,y,n,n,y,?
351 | republican,n,y,y,y,y,y,y,y,y,n,n,y,y,y,n,y
352 | democrat,n,y,n,n,n,y,y,n,y,n,y,n,n,n,y,y
353 | republican,n,n,y,y,y,y,y,y,y,y,n,y,y,y,y,y
354 | democrat,n,y,n,y,n,y,y,y,y,n,y,n,y,n,y,?
355 | republican,n,n,y,y,y,y,y,n,n,y,y,y,y,y,n,y
356 | democrat,n,y,y,n,n,y,y,y,y,y,n,?,n,n,y,y
357 | republican,y,n,y,y,n,n,n,y,y,y,n,n,n,y,y,y
358 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
359 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
360 | democrat,y,y,y,n,n,y,y,y,y,y,y,y,y,y,n,?
361 | republican,n,n,n,y,y,y,n,n,n,y,?,y,y,y,n,y
362 | democrat,y,n,y,n,n,y,y,y,y,y,n,n,y,n,n,y
363 | democrat,y,n,y,n,y,y,y,n,y,y,n,n,y,y,n,?
364 | democrat,y,y,y,n,n,y,y,y,y,y,y,y,y,n,n,y
365 | republican,y,y,n,y,y,y,n,n,n,y,y,n,y,n,n,n
366 | republican,y,y,n,y,y,y,n,n,n,n,y,n,y,y,n,y
367 | democrat,n,y,n,n,y,y,n,n,n,y,y,n,y,y,n,n
368 | democrat,y,n,y,n,n,n,y,y,n,y,y,n,n,n,n,?
369 | democrat,y,y,y,n,y,y,y,y,n,y,y,n,n,n,y,?
370 | democrat,n,y,y,n,n,y,y,y,n,y,n,n,n,n,y,y
371 | republican,n,y,n,y,y,y,n,n,n,n,n,n,y,y,n,y
372 | democrat,y,y,y,n,?,y,y,y,n,y,?,?,n,n,y,y
373 | democrat,y,y,y,n,?,n,y,y,y,y,n,n,n,n,y,?
374 | democrat,n,y,y,y,y,y,n,n,n,n,y,y,?,y,n,n
375 | democrat,n,y,y,?,y,y,n,y,n,y,?,n,y,y,?,y
376 | republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y
377 | democrat,n,y,n,y,y,y,n,n,n,n,y,y,n,y,n,n
378 | democrat,y,?,y,n,n,n,y,y,y,n,y,n,n,n,y,y
379 | republican,n,y,n,y,y,y,?,?,n,n,?,?,y,?,?,?
380 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
381 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
382 | democrat,y,y,y,n,n,y,?,y,y,n,y,n,y,n,y,y
383 | democrat,y,y,y,n,y,y,y,y,y,y,y,n,y,y,n,?
384 | democrat,y,y,n,y,y,y,n,n,n,n,y,n,y,y,n,?
385 | democrat,y,y,y,n,y,y,n,y,y,y,y,n,n,n,n,y
386 | democrat,y,y,y,y,y,y,n,n,n,n,y,y,y,y,n,y
387 | democrat,y,y,n,n,y,y,n,n,n,n,y,y,y,y,y,n
388 | democrat,n,?,y,n,y,y,n,y,n,n,y,n,n,n,n,?
389 | democrat,y,y,y,n,y,y,n,y,y,n,y,n,n,y,n,?
390 | democrat,n,y,y,y,y,y,n,n,n,n,n,y,y,y,n,?
391 | democrat,y,n,y,n,n,n,y,y,y,?,y,n,n,n,y,?
392 | democrat,?,?,n,n,?,y,?,n,n,n,y,y,n,y,n,?
393 | democrat,y,y,n,n,n,n,n,y,y,n,y,n,n,n,y,n
394 | republican,y,y,n,y,y,y,n,n,n,n,y,y,y,y,n,y
395 | republican,?,?,?,?,n,y,n,y,y,n,n,y,y,n,n,?
396 | democrat,y,y,?,?,?,y,n,n,n,n,y,n,y,n,n,y
397 | democrat,y,y,y,?,n,n,n,y,n,n,y,?,n,n,y,y
398 | democrat,y,y,y,n,y,y,n,y,n,n,y,n,y,n,y,y
399 | democrat,y,y,n,n,y,?,n,n,n,n,y,n,y,y,n,y
400 | democrat,n,y,y,n,y,y,n,y,n,n,n,n,n,n,n,y
401 | republican,n,y,n,y,?,y,n,n,n,y,n,y,y,y,n,n
402 | republican,n,y,n,y,y,y,n,?,n,n,?,?,?,y,n,?
403 | republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,n
404 | republican,?,n,y,y,n,y,y,y,y,y,n,y,n,y,n,y
405 | republican,n,y,n,y,y,y,n,n,n,y,n,y,?,y,n,n
406 | republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y
407 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y
408 | democrat,y,n,y,n,y,y,n,n,y,y,n,n,y,y,n,y
409 | democrat,n,n,n,y,y,y,n,n,n,n,y,y,y,y,n,n
410 | democrat,y,n,y,n,n,y,y,y,y,n,n,y,?,y,y,y
411 | republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n
412 | republican,n,n,n,y,y,y,n,n,n,n,y,y,y,y,n,y
413 | democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,n,n,y
414 | republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y
415 | republican,y,y,y,y,y,y,y,y,n,y,?,?,?,y,n,y
416 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y
417 | democrat,n,y,y,n,n,y,y,y,?,y,n,n,n,n,n,y
418 | republican,y,y,n,y,y,y,n,n,n,y,n,n,y,y,n,y
419 | democrat,y,y,y,n,n,n,y,y,y,y,y,n,y,n,n,y
420 | democrat,y,y,y,n,n,n,y,y,n,y,n,n,n,n,n,y
421 | democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y
422 | republican,y,y,y,y,y,y,y,y,n,y,n,n,y,y,n,y
423 | democrat,n,y,y,n,y,y,y,y,n,n,y,n,y,n,y,y
424 | democrat,n,n,y,n,n,y,y,y,y,n,y,n,n,n,y,y
425 | democrat,n,y,y,n,n,y,y,y,y,n,y,n,n,y,y,y
426 | democrat,n,y,y,n,n,?,y,y,y,y,y,n,?,y,y,y
427 | democrat,n,n,y,n,n,n,y,y,n,y,y,n,n,n,y,?
428 | democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y
429 | republican,n,n,n,y,y,y,y,y,n,y,n,y,y,y,n,y
430 | democrat,?,?,?,n,n,n,y,y,y,y,n,n,y,n,y,y
431 | democrat,y,n,y,n,?,n,y,y,y,y,n,y,n,?,y,y
432 | republican,n,n,y,y,y,y,n,n,y,y,n,y,y,y,n,y
433 | democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y
434 | republican,n,?,n,y,y,y,n,n,n,n,y,y,y,y,n,y
435 | republican,n,n,n,y,y,y,?,?,?,?,n,y,y,y,n,y
436 | republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,?,n
437 |
--------------------------------------------------------------------------------
/ml01/house-votes-84.names:
--------------------------------------------------------------------------------
1 | 1. Title: 1984 United States Congressional Voting Records Database
2 |
3 | 2. Source Information:
4 | (a) Source: Congressional Quarterly Almanac, 98th Congress,
5 | 2nd session 1984, Volume XL: Congressional Quarterly Inc.
6 | Washington, D.C., 1985.
7 | (b) Donor: Jeff Schlimmer (Jeffrey.Schlimmer@a.gp.cs.cmu.edu)
8 | (c) Date: 27 April 1987
9 |
10 | 3. Past Usage
11 | - Publications
12 | 1. Schlimmer, J. C. (1987). Concept acquisition through
13 | representational adjustment. Doctoral dissertation, Department of
14 | Information and Computer Science, University of California, Irvine, CA.
15 | -- Results: about 90%-95% accuracy appears to be STAGGER's asymptote
16 | - Predicted attribute: party affiliation (2 classes)
17 |
18 | 4. Relevant Information:
19 | This data set includes votes for each of the U.S. House of
20 | Representatives Congressmen on the 16 key votes identified by the
21 | CQA. The CQA lists nine different types of votes: voted for, paired
22 | for, and announced for (these three simplified to yea), voted
23 | against, paired against, and announced against (these three
24 | simplified to nay), voted present, voted present to avoid conflict
25 | of interest, and did not vote or otherwise make a position known
26 | (these three simplified to an unknown disposition).
27 |
28 | 5. Number of Instances: 435 (267 democrats, 168 republicans)
29 |
30 | 6. Number of Attributes: 16 + class name = 17 (all Boolean valued)
31 |
32 | 7. Attribute Information:
33 | 1. Class Name: 2 (democrat, republican)
34 | 2. handicapped-infants: 2 (y,n)
35 | 3. water-project-cost-sharing: 2 (y,n)
36 | 4. adoption-of-the-budget-resolution: 2 (y,n)
37 | 5. physician-fee-freeze: 2 (y,n)
38 | 6. el-salvador-aid: 2 (y,n)
39 | 7. religious-groups-in-schools: 2 (y,n)
40 | 8. anti-satellite-test-ban: 2 (y,n)
41 | 9. aid-to-nicaraguan-contras: 2 (y,n)
42 | 10. mx-missile: 2 (y,n)
43 | 11. immigration: 2 (y,n)
44 | 12. synfuels-corporation-cutback: 2 (y,n)
45 | 13. education-spending: 2 (y,n)
46 | 14. superfund-right-to-sue: 2 (y,n)
47 | 15. crime: 2 (y,n)
48 | 16. duty-free-exports: 2 (y,n)
49 | 17. export-administration-act-south-africa: 2 (y,n)
50 |
51 | 8. Missing Attribute Values: Denoted by "?"
52 |
53 | NOTE: It is important to recognize that "?" in this database does
54 | not mean that the value of the attribute is unknown. It
55 | means simply, that the value is not "yea" or "nay" (see
56 | "Relevant Information" section above).
57 |
58 | Attribute: #Missing Values:
59 | 1: 0
60 | 2: 0
61 | 3: 12
62 | 4: 48
63 | 5: 11
64 | 6: 11
65 | 7: 15
66 | 8: 11
67 | 9: 14
68 | 10: 15
69 | 11: 22
70 | 12: 7
71 | 13: 21
72 | 14: 31
73 | 15: 25
74 | 16: 17
75 | 17: 28
76 |
77 | 9. Class Distribution: (2 classes)
78 | 1. 45.2 percent are democrat
79 | 2. 54.8 percent are republican
80 |
81 | Class predictiveness and predictability: Pr(C|A=V) and Pr(A=V|C)
82 | Attribute 1: (A = handicapped-infants)
83 | 0.91; 1.21 (C=democrat; V=y)
84 | 0.09; 0.10 (C=republican; V=y)
85 | 0.43; 0.38 (C=democrat; V=n)
86 | 0.57; 0.41 (C=republican; V=n)
87 | 0.75; 0.03 (C=democrat; V=?)
88 | 0.25; 0.01 (C=republican; V=?)
89 | Attribute 2: (A = water-project-cost-sharing)
90 | 0.62; 0.45 (C=democrat; V=y)
91 | 0.38; 0.23 (C=republican; V=y)
92 | 0.62; 0.45 (C=democrat; V=n)
93 | 0.38; 0.23 (C=republican; V=n)
94 | 0.58; 0.10 (C=democrat; V=?)
95 | 0.42; 0.06 (C=republican; V=?)
96 | Attribute 3: (A = adoption-of-the-budget-resolution)
97 | 0.91; 0.87 (C=democrat; V=y)
98 | 0.09; 0.07 (C=republican; V=y)
99 | 0.17; 0.11 (C=democrat; V=n)
100 | 0.83; 0.44 (C=republican; V=n)
101 | 0.64; 0.03 (C=democrat; V=?)
102 | 0.36; 0.01 (C=republican; V=?)
103 | Attribute 4: (A = physician-fee-freeze)
104 | 0.08; 0.05 (C=democrat; V=y)
105 | 0.92; 0.50 (C=republican; V=y)
106 | 0.99; 0.92 (C=democrat; V=n)
107 | 0.01; 0.01 (C=republican; V=n)
108 | 0.73; 0.03 (C=democrat; V=?)
109 | 0.27; 0.01 (C=republican; V=?)
110 | Attribute 5: (A = el-salvador-aid)
111 | 0.26; 0.21 (C=democrat; V=y)
112 | 0.74; 0.48 (C=republican; V=y)
113 | 0.96; 0.75 (C=democrat; V=n)
114 | 0.04; 0.02 (C=republican; V=n)
115 | 0.80; 0.04 (C=democrat; V=?)
116 | 0.20; 0.01 (C=republican; V=?)
117 | Attribute 6: (A = religious-groups-in-schools)
118 | 0.45; 0.46 (C=democrat; V=y)
119 | 0.55; 0.46 (C=republican; V=y)
120 | 0.89; 0.51 (C=democrat; V=n)
121 | 0.11; 0.05 (C=republican; V=n)
122 | 0.82; 0.03 (C=democrat; V=?)
123 | 0.18; 0.01 (C=republican; V=?)
124 | Attribute 7: (A = anti-satellite-test-ban)
125 | 0.84; 0.75 (C=democrat; V=y)
126 | 0.16; 0.12 (C=republican; V=y)
127 | 0.32; 0.22 (C=democrat; V=n)
128 | 0.68; 0.38 (C=republican; V=n)
129 | 0.57; 0.03 (C=democrat; V=?)
130 | 0.43; 0.02 (C=republican; V=?)
131 | Attribute 8: (A = aid-to-nicaraguan-contras)
132 | 0.90; 0.82 (C=democrat; V=y)
133 | 0.10; 0.07 (C=republican; V=y)
134 | 0.25; 0.17 (C=democrat; V=n)
135 | 0.75; 0.41 (C=republican; V=n)
136 | 0.27; 0.01 (C=democrat; V=?)
137 | 0.73; 0.03 (C=republican; V=?)
138 | Attribute 9: (A = mx-missile)
139 | 0.91; 0.70 (C=democrat; V=y)
140 | 0.09; 0.06 (C=republican; V=y)
141 | 0.29; 0.22 (C=democrat; V=n)
142 | 0.71; 0.45 (C=republican; V=n)
143 | 0.86; 0.07 (C=democrat; V=?)
144 | 0.14; 0.01 (C=republican; V=?)
145 | Attribute 10: (A = immigration)
146 | 0.57; 0.46 (C=democrat; V=y)
147 | 0.43; 0.28 (C=republican; V=y)
148 | 0.66; 0.52 (C=democrat; V=n)
149 | 0.34; 0.23 (C=republican; V=n)
150 | 0.57; 0.01 (C=democrat; V=?)
151 | 0.43; 0.01 (C=republican; V=?)
152 | Attribute 11: (A = synfuels-corporation-cutback)
153 | 0.86; 0.48 (C=democrat; V=y)
154 | 0.14; 0.06 (C=republican; V=y)
155 | 0.48; 0.47 (C=democrat; V=n)
156 | 0.52; 0.43 (C=republican; V=n)
157 | 0.57; 0.04 (C=democrat; V=?)
158 | 0.43; 0.03 (C=republican; V=?)
159 | Attribute 12: (A = education-spending)
160 | 0.21; 0.13 (C=democrat; V=y)
161 | 0.79; 0.42 (C=republican; V=y)
162 | 0.91; 0.80 (C=democrat; V=n)
163 | 0.09; 0.06 (C=republican; V=n)
164 | 0.58; 0.07 (C=democrat; V=?)
165 | 0.42; 0.04 (C=republican; V=?)
166 | Attribute 13: (A = superfund-right-to-sue)
167 | 0.35; 0.27 (C=democrat; V=y)
168 | 0.65; 0.42 (C=republican; V=y)
169 | 0.89; 0.67 (C=democrat; V=n)
170 | 0.11; 0.07 (C=republican; V=n)
171 | 0.60; 0.06 (C=democrat; V=?)
172 | 0.40; 0.03 (C=republican; V=?)
173 | Attribute 14: (A = crime)
174 | 0.36; 0.34 (C=democrat; V=y)
175 | 0.64; 0.49 (C=republican; V=y)
176 | 0.98; 0.63 (C=democrat; V=n)
177 | 0.02; 0.01 (C=republican; V=n)
178 | 0.59; 0.04 (C=democrat; V=?)
179 | 0.41; 0.02 (C=republican; V=?)
180 | Attribute 15: (A = duty-free-exports)
181 | 0.92; 0.60 (C=democrat; V=y)
182 | 0.08; 0.04 (C=republican; V=y)
183 | 0.39; 0.34 (C=democrat; V=n)
184 | 0.61; 0.44 (C=republican; V=n)
185 | 0.57; 0.06 (C=democrat; V=?)
186 | 0.43; 0.04 (C=republican; V=?)
187 | Attribute 16: (A = export-administration-act-south-africa)
188 | 0.64; 0.65 (C=democrat; V=y)
189 | 0.36; 0.30 (C=republican; V=y)
190 | 0.19; 0.04 (C=democrat; V=n)
191 | 0.81; 0.15 (C=republican; V=n)
192 | 0.79; 0.31 (C=democrat; V=?)
193 | 0.21; 0.07 (C=republican; V=?)
194 |
--------------------------------------------------------------------------------
/ml02/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/1.png
--------------------------------------------------------------------------------
/ml02/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/2.png
--------------------------------------------------------------------------------
/ml02/README.md:
--------------------------------------------------------------------------------
1 | # Machine Learning #2 - Korelasyon Matrisi, Özellik Seçimi, Sınıfların Dengesizliği, Karar Ağaçları, Kesinlik/Duyarlılık/F1 Skoru
2 |
3 | Merhabalar, Machine Learning serimin ikinci notebook'unda
4 | - Yeni bir sınıflandırma modelini kullanacak
5 | - Tahminleyici değişkenlerin hedef değişken ile aralarındaki ilişkiyi inceleyecek
6 | - Veri önişlemesi kısmında yeni yöntemler görecek
7 | - Modelimizin başarımını ölçmek için kullanabileceğimiz yeni yöntemlere değineceğiz.
8 |
9 | Aynı zamanda veri kümesi dengesizliklerine, model başarımını değerlendirirken yapabileceğimiz hatalara ve bunları gidermek için yapılabileceklere değineceğimiz bir yazı olacak.
10 |
11 | TR: https://medium.com/deep-learning-turkiye/machine-learning-2-korelasyon-matrisi-özellik-seçimi-sınıfların-dengesizliği-karar-ağaçları-af993bd8ea66
12 |
13 | EN: https://medium.com/analytics-vidhya/machine-learning-2-correlation-matrix-feature-selection-class-imbalance-decision-trees-9a447fdb825
14 |
--------------------------------------------------------------------------------
/ml02/accuracy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/accuracy.png
--------------------------------------------------------------------------------
/ml02/dec_tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/dec_tree.png
--------------------------------------------------------------------------------
/ml02/f1score.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/f1score.png
--------------------------------------------------------------------------------
/ml02/precision.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/precision.png
--------------------------------------------------------------------------------
/ml02/recall.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml02/recall.png
--------------------------------------------------------------------------------
/ml03/README.md:
--------------------------------------------------------------------------------
1 | Merhabalar, Machine Learning serimin üçüncü notebook'unda;
2 |
3 | * Lineer regresyon kavramını,
4 | * Kayıp hesabı kavramını ve ölçüm metodlarını
5 | * Lineer regresyonun alt türlerini öğreneceğiz.
6 |
7 | TR: https://gokerguner.medium.com/makine-öğrenmesi-3-lineer-regresyon-ridge-lasso-fonksiyonları-9dbf6036e29e
8 |
9 | EN: https://medium.com/analytics-vidhya/machine-learning-3-linear-regression-ridge-lasso-functions-2fa7fda624a0
10 |
--------------------------------------------------------------------------------
/ml03/boston_data.csv:
--------------------------------------------------------------------------------
1 | crim,zn,indus,chas,nox,rm,age,dis,rad,tax,ptratio,black,lstat,medv
2 | 0.15876,0.0,10.81,0.0,0.413,5.961,17.5,5.2873,4.0,305.0,19.2,376.94,9.88,21.7
3 | 0.10328,25.0,5.13,0.0,0.453,5.927,47.2,6.932,8.0,284.0,19.7,396.9,9.22,19.6
4 | 0.3494,0.0,9.9,0.0,0.544,5.972,76.7,3.1025,4.0,304.0,18.4,396.24,9.97,20.3
5 | 2.73397,0.0,19.58,0.0,0.871,5.597,94.9,1.5257,5.0,403.0,14.7,351.85,21.45,15.4
6 | 0.04337,21.0,5.64,0.0,0.439,6.115,63.0,6.8147,4.0,243.0,16.8,393.97,9.43,20.5
7 | 0.0837,45.0,3.44,0.0,0.437,7.185,38.9,4.5667,5.0,398.0,15.2,396.9,5.39,34.9
8 | 0.19073,22.0,5.86,0.0,0.431,6.718,17.5,7.8265,7.0,330.0,19.1,393.74,6.56,26.2
9 | 0.26938,0.0,9.9,0.0,0.544,6.266,82.8,3.2628,4.0,304.0,18.4,393.39,7.9,21.6
10 | 10.0623,0.0,18.1,0.0,0.584,6.833,94.3,2.0882,24.0,666.0,20.2,81.33,19.69,14.1
11 | 1.41385,0.0,19.58,1.0,0.871,6.129,96.0,1.7494,5.0,403.0,14.7,321.02,15.12,17.0
12 | 25.9406,0.0,18.1,0.0,0.679,5.304,89.1,1.6475,24.0,666.0,20.2,127.36,26.64,10.4
13 | 0.09252,30.0,4.93,0.0,0.428,6.606,42.2,6.1899,6.0,300.0,16.6,383.78,7.37,23.3
14 | 1.00245,0.0,8.14,0.0,0.538,6.674,87.3,4.239,4.0,307.0,21.0,380.23,11.98,21.0
15 | 0.11027,25.0,5.13,0.0,0.453,6.456,67.8,7.2255,8.0,284.0,19.7,396.9,6.73,22.2
16 | 15.1772,0.0,18.1,0.0,0.74,6.152,100.0,1.9142,24.0,666.0,20.2,9.32,26.45,8.7
17 | 5.70818,0.0,18.1,0.0,0.532,6.75,74.9,3.3317,24.0,666.0,20.2,393.07,7.74,23.7
18 | 0.1029,30.0,4.93,0.0,0.428,6.358,52.9,7.0355,6.0,300.0,16.6,372.75,11.22,22.2
19 | 15.0234,0.0,18.1,0.0,0.614,5.304,97.3,2.1007,24.0,666.0,20.2,349.48,24.91,12.0
20 | 1.6566,0.0,19.58,0.0,0.871,6.122,97.3,1.618,5.0,403.0,14.7,372.8,14.1,21.5
21 | 1.42502,0.0,19.58,0.0,0.871,6.51,100.0,1.7659,5.0,403.0,14.7,364.31,7.39,23.3
22 | 9.33889,0.0,18.1,0.0,0.679,6.38,95.6,1.9682,24.0,666.0,20.2,60.72,24.08,9.5
23 | 0.59005,0.0,21.89,0.0,0.624,6.372,97.9,2.3274,4.0,437.0,21.2,385.76,11.12,23.0
24 | 0.08707,0.0,12.83,0.0,0.437,6.14,45.8,4.0905,5.0,398.0,18.7,386.96,10.27,20.8
25 | 0.06664,0.0,4.05,0.0,0.51,6.546,33.1,3.1323,5.0,296.0,16.6,390.96,5.33,29.4
26 | 0.02498,0.0,1.89,0.0,0.518,6.54,59.7,6.2669,1.0,422.0,15.9,389.96,8.65,16.5
27 | 0.25356,0.0,9.9,0.0,0.544,5.705,77.7,3.945,4.0,304.0,18.4,396.42,11.5,16.2
28 | 5.66637,0.0,18.1,0.0,0.74,6.219,100.0,2.0048,24.0,666.0,20.2,395.69,16.59,18.4
29 | 0.02187,60.0,2.93,0.0,0.401,6.8,9.9,6.2196,1.0,265.0,15.6,393.37,5.03,31.1
30 | 0.04819,80.0,3.64,0.0,0.392,6.108,32.0,9.2203,1.0,315.0,16.4,392.89,6.57,21.9
31 | 0.07244,60.0,1.69,0.0,0.411,5.884,18.5,10.7103,4.0,411.0,18.3,392.33,7.79,18.6
32 | 0.01439,60.0,2.93,0.0,0.401,6.604,18.8,6.2196,1.0,265.0,15.6,376.7,4.38,29.1
33 | 0.06888,0.0,2.46,0.0,0.488,6.144,62.2,2.5979,3.0,193.0,17.8,396.9,9.45,36.2
34 | 0.08199,0.0,13.92,0.0,0.437,6.009,42.3,5.5027,4.0,289.0,16.0,396.9,10.4,21.7
35 | 0.31827,0.0,9.9,0.0,0.544,5.914,83.2,3.9986,4.0,304.0,18.4,390.7,18.33,17.8
36 | 38.3518,0.0,18.1,0.0,0.693,5.453,100.0,1.4896,24.0,666.0,20.2,396.9,30.59,5.0
37 | 0.18159,0.0,7.38,0.0,0.493,6.376,54.3,4.5404,5.0,287.0,19.6,396.9,6.87,23.1
38 | 0.05602,0.0,2.46,0.0,0.488,7.831,53.6,3.1992,3.0,193.0,17.8,392.63,4.45,50.0
39 | 0.44791,0.0,6.2,1.0,0.507,6.726,66.5,3.6519,8.0,307.0,17.4,360.2,8.05,29.0
40 | 4.66883,0.0,18.1,0.0,0.713,5.976,87.9,2.5806,24.0,666.0,20.2,10.48,19.01,12.7
41 | 0.21038,20.0,3.33,0.0,0.4429,6.812,32.2,4.1007,5.0,216.0,14.9,396.9,4.85,35.1
42 | 3.83684,0.0,18.1,0.0,0.77,6.251,91.1,2.2955,24.0,666.0,20.2,350.65,14.19,19.9
43 | 2.37934,0.0,19.58,0.0,0.871,6.13,100.0,1.4191,5.0,403.0,14.7,172.91,27.8,13.8
44 | 0.04462,25.0,4.86,0.0,0.426,6.619,70.4,5.4007,4.0,281.0,19.0,395.63,7.22,23.9
45 | 5.82115,0.0,18.1,0.0,0.713,6.513,89.9,2.8016,24.0,666.0,20.2,393.82,10.29,20.2
46 | 4.26131,0.0,18.1,0.0,0.77,6.112,81.3,2.5091,24.0,666.0,20.2,390.74,12.67,22.6
47 | 0.21977,0.0,6.91,0.0,0.448,5.602,62.0,6.0877,3.0,233.0,17.9,396.9,16.2,19.4
48 | 4.34879,0.0,18.1,0.0,0.58,6.167,84.0,3.0334,24.0,666.0,20.2,396.9,16.29,19.9
49 | 3.53501,0.0,19.58,1.0,0.871,6.152,82.6,1.7455,5.0,403.0,14.7,88.01,15.02,15.6
50 | 0.53412,20.0,3.97,0.0,0.647,7.52,89.4,2.1398,5.0,264.0,13.0,388.37,7.26,43.1
51 | 11.1604,0.0,18.1,0.0,0.74,6.629,94.6,2.1247,24.0,666.0,20.2,109.85,23.27,13.4
52 | 23.6482,0.0,18.1,0.0,0.671,6.38,96.2,1.3861,24.0,666.0,20.2,396.9,23.69,13.1
53 | 9.18702,0.0,18.1,0.0,0.7,5.536,100.0,1.5804,24.0,666.0,20.2,396.9,23.6,11.3
54 | 0.82526,20.0,3.97,0.0,0.647,7.327,94.5,2.0788,5.0,264.0,13.0,393.42,11.25,31.0
55 | 0.02177,82.5,2.03,0.0,0.415,7.61,15.7,6.27,2.0,348.0,14.7,395.38,3.11,42.3
56 | 0.31533,0.0,6.2,0.0,0.504,8.266,78.3,2.8944,8.0,307.0,17.4,385.05,4.14,44.8
57 | 5.73116,0.0,18.1,0.0,0.532,7.061,77.0,3.4106,24.0,666.0,20.2,395.28,7.01,25.0
58 | 0.22188,20.0,6.96,1.0,0.464,7.691,51.8,4.3665,3.0,223.0,18.6,390.77,6.58,35.2
59 | 0.0315,95.0,1.47,0.0,0.403,6.975,15.3,7.6534,3.0,402.0,17.0,396.9,4.56,34.9
60 | 0.33045,0.0,6.2,0.0,0.507,6.086,61.5,3.6519,8.0,307.0,17.4,376.75,10.88,24.0
61 | 0.63796,0.0,8.14,0.0,0.538,6.096,84.5,4.4619,4.0,307.0,21.0,380.02,10.26,18.2
62 | 17.8667,0.0,18.1,0.0,0.671,6.223,100.0,1.3861,24.0,666.0,20.2,393.74,21.78,10.2
63 | 8.24809,0.0,18.1,0.0,0.713,7.393,99.3,2.4527,24.0,666.0,20.2,375.87,16.74,17.8
64 | 18.0846,0.0,18.1,0.0,0.679,6.434,100.0,1.8347,24.0,666.0,20.2,27.25,29.05,7.2
65 | 0.04932,33.0,2.18,0.0,0.472,6.849,70.3,3.1827,7.0,222.0,18.4,396.9,7.53,28.2
66 | 0.04203,28.0,15.04,0.0,0.464,6.442,53.6,3.6659,4.0,270.0,18.2,395.01,8.16,22.9
67 | 0.02729,0.0,7.07,0.0,0.469,7.185,61.1,4.9671,2.0,242.0,17.8,392.83,4.03,34.7
68 | 0.03537,34.0,6.09,0.0,0.433,6.59,40.4,5.4917,7.0,329.0,16.1,395.75,9.5,22.0
69 | 0.21719,0.0,10.59,1.0,0.489,5.807,53.8,3.6526,4.0,277.0,18.6,390.94,16.03,22.4
70 | 0.35233,0.0,21.89,0.0,0.624,6.454,98.4,1.8498,4.0,437.0,21.2,394.08,14.59,17.1
71 | 0.10959,0.0,11.93,0.0,0.573,6.794,89.3,2.3889,1.0,273.0,21.0,393.45,6.48,22.0
72 | 0.03445,82.5,2.03,0.0,0.415,6.162,38.4,6.27,2.0,348.0,14.7,393.77,7.43,24.1
73 | 5.66998,0.0,18.1,1.0,0.631,6.683,96.8,1.3567,24.0,666.0,20.2,375.33,3.73,50.0
74 | 0.10793,0.0,8.56,0.0,0.52,6.195,54.4,2.7778,5.0,384.0,20.9,393.49,13.0,21.7
75 | 0.12802,0.0,8.56,0.0,0.52,6.474,97.1,2.4329,5.0,384.0,20.9,395.24,12.27,19.8
76 | 0.07503,33.0,2.18,0.0,0.472,7.42,71.9,3.0992,7.0,222.0,18.4,396.9,6.47,33.4
77 | 4.54192,0.0,18.1,0.0,0.77,6.398,88.0,2.5182,24.0,666.0,20.2,374.56,7.79,25.0
78 | 0.03932,0.0,3.41,0.0,0.489,6.405,73.9,3.0921,2.0,270.0,17.8,393.55,8.2,22.0
79 | 7.67202,0.0,18.1,0.0,0.693,5.747,98.9,1.6334,24.0,666.0,20.2,393.1,19.92,8.5
80 | 0.03871,52.5,5.32,0.0,0.405,6.209,31.3,7.3172,6.0,293.0,16.6,396.9,7.14,23.2
81 | 4.22239,0.0,18.1,1.0,0.77,5.803,89.0,1.9047,24.0,666.0,20.2,353.04,14.64,16.8
82 | 0.7258,0.0,8.14,0.0,0.538,5.727,69.5,3.7965,4.0,307.0,21.0,390.95,11.28,18.2
83 | 9.72418,0.0,18.1,0.0,0.74,6.406,97.2,2.0651,24.0,666.0,20.2,385.96,19.52,17.1
84 | 4.83567,0.0,18.1,0.0,0.583,5.905,53.2,3.1523,24.0,666.0,20.2,388.22,11.45,20.6
85 | 4.81213,0.0,18.1,0.0,0.713,6.701,90.0,2.5975,24.0,666.0,20.2,255.23,16.42,16.4
86 | 3.1636,0.0,18.1,0.0,0.655,5.759,48.2,3.0665,24.0,666.0,20.2,334.4,14.13,19.9
87 | 0.5405,20.0,3.97,0.0,0.575,7.47,52.6,2.872,5.0,264.0,13.0,390.3,3.16,43.5
88 | 0.02731,0.0,7.07,0.0,0.469,6.421,78.9,4.9671,2.0,242.0,17.8,396.9,9.14,21.6
89 | 0.10153,0.0,12.83,0.0,0.437,6.279,74.5,4.0522,5.0,398.0,18.7,373.66,11.97,20.0
90 | 0.57834,20.0,3.97,0.0,0.575,8.297,67.0,2.4216,5.0,264.0,13.0,384.54,7.44,50.0
91 | 13.5222,0.0,18.1,0.0,0.631,3.863,100.0,1.5106,24.0,666.0,20.2,131.42,13.33,23.1
92 | 0.03306,0.0,5.19,0.0,0.515,6.059,37.3,4.8122,5.0,224.0,20.2,396.14,8.51,20.6
93 | 8.20058,0.0,18.1,0.0,0.713,5.936,80.3,2.7792,24.0,666.0,20.2,3.5,16.94,13.5
94 | 1.13081,0.0,8.14,0.0,0.538,5.713,94.1,4.233,4.0,307.0,21.0,360.17,22.6,12.7
95 | 0.14231,0.0,10.01,0.0,0.547,6.254,84.2,2.2565,6.0,432.0,17.8,388.74,10.45,18.5
96 | 8.71675,0.0,18.1,0.0,0.693,6.471,98.8,1.7257,24.0,666.0,20.2,391.98,17.12,13.1
97 | 0.19539,0.0,10.81,0.0,0.413,6.245,6.2,5.2873,4.0,305.0,19.2,377.17,7.54,23.4
98 | 0.77299,0.0,8.14,0.0,0.538,6.495,94.4,4.4547,4.0,307.0,21.0,387.94,12.8,18.4
99 | 0.03705,20.0,3.33,0.0,0.4429,6.968,37.2,5.2447,5.0,216.0,14.9,392.23,4.59,35.4
100 | 0.37578,0.0,10.59,1.0,0.489,5.404,88.6,3.665,4.0,277.0,18.6,395.24,23.98,19.3
101 | 9.92485,0.0,18.1,0.0,0.74,6.251,96.6,2.198,24.0,666.0,20.2,388.52,16.44,12.6
102 | 0.12744,0.0,6.91,0.0,0.448,6.77,2.9,5.7209,3.0,233.0,17.9,385.41,4.84,26.6
103 | 0.01778,95.0,1.47,0.0,0.403,7.135,13.9,7.6534,3.0,402.0,17.0,384.3,4.45,32.9
104 | 0.06588,0.0,2.46,0.0,0.488,7.765,83.3,2.741,3.0,193.0,17.8,395.56,7.56,39.8
105 | 0.08221,22.0,5.86,0.0,0.431,6.957,6.8,8.9067,7.0,330.0,19.1,386.09,3.53,29.6
106 | 0.6147,0.0,6.2,0.0,0.507,6.618,80.8,3.2721,8.0,307.0,17.4,396.9,7.6,30.1
107 | 0.2909,0.0,21.89,0.0,0.624,6.174,93.6,1.6119,4.0,437.0,21.2,388.08,24.16,14.0
108 | 0.01501,80.0,2.01,0.0,0.435,6.635,29.7,8.344,4.0,280.0,17.0,390.94,5.99,24.5
109 | 0.01301,35.0,1.52,0.0,0.442,7.241,49.3,7.0379,1.0,284.0,15.5,394.74,5.49,32.7
110 | 1.22358,0.0,19.58,0.0,0.605,6.943,97.4,1.8773,5.0,403.0,14.7,363.43,4.59,41.3
111 | 0.02985,0.0,2.18,0.0,0.458,6.43,58.7,6.0622,3.0,222.0,18.7,394.12,5.21,28.7
112 | 0.05497,0.0,5.19,0.0,0.515,5.985,45.4,4.8122,5.0,224.0,20.2,396.9,9.74,19.0
113 | 0.01709,90.0,2.02,0.0,0.41,6.728,36.1,12.1265,5.0,187.0,17.0,384.46,4.5,30.1
114 | 0.03768,80.0,1.52,0.0,0.404,7.274,38.3,7.309,2.0,329.0,12.6,392.2,6.62,34.6
115 | 4.0974,0.0,19.58,0.0,0.871,5.468,100.0,1.4118,5.0,403.0,14.7,396.9,26.42,15.6
116 | 67.9208,0.0,18.1,0.0,0.693,5.683,100.0,1.4254,24.0,666.0,20.2,384.97,22.98,5.0
117 | 0.1396,0.0,8.56,0.0,0.52,6.167,90.0,2.421,5.0,384.0,20.9,392.69,12.33,20.1
118 | 41.5292,0.0,18.1,0.0,0.693,5.531,85.4,1.6074,24.0,666.0,20.2,329.46,27.38,8.5
119 | 0.3692,0.0,9.9,0.0,0.544,6.567,87.3,3.6023,4.0,304.0,18.4,395.69,9.28,23.8
120 | 0.1676,0.0,7.38,0.0,0.493,6.426,52.3,4.5404,5.0,287.0,19.6,396.9,7.2,23.8
121 | 6.96215,0.0,18.1,0.0,0.7,5.713,97.0,1.9265,24.0,666.0,20.2,394.43,17.11,15.1
122 | 2.63548,0.0,9.9,0.0,0.544,4.973,37.8,2.5194,4.0,304.0,18.4,350.45,12.64,16.1
123 | 0.17331,0.0,9.69,0.0,0.585,5.707,54.0,2.3817,6.0,391.0,19.2,396.9,12.01,21.8
124 | 0.84054,0.0,8.14,0.0,0.538,5.599,85.7,4.4546,4.0,307.0,21.0,303.42,16.51,13.9
125 | 0.02763,75.0,2.95,0.0,0.428,6.595,21.8,5.4011,3.0,252.0,18.3,395.63,4.32,30.8
126 | 2.77974,0.0,19.58,0.0,0.871,4.903,97.8,1.3459,5.0,403.0,14.7,396.9,29.29,11.8
127 | 0.75026,0.0,8.14,0.0,0.538,5.924,94.1,4.3996,4.0,307.0,21.0,394.33,16.3,15.6
128 | 0.28955,0.0,10.59,0.0,0.489,5.412,9.8,3.5875,4.0,277.0,18.6,348.93,29.55,23.7
129 | 0.07022,0.0,4.05,0.0,0.51,6.02,47.2,3.5549,5.0,296.0,16.6,393.23,10.11,23.2
130 | 0.05479,33.0,2.18,0.0,0.472,6.616,58.1,3.37,7.0,222.0,18.4,393.36,8.93,28.4
131 | 0.06417,0.0,5.96,0.0,0.499,5.933,68.2,3.3603,5.0,279.0,19.2,396.9,9.68,18.9
132 | 0.11504,0.0,2.89,0.0,0.445,6.163,69.6,3.4952,2.0,276.0,18.0,391.83,11.34,21.4
133 | 0.08308,0.0,2.46,0.0,0.488,5.604,89.8,2.9879,3.0,193.0,17.8,391.0,13.98,26.4
134 | 2.3004,0.0,19.58,0.0,0.605,6.319,96.1,2.1,5.0,403.0,14.7,297.09,11.1,23.8
135 | 0.06905,0.0,2.18,0.0,0.458,7.147,54.2,6.0622,3.0,222.0,18.7,396.9,5.33,36.2
136 | 5.09017,0.0,18.1,0.0,0.713,6.297,91.8,2.3682,24.0,666.0,20.2,385.09,17.27,16.1
137 | 0.0578,0.0,2.46,0.0,0.488,6.98,58.4,2.829,3.0,193.0,17.8,396.9,5.04,37.2
138 | 0.40771,0.0,6.2,1.0,0.507,6.164,91.3,3.048,8.0,307.0,17.4,395.24,21.46,21.7
139 | 0.04297,52.5,5.32,0.0,0.405,6.565,22.9,7.3172,6.0,293.0,16.6,371.72,9.51,24.8
140 | 12.0482,0.0,18.1,0.0,0.614,5.648,87.6,1.9512,24.0,666.0,20.2,291.55,14.1,20.8
141 | 1.35472,0.0,8.14,0.0,0.538,6.072,100.0,4.175,4.0,307.0,21.0,376.73,13.04,14.5
142 | 7.99248,0.0,18.1,0.0,0.7,5.52,100.0,1.5331,24.0,666.0,20.2,396.9,24.56,12.3
143 | 14.0507,0.0,18.1,0.0,0.597,6.657,100.0,1.5275,24.0,666.0,20.2,35.05,21.22,17.2
144 | 0.11747,12.5,7.87,0.0,0.524,6.009,82.9,6.2267,5.0,311.0,15.2,396.9,13.27,18.9
145 | 24.3938,0.0,18.1,0.0,0.7,4.652,100.0,1.4672,24.0,666.0,20.2,396.9,28.28,10.5
146 | 0.18337,0.0,27.74,0.0,0.609,5.414,98.3,1.7554,4.0,711.0,20.1,344.05,23.97,7.0
147 | 0.17505,0.0,5.96,0.0,0.499,5.966,30.2,3.8473,5.0,279.0,19.2,393.43,10.13,24.7
148 | 6.44405,0.0,18.1,0.0,0.584,6.425,74.8,2.2004,24.0,666.0,20.2,97.95,12.03,16.1
149 | 0.09103,0.0,2.46,0.0,0.488,7.155,92.2,2.7006,3.0,193.0,17.8,394.12,4.82,37.9
150 | 3.47428,0.0,18.1,1.0,0.718,8.78,82.9,1.9047,24.0,666.0,20.2,354.55,5.29,21.9
151 | 15.5757,0.0,18.1,0.0,0.58,5.926,71.0,2.9084,24.0,666.0,20.2,368.74,18.13,19.1
152 | 0.13587,0.0,10.59,1.0,0.489,6.064,59.1,4.2392,4.0,277.0,18.6,381.32,14.66,24.4
153 | 1.19294,0.0,21.89,0.0,0.624,6.326,97.7,2.271,4.0,437.0,21.2,396.9,12.26,19.6
154 | 5.82401,0.0,18.1,0.0,0.532,6.242,64.7,3.4242,24.0,666.0,20.2,396.9,10.74,23.0
155 | 0.19657,22.0,5.86,0.0,0.431,6.226,79.2,8.0555,7.0,330.0,19.1,376.14,10.15,20.5
156 | 0.0536,21.0,5.64,0.0,0.439,6.511,21.1,6.8147,4.0,243.0,16.8,396.9,5.28,25.0
157 | 1.61282,0.0,8.14,0.0,0.538,6.096,96.9,3.7598,4.0,307.0,21.0,248.31,20.34,13.5
158 | 0.38214,0.0,6.2,0.0,0.504,8.04,86.5,3.2157,8.0,307.0,17.4,387.38,3.13,37.6
159 | 0.12579,45.0,3.44,0.0,0.437,6.556,29.1,4.5667,5.0,398.0,15.2,382.84,4.56,29.8
160 | 3.32105,0.0,19.58,1.0,0.871,5.403,100.0,1.3216,5.0,403.0,14.7,396.9,26.82,13.4
161 | 9.59571,0.0,18.1,0.0,0.693,6.404,100.0,1.639,24.0,666.0,20.2,376.11,20.31,12.1
162 | 0.02009,95.0,2.68,0.0,0.4161,8.034,31.9,5.118,4.0,224.0,14.7,390.55,2.88,50.0
163 | 0.0795,60.0,1.69,0.0,0.411,6.579,35.9,10.7103,4.0,411.0,18.3,370.78,5.49,24.1
164 | 0.09744,0.0,5.96,0.0,0.499,5.841,61.4,3.3779,5.0,279.0,19.2,377.56,11.41,20.0
165 | 0.85204,0.0,8.14,0.0,0.538,5.965,89.2,4.0123,4.0,307.0,21.0,392.53,13.83,19.6
166 | 0.08014,0.0,5.96,0.0,0.499,5.85,41.5,3.9342,5.0,279.0,19.2,396.9,8.77,21.0
167 | 3.8497,0.0,18.1,1.0,0.77,6.395,91.0,2.5052,24.0,666.0,20.2,391.34,13.27,21.7
168 | 0.62356,0.0,6.2,1.0,0.507,6.879,77.7,3.2721,8.0,307.0,17.4,390.39,9.93,27.5
169 | 20.0849,0.0,18.1,0.0,0.7,4.368,91.2,1.4395,24.0,666.0,20.2,285.83,30.63,8.8
170 | 3.69695,0.0,18.1,0.0,0.718,4.963,91.4,1.7523,24.0,666.0,20.2,316.03,14.0,21.9
171 | 0.17004,12.5,7.87,0.0,0.524,6.004,85.9,6.5921,5.0,311.0,15.2,386.71,17.1,18.9
172 | 13.6781,0.0,18.1,0.0,0.74,5.935,87.9,1.8206,24.0,666.0,20.2,68.95,34.02,8.4
173 | 2.24236,0.0,19.58,0.0,0.605,5.854,91.8,2.422,5.0,403.0,14.7,395.11,11.64,22.7
174 | 0.80271,0.0,8.14,0.0,0.538,5.456,36.6,3.7965,4.0,307.0,21.0,288.99,11.69,20.2
175 | 13.3598,0.0,18.1,0.0,0.693,5.887,94.7,1.7821,24.0,666.0,20.2,396.9,16.35,12.7
176 | 0.06263,0.0,11.93,0.0,0.573,6.593,69.1,2.4786,1.0,273.0,21.0,391.99,9.67,22.4
177 | 0.07013,0.0,13.89,0.0,0.55,6.642,85.1,3.4211,5.0,276.0,16.4,392.78,9.69,28.7
178 | 0.02899,40.0,1.25,0.0,0.429,6.939,34.5,8.7921,1.0,335.0,19.7,389.85,5.89,26.6
179 | 20.7162,0.0,18.1,0.0,0.659,4.138,100.0,1.1781,24.0,666.0,20.2,370.22,23.34,11.9
180 | 0.29916,20.0,6.96,0.0,0.464,5.856,42.1,4.429,3.0,223.0,18.6,388.65,13.0,21.1
181 | 15.288,0.0,18.1,0.0,0.671,6.649,93.3,1.3449,24.0,666.0,20.2,363.02,23.24,13.9
182 | 14.4383,0.0,18.1,0.0,0.597,6.852,100.0,1.4655,24.0,666.0,20.2,179.36,19.78,27.5
183 | 5.44114,0.0,18.1,0.0,0.713,6.655,98.2,2.3552,24.0,666.0,20.2,355.29,17.73,15.2
184 | 0.22212,0.0,10.01,0.0,0.547,6.092,95.4,2.548,6.0,432.0,17.8,396.9,17.09,18.7
185 | 0.09378,12.5,7.87,0.0,0.524,5.889,39.0,5.4509,5.0,311.0,15.2,390.5,15.71,21.7
186 | 12.2472,0.0,18.1,0.0,0.584,5.837,59.7,1.9976,24.0,666.0,20.2,24.65,15.69,10.2
187 | 0.18836,0.0,6.91,0.0,0.448,5.786,33.3,5.1004,3.0,233.0,17.9,396.9,14.15,20.0
188 | 0.02875,28.0,15.04,0.0,0.464,6.211,28.9,3.6659,4.0,270.0,18.2,396.33,6.21,25.0
189 | 0.11432,0.0,8.56,0.0,0.52,6.781,71.3,2.8561,5.0,384.0,20.9,395.58,7.67,26.5
190 | 0.26363,0.0,8.56,0.0,0.52,6.229,91.2,2.5451,5.0,384.0,20.9,391.23,15.55,19.4
191 | 0.08447,0.0,4.05,0.0,0.51,5.859,68.7,2.7019,5.0,296.0,16.6,393.23,9.64,22.6
192 | 8.15174,0.0,18.1,0.0,0.7,5.39,98.9,1.7281,24.0,666.0,20.2,396.9,20.85,11.5
193 | 0.24103,0.0,7.38,0.0,0.493,6.083,43.7,5.4159,5.0,287.0,19.6,396.9,12.79,22.2
194 | 0.04666,80.0,1.52,0.0,0.404,7.107,36.6,7.309,2.0,329.0,12.6,354.31,8.61,30.3
195 | 0.09849,0.0,25.65,0.0,0.581,5.879,95.8,2.0063,2.0,188.0,19.1,379.38,17.58,18.8
196 | 0.65665,20.0,3.97,0.0,0.647,6.842,100.0,2.0107,5.0,264.0,13.0,391.93,6.9,30.1
197 | 2.14918,0.0,19.58,0.0,0.871,5.709,98.5,1.6232,5.0,403.0,14.7,261.95,15.79,19.4
198 | 0.6718,0.0,18.1,0.0,0.74,6.459,94.8,1.9879,24.0,666.0,20.2,43.06,23.98,11.8
199 | 0.12932,0.0,13.92,0.0,0.437,6.678,31.1,5.9604,4.0,289.0,16.0,396.9,6.27,28.6
200 | 1.27346,0.0,19.58,1.0,0.605,6.25,92.6,1.7984,5.0,403.0,14.7,338.92,5.5,27.0
201 | 0.08387,0.0,12.83,0.0,0.437,5.874,36.6,4.5026,5.0,398.0,18.7,396.06,9.1,20.3
202 | 0.61154,20.0,3.97,0.0,0.647,8.704,86.9,1.801,5.0,264.0,13.0,389.7,5.12,50.0
203 | 0.10612,30.0,4.93,0.0,0.428,6.095,65.1,6.3361,6.0,300.0,16.6,394.62,12.4,20.1
204 | 0.06127,40.0,6.41,1.0,0.447,6.826,27.6,4.8628,4.0,254.0,17.6,393.45,4.16,33.1
205 | 7.40389,0.0,18.1,0.0,0.597,5.617,97.9,1.4547,24.0,666.0,20.2,314.64,26.4,17.2
206 | 0.13914,0.0,4.05,0.0,0.51,5.572,88.5,2.5961,5.0,296.0,16.6,396.9,14.69,23.1
207 | 0.35809,0.0,6.2,1.0,0.507,6.951,88.5,2.8617,8.0,307.0,17.4,391.7,9.71,26.7
208 | 6.39312,0.0,18.1,0.0,0.584,6.162,97.4,2.206,24.0,666.0,20.2,302.76,24.1,13.3
209 | 14.3337,0.0,18.1,0.0,0.614,6.229,88.0,1.9512,24.0,666.0,20.2,383.32,13.11,21.4
210 | 5.69175,0.0,18.1,0.0,0.583,6.114,79.8,3.5459,24.0,666.0,20.2,392.68,14.98,19.1
211 | 11.5779,0.0,18.1,0.0,0.7,5.036,97.0,1.77,24.0,666.0,20.2,396.9,25.68,9.7
212 | 0.55007,20.0,3.97,0.0,0.647,7.206,91.6,1.9301,5.0,264.0,13.0,387.89,8.1,36.5
213 | 0.04981,21.0,5.64,0.0,0.439,5.998,21.4,6.8147,4.0,243.0,16.8,396.9,8.43,23.4
214 | 0.04011,80.0,1.52,0.0,0.404,7.287,34.1,7.309,2.0,329.0,12.6,396.9,4.08,33.3
215 | 0.19186,0.0,7.38,0.0,0.493,6.431,14.7,5.4159,5.0,287.0,19.6,393.68,5.08,24.6
216 | 8.79212,0.0,18.1,0.0,0.584,5.565,70.6,2.0635,24.0,666.0,20.2,3.65,17.16,11.7
217 | 0.09299,0.0,25.65,0.0,0.581,5.961,92.9,2.0869,2.0,188.0,19.1,378.09,17.93,20.5
218 | 0.06076,0.0,11.93,0.0,0.573,6.976,91.0,2.1675,1.0,273.0,21.0,396.9,5.64,23.9
219 | 7.52601,0.0,18.1,0.0,0.713,6.417,98.3,2.185,24.0,666.0,20.2,304.21,19.31,13.0
220 | 1.12658,0.0,19.58,1.0,0.871,5.012,88.0,1.6102,5.0,403.0,14.7,343.28,12.12,15.3
221 | 0.13642,0.0,10.59,0.0,0.489,5.891,22.3,3.9454,4.0,277.0,18.6,396.9,10.87,22.6
222 | 1.49632,0.0,19.58,0.0,0.871,5.404,100.0,1.5916,5.0,403.0,14.7,341.6,13.28,19.6
223 | 0.20746,0.0,27.74,0.0,0.609,5.093,98.0,1.8226,4.0,711.0,20.1,318.43,29.68,8.1
224 | 4.03841,0.0,18.1,0.0,0.532,6.229,90.7,3.0993,24.0,666.0,20.2,395.33,12.87,19.6
225 | 7.05042,0.0,18.1,0.0,0.614,6.103,85.1,2.0218,24.0,666.0,20.2,2.52,23.29,13.4
226 | 0.04417,70.0,2.24,0.0,0.4,6.871,47.4,7.8278,5.0,358.0,14.8,390.86,6.07,24.8
227 | 11.0874,0.0,18.1,0.0,0.718,6.411,100.0,1.8589,24.0,666.0,20.2,318.75,15.02,16.7
228 | 1.46336,0.0,19.58,0.0,0.605,7.489,90.8,1.9709,5.0,403.0,14.7,374.43,1.73,50.0
229 | 0.09178,0.0,4.05,0.0,0.51,6.416,84.1,2.6463,5.0,296.0,16.6,395.5,9.04,23.6
230 | 0.07875,45.0,3.44,0.0,0.437,6.782,41.1,3.7886,5.0,398.0,15.2,393.87,6.68,32.0
231 | 0.11329,30.0,4.93,0.0,0.428,6.897,54.3,6.3361,6.0,300.0,16.6,391.25,11.38,22.0
232 | 0.06211,40.0,1.25,0.0,0.429,6.49,44.4,8.7921,1.0,335.0,19.7,396.9,5.98,22.9
233 | 0.15038,0.0,25.65,0.0,0.581,5.856,97.0,1.9444,2.0,188.0,19.1,370.31,25.41,17.3
234 | 0.0187,85.0,4.15,0.0,0.429,6.516,27.7,8.5353,4.0,351.0,17.9,392.43,6.36,23.1
235 | 0.28392,0.0,7.38,0.0,0.493,5.708,74.3,4.7211,5.0,287.0,19.6,391.13,11.74,18.5
236 | 4.55587,0.0,18.1,0.0,0.718,3.561,87.9,1.6132,24.0,666.0,20.2,354.7,7.12,27.5
237 | 6.80117,0.0,18.1,0.0,0.713,6.081,84.4,2.7175,24.0,666.0,20.2,396.9,14.7,20.0
238 | 0.22489,12.5,7.87,0.0,0.524,6.377,94.3,6.3467,5.0,311.0,15.2,392.52,20.45,15.0
239 | 9.96654,0.0,18.1,0.0,0.74,6.485,100.0,1.9784,24.0,666.0,20.2,386.73,18.85,15.4
240 | 0.10469,40.0,6.41,1.0,0.447,7.267,49.0,4.7872,4.0,254.0,17.6,389.25,6.05,33.2
241 | 0.12816,12.5,6.07,0.0,0.409,5.885,33.0,6.498,4.0,345.0,18.9,396.9,8.79,20.9
242 | 0.23912,0.0,9.69,0.0,0.585,6.019,65.3,2.4091,6.0,391.0,19.2,396.9,12.92,21.2
243 | 6.71772,0.0,18.1,0.0,0.713,6.749,92.6,2.3236,24.0,666.0,20.2,0.32,17.44,13.4
244 | 0.26169,0.0,9.9,0.0,0.544,6.023,90.4,2.834,4.0,304.0,18.4,396.3,11.72,19.4
245 | 2.44953,0.0,19.58,0.0,0.605,6.402,95.2,2.2625,5.0,403.0,14.7,330.04,11.32,22.3
246 | 0.2896,0.0,9.69,0.0,0.585,5.39,72.9,2.7986,6.0,391.0,19.2,396.9,21.14,19.7
247 | 0.07978,40.0,6.41,0.0,0.447,6.482,32.1,4.1403,4.0,254.0,17.6,396.9,7.19,29.1
248 | 11.8123,0.0,18.1,0.0,0.718,6.824,76.5,1.794,24.0,666.0,20.2,48.45,22.74,8.4
249 | 0.03738,0.0,5.19,0.0,0.515,6.31,38.5,6.4584,5.0,224.0,20.2,389.4,6.75,20.7
250 | 0.03659,25.0,4.86,0.0,0.426,6.302,32.2,5.4007,4.0,281.0,19.0,396.9,6.72,24.8
251 | 0.34109,0.0,7.38,0.0,0.493,6.415,40.1,4.7211,5.0,287.0,19.6,396.9,6.12,25.0
252 | 0.0456,0.0,13.89,1.0,0.55,5.888,56.0,3.1121,5.0,276.0,16.4,392.8,13.51,23.3
253 | 0.04301,80.0,1.91,0.0,0.413,5.663,21.9,10.5857,4.0,334.0,22.0,382.8,8.05,18.2
254 | 0.10659,80.0,1.91,0.0,0.413,5.936,19.5,10.5857,4.0,334.0,22.0,376.04,5.57,20.6
255 | 0.05425,0.0,4.05,0.0,0.51,6.315,73.4,3.3175,5.0,296.0,16.6,395.6,6.29,24.6
256 | 8.98296,0.0,18.1,1.0,0.77,6.212,97.4,2.1222,24.0,666.0,20.2,377.73,17.6,17.8
257 | 0.14103,0.0,13.92,0.0,0.437,5.79,58.0,6.32,4.0,289.0,16.0,396.9,15.84,20.3
258 | 0.1403,22.0,5.86,0.0,0.431,6.487,13.0,7.3967,7.0,330.0,19.1,396.28,5.9,24.4
259 | 0.14476,0.0,10.01,0.0,0.547,5.731,65.2,2.7592,6.0,432.0,17.8,391.5,13.61,19.3
260 | 18.811,0.0,18.1,0.0,0.597,4.628,100.0,1.5539,24.0,666.0,20.2,28.79,34.37,17.9
261 | 0.03551,25.0,4.86,0.0,0.426,6.167,46.7,5.4007,4.0,281.0,19.0,390.64,7.51,22.9
262 | 15.8744,0.0,18.1,0.0,0.671,6.545,99.1,1.5192,24.0,666.0,20.2,396.9,21.08,10.9
263 | 16.8118,0.0,18.1,0.0,0.7,5.277,98.1,1.4261,24.0,666.0,20.2,396.9,30.81,7.2
264 | 0.05646,0.0,12.83,0.0,0.437,6.232,53.7,5.0141,5.0,398.0,18.7,386.4,12.34,21.2
265 | 0.1265,25.0,5.13,0.0,0.453,6.762,43.4,7.9809,8.0,284.0,19.7,395.58,9.5,25.0
266 | 0.52058,0.0,6.2,1.0,0.507,6.631,76.5,4.148,8.0,307.0,17.4,388.45,9.54,25.1
267 | 0.17142,0.0,6.91,0.0,0.448,5.682,33.8,5.1004,3.0,233.0,17.9,396.9,10.21,19.3
268 | 0.08829,12.5,7.87,0.0,0.524,6.012,66.6,5.5605,5.0,311.0,15.2,395.6,12.43,22.9
269 | 0.13554,12.5,6.07,0.0,0.409,5.594,36.8,6.498,4.0,345.0,18.9,396.9,13.09,17.4
270 | 2.81838,0.0,18.1,0.0,0.532,5.762,40.3,4.0983,24.0,666.0,20.2,392.92,10.42,21.8
271 | 1.34284,0.0,19.58,0.0,0.605,6.066,100.0,1.7573,5.0,403.0,14.7,353.89,6.43,24.3
272 | 7.75223,0.0,18.1,0.0,0.713,6.301,83.7,2.7831,24.0,666.0,20.2,272.21,16.23,14.9
273 | 0.03113,0.0,4.39,0.0,0.442,6.014,48.5,8.0136,3.0,352.0,18.8,385.64,10.53,17.5
274 | 1.51902,0.0,19.58,1.0,0.605,8.375,93.9,2.162,5.0,403.0,14.7,388.45,3.32,50.0
275 | 37.6619,0.0,18.1,0.0,0.679,6.202,78.7,1.8629,24.0,666.0,20.2,18.82,14.52,10.9
276 | 8.64476,0.0,18.1,0.0,0.693,6.193,92.6,1.7912,24.0,666.0,20.2,396.9,15.17,13.8
277 | 5.29305,0.0,18.1,0.0,0.7,6.051,82.5,2.1678,24.0,666.0,20.2,378.38,18.76,23.2
278 | 0.07165,0.0,25.65,0.0,0.581,6.004,84.1,2.1974,2.0,188.0,19.1,377.67,14.27,20.3
279 | 0.49298,0.0,9.9,0.0,0.544,6.635,82.5,3.3175,4.0,304.0,18.4,396.9,4.54,22.8
280 | 7.02259,0.0,18.1,0.0,0.718,6.006,95.3,1.8746,24.0,666.0,20.2,319.98,15.7,14.2
281 | 0.24522,0.0,9.9,0.0,0.544,5.782,71.7,4.0317,4.0,304.0,18.4,396.9,15.94,19.8
282 | 0.29819,0.0,6.2,0.0,0.504,7.686,17.0,3.3751,8.0,307.0,17.4,377.51,3.92,46.7
283 | 19.6091,0.0,18.1,0.0,0.671,7.313,97.9,1.3163,24.0,666.0,20.2,396.9,13.44,15.0
284 | 14.2362,0.0,18.1,0.0,0.693,6.343,100.0,1.5741,24.0,666.0,20.2,396.9,20.32,7.2
285 | 2.3139,0.0,19.58,0.0,0.605,5.88,97.3,2.3887,5.0,403.0,14.7,348.13,12.03,19.1
286 | 0.12269,0.0,6.91,0.0,0.448,6.069,40.0,5.7209,3.0,233.0,17.9,389.39,9.55,21.2
287 | 73.5341,0.0,18.1,0.0,0.679,5.957,100.0,1.8026,24.0,666.0,20.2,16.45,20.62,8.8
288 | 0.14052,0.0,10.59,0.0,0.489,6.375,32.3,3.9454,4.0,277.0,18.6,385.81,9.38,28.1
289 | 0.0686,0.0,2.89,0.0,0.445,7.416,62.5,3.4952,2.0,276.0,18.0,396.9,6.19,33.2
290 | 7.83932,0.0,18.1,0.0,0.655,6.209,65.4,2.9634,24.0,666.0,20.2,396.9,13.22,21.4
291 | 0.95577,0.0,8.14,0.0,0.538,6.047,88.8,4.4534,4.0,307.0,21.0,306.38,17.28,14.8
292 | 2.44668,0.0,19.58,0.0,0.871,5.272,94.0,1.7364,5.0,403.0,14.7,88.63,16.14,13.1
293 | 0.20608,22.0,5.86,0.0,0.431,5.593,76.5,7.9549,7.0,330.0,19.1,372.49,12.5,17.6
294 | 0.05059,0.0,4.49,0.0,0.449,6.389,48.0,4.7794,3.0,247.0,18.5,396.9,9.62,23.9
295 | 1.20742,0.0,19.58,0.0,0.605,5.875,94.6,2.4259,5.0,403.0,14.7,292.29,14.43,17.4
296 | 0.03041,0.0,5.19,0.0,0.515,5.895,59.6,5.615,5.0,224.0,20.2,394.81,10.56,18.5
297 | 0.2498,0.0,21.89,0.0,0.624,5.857,98.2,1.6686,4.0,437.0,21.2,392.04,21.32,13.3
298 | 0.62739,0.0,8.14,0.0,0.538,5.834,56.5,4.4986,4.0,307.0,21.0,395.62,8.47,19.9
299 | 0.17446,0.0,10.59,1.0,0.489,5.96,92.1,3.8771,4.0,277.0,18.6,393.25,17.27,21.7
300 | 0.09512,0.0,12.83,0.0,0.437,6.286,45.0,4.5026,5.0,398.0,18.7,383.23,8.94,21.4
301 | 0.13158,0.0,10.01,0.0,0.547,6.176,72.5,2.7301,6.0,432.0,17.8,393.3,12.04,21.2
302 | 0.05735,0.0,4.49,0.0,0.449,6.63,56.1,4.4377,3.0,247.0,18.5,392.3,6.53,26.6
303 | 0.25199,0.0,10.59,0.0,0.489,5.783,72.7,4.3549,4.0,277.0,18.6,389.43,18.06,22.5
304 | 0.0459,52.5,5.32,0.0,0.405,6.315,45.6,7.3172,6.0,293.0,16.6,396.9,7.6,22.3
305 | 0.57529,0.0,6.2,0.0,0.507,8.337,73.3,3.8384,8.0,307.0,17.4,385.91,2.47,41.7
306 | 15.8603,0.0,18.1,0.0,0.679,5.896,95.4,1.9096,24.0,666.0,20.2,7.68,24.39,8.3
307 | 0.19133,22.0,5.86,0.0,0.431,5.605,70.2,7.9549,7.0,330.0,19.1,389.13,18.46,18.5
308 | 0.07896,0.0,12.83,0.0,0.437,6.273,6.0,4.2515,5.0,398.0,18.7,394.92,6.78,24.1
309 | 0.09266,34.0,6.09,0.0,0.433,6.495,18.4,5.4917,7.0,329.0,16.1,383.61,8.67,26.4
310 | 0.1415,0.0,6.91,0.0,0.448,6.169,6.6,5.7209,3.0,233.0,17.9,383.37,5.81,25.3
311 | 0.32264,0.0,21.89,0.0,0.624,5.942,93.5,1.9669,4.0,437.0,21.2,378.25,16.9,17.4
312 | 8.49213,0.0,18.1,0.0,0.584,6.348,86.1,2.0527,24.0,666.0,20.2,83.45,17.64,14.5
313 | 0.03237,0.0,2.18,0.0,0.458,6.998,45.8,6.0622,3.0,222.0,18.7,394.63,2.94,33.4
314 | 4.75237,0.0,18.1,0.0,0.713,6.525,86.5,2.4358,24.0,666.0,20.2,50.92,18.13,14.1
315 | 10.233,0.0,18.1,0.0,0.614,6.185,96.7,2.1705,24.0,666.0,20.2,379.7,18.03,14.6
316 | 0.01381,80.0,0.46,0.0,0.422,7.875,32.0,5.6484,4.0,255.0,14.4,394.23,2.97,50.0
317 | 0.1712,0.0,8.56,0.0,0.52,5.836,91.9,2.211,5.0,384.0,20.9,395.67,18.66,19.5
318 | 13.9134,0.0,18.1,0.0,0.713,6.208,95.0,2.2222,24.0,666.0,20.2,100.63,15.17,11.7
319 | 0.44178,0.0,6.2,0.0,0.504,6.552,21.4,3.3751,8.0,307.0,17.4,380.34,3.76,31.5
320 | 0.46296,0.0,6.2,0.0,0.504,7.412,76.9,3.6715,8.0,307.0,17.4,376.14,5.25,31.7
321 | 0.36894,22.0,5.86,0.0,0.431,8.259,8.4,8.9067,7.0,330.0,19.1,396.9,3.54,42.8
322 | 0.1146,20.0,6.96,0.0,0.464,6.538,58.7,3.9175,3.0,223.0,18.6,394.96,7.73,24.4
323 | 0.03584,80.0,3.37,0.0,0.398,6.29,17.8,6.6115,4.0,337.0,16.1,396.9,4.67,23.5
324 | 0.7857,20.0,3.97,0.0,0.647,7.014,84.6,2.1329,5.0,264.0,13.0,384.07,14.79,30.7
325 | 0.98843,0.0,8.14,0.0,0.538,5.813,100.0,4.0952,4.0,307.0,21.0,394.54,19.88,14.5
326 | 0.05561,70.0,2.24,0.0,0.4,7.041,10.0,7.8278,5.0,358.0,14.8,371.58,4.74,29.0
327 | 5.87205,0.0,18.1,0.0,0.693,6.405,96.0,1.6768,24.0,666.0,20.2,396.9,19.37,12.5
328 | 0.04527,0.0,11.93,0.0,0.573,6.12,76.7,2.2875,1.0,273.0,21.0,396.9,9.08,20.6
329 | 0.35114,0.0,7.38,0.0,0.493,6.041,49.9,4.7211,5.0,287.0,19.6,396.9,7.7,20.4
330 | 0.79041,0.0,9.9,0.0,0.544,6.122,52.8,2.6403,4.0,304.0,18.4,396.9,5.98,22.1
331 | 0.13262,0.0,8.56,0.0,0.52,5.851,96.7,2.1069,5.0,384.0,20.9,394.05,16.47,19.5
332 | 0.21409,22.0,5.86,0.0,0.431,6.438,8.9,7.3967,7.0,330.0,19.1,377.07,3.59,24.8
333 | 0.11132,0.0,27.74,0.0,0.609,5.983,83.5,2.1099,4.0,711.0,20.1,396.9,13.35,20.1
334 | 0.17899,0.0,9.69,0.0,0.585,5.67,28.8,2.7986,6.0,391.0,19.2,393.29,17.6,23.1
335 | 9.51363,0.0,18.1,0.0,0.713,6.728,94.1,2.4961,24.0,666.0,20.2,6.68,18.71,14.9
336 | 0.14455,12.5,7.87,0.0,0.524,6.172,96.1,5.9505,5.0,311.0,15.2,396.9,19.15,27.1
337 | 0.12757,30.0,4.93,0.0,0.428,6.393,7.8,7.0355,6.0,300.0,16.6,374.71,5.19,23.7
338 | 9.91655,0.0,18.1,0.0,0.693,5.852,77.8,1.5004,24.0,666.0,20.2,338.16,29.97,6.3
339 | 0.03502,80.0,4.95,0.0,0.411,6.861,27.9,5.1167,4.0,245.0,19.2,396.9,3.33,28.5
340 | 3.56868,0.0,18.1,0.0,0.58,6.437,75.0,2.8965,24.0,666.0,20.2,393.37,14.36,23.2
341 | 0.40202,0.0,9.9,0.0,0.544,6.382,67.2,3.5325,4.0,304.0,18.4,395.21,10.36,23.1
342 | 0.05372,0.0,13.92,0.0,0.437,6.549,51.0,5.9604,4.0,289.0,16.0,392.85,7.39,27.1
343 | 0.11425,0.0,13.89,1.0,0.55,6.373,92.4,3.3633,5.0,276.0,16.4,393.74,10.5,23.0
344 | 0.10574,0.0,27.74,0.0,0.609,5.983,98.8,1.8681,4.0,711.0,20.1,390.11,18.07,13.6
345 | 0.06047,0.0,2.46,0.0,0.488,6.153,68.8,3.2797,3.0,193.0,17.8,387.11,13.15,29.6
346 | 6.65492,0.0,18.1,0.0,0.713,6.317,83.0,2.7344,24.0,666.0,20.2,396.9,13.99,19.5
347 | 0.04113,25.0,4.86,0.0,0.426,6.727,33.5,5.4007,4.0,281.0,19.0,396.9,5.29,28.0
348 | 0.1,34.0,6.09,0.0,0.433,6.982,17.7,5.4917,7.0,329.0,16.1,390.43,4.86,33.1
349 | 9.2323,0.0,18.1,0.0,0.631,6.216,100.0,1.1691,24.0,666.0,20.2,366.15,9.53,50.0
350 | 0.14866,0.0,8.56,0.0,0.52,6.727,79.9,2.7778,5.0,384.0,20.9,394.76,9.42,27.5
351 | 0.66351,20.0,3.97,0.0,0.647,7.333,100.0,1.8946,5.0,264.0,13.0,383.29,7.79,36.0
352 | 0.10008,0.0,2.46,0.0,0.488,6.563,95.6,2.847,3.0,193.0,17.8,396.9,5.68,32.5
353 | 0.54452,0.0,21.89,0.0,0.624,6.151,97.9,1.6687,4.0,437.0,21.2,396.9,18.46,17.8
354 | 2.01019,0.0,19.58,0.0,0.605,7.929,96.2,2.0459,5.0,403.0,14.7,369.3,3.7,50.0
355 | 0.05789,12.5,6.07,0.0,0.409,5.878,21.4,6.498,4.0,345.0,18.9,396.21,8.1,22.0
356 | 1.15172,0.0,8.14,0.0,0.538,5.701,95.0,3.7872,4.0,307.0,21.0,358.77,18.35,13.1
357 | 14.4208,0.0,18.1,0.0,0.74,6.461,93.3,2.0026,24.0,666.0,20.2,27.49,18.05,9.6
358 | 0.13058,0.0,10.01,0.0,0.547,5.872,73.1,2.4775,6.0,432.0,17.8,338.63,15.37,20.4
359 | 0.03049,55.0,3.78,0.0,0.484,6.874,28.1,6.4654,5.0,370.0,17.6,387.97,4.61,31.2
360 | 0.16439,22.0,5.86,0.0,0.431,6.433,49.1,7.8265,7.0,330.0,19.1,374.71,9.52,24.5
361 | 0.01951,17.5,1.38,0.0,0.4161,7.104,59.5,9.2229,3.0,216.0,18.6,393.24,8.05,33.0
362 | 0.06642,0.0,4.05,0.0,0.51,6.86,74.4,2.9153,5.0,296.0,16.6,391.27,6.92,29.9
363 | 0.05083,0.0,5.19,0.0,0.515,6.316,38.1,6.4584,5.0,224.0,20.2,389.71,5.68,22.2
364 | 0.04544,0.0,3.24,0.0,0.46,6.144,32.2,5.8736,4.0,430.0,16.9,368.57,9.09,19.8
365 | 0.21124,12.5,7.87,0.0,0.524,5.631,100.0,6.0821,5.0,311.0,15.2,386.63,29.93,16.5
366 | 0.06151,0.0,5.19,0.0,0.515,5.968,58.5,4.8122,5.0,224.0,20.2,396.9,9.29,18.7
367 | 4.42228,0.0,18.1,0.0,0.584,6.003,94.5,2.5403,24.0,666.0,20.2,331.29,21.32,19.1
368 | 0.38735,0.0,25.65,0.0,0.581,5.613,95.6,1.7572,2.0,188.0,19.1,359.29,27.26,15.7
369 | 0.00632,18.0,2.31,0.0,0.538,6.575,65.2,4.09,1.0,296.0,15.3,396.9,4.98,24.0
370 | 0.04684,0.0,3.41,0.0,0.489,6.417,66.1,3.0923,2.0,270.0,17.8,392.18,8.81,22.6
371 | 0.09065,20.0,6.96,1.0,0.464,5.92,61.5,3.9175,3.0,223.0,18.6,391.34,13.65,20.7
372 | 0.05302,0.0,3.41,0.0,0.489,7.079,63.1,3.4145,2.0,270.0,17.8,396.06,5.7,28.7
373 | 2.33099,0.0,19.58,0.0,0.871,5.186,93.8,1.5296,5.0,403.0,14.7,356.99,28.32,17.8
374 | 0.14932,25.0,5.13,0.0,0.453,5.741,66.2,7.2254,8.0,284.0,19.7,395.11,13.15,18.7
375 | 4.64689,0.0,18.1,0.0,0.614,6.98,67.6,2.5329,24.0,666.0,20.2,374.68,11.66,29.8
376 | 7.36711,0.0,18.1,0.0,0.679,6.193,78.1,1.9356,24.0,666.0,20.2,96.73,21.52,11.0
377 | 0.06617,0.0,3.24,0.0,0.46,5.868,25.8,5.2146,4.0,430.0,16.9,382.44,9.97,19.3
378 | 0.15936,0.0,6.91,0.0,0.448,6.211,6.5,5.7209,3.0,233.0,17.9,394.46,7.44,24.7
379 | 25.0461,0.0,18.1,0.0,0.693,5.987,100.0,1.5888,24.0,666.0,20.2,396.9,26.77,5.6
380 | 3.67822,0.0,18.1,0.0,0.77,5.362,96.2,2.1036,24.0,666.0,20.2,380.79,10.19,20.8
381 | 14.3337,0.0,18.1,0.0,0.7,4.88,100.0,1.5895,24.0,666.0,20.2,372.92,30.62,10.2
382 | 88.9762,0.0,18.1,0.0,0.671,6.968,91.9,1.4165,24.0,666.0,20.2,396.9,17.21,10.4
383 | 0.06911,45.0,3.44,0.0,0.437,6.739,30.8,6.4798,5.0,398.0,15.2,389.71,4.69,30.5
384 | 6.53876,0.0,18.1,1.0,0.631,7.016,97.5,1.2024,24.0,666.0,20.2,392.05,2.96,50.0
385 | 5.58107,0.0,18.1,0.0,0.713,6.436,87.9,2.3158,24.0,666.0,20.2,100.19,16.22,14.3
386 | 0.25387,0.0,6.91,0.0,0.448,5.399,95.3,5.87,3.0,233.0,17.9,396.9,30.81,14.4
387 | 3.67367,0.0,18.1,0.0,0.583,6.312,51.9,3.9917,24.0,666.0,20.2,388.62,10.58,21.2
388 | 9.82349,0.0,18.1,0.0,0.671,6.794,98.8,1.358,24.0,666.0,20.2,396.9,21.24,13.3
389 | 0.0136,75.0,4.0,0.0,0.41,5.888,47.6,7.3197,3.0,469.0,21.1,396.9,14.8,18.9
390 | 0.33147,0.0,6.2,0.0,0.507,8.247,70.4,3.6519,8.0,307.0,17.4,378.95,3.95,48.3
391 | 0.22969,0.0,10.59,0.0,0.489,6.326,52.5,4.3549,4.0,277.0,18.6,394.87,10.97,24.4
392 | 1.05393,0.0,8.14,0.0,0.538,5.935,29.3,4.4986,4.0,307.0,21.0,386.85,6.58,23.1
393 | 0.02543,55.0,3.78,0.0,0.484,6.696,56.4,5.7321,5.0,370.0,17.6,396.9,7.18,23.9
394 | 0.08826,0.0,10.81,0.0,0.413,6.417,6.6,5.2873,4.0,305.0,19.2,383.73,6.72,24.2
395 | 0.03359,75.0,2.95,0.0,0.428,7.024,15.8,5.4011,3.0,252.0,18.3,395.62,1.98,34.9
396 | 0.08265,0.0,13.92,0.0,0.437,6.127,18.4,5.5027,4.0,289.0,16.0,396.9,8.58,23.9
397 | 0.05188,0.0,4.49,0.0,0.449,6.015,45.1,4.4272,3.0,247.0,18.5,395.99,12.86,22.5
398 | 0.06899,0.0,25.65,0.0,0.581,5.87,69.7,2.2577,2.0,188.0,19.1,389.15,14.37,22.0
399 | 0.10084,0.0,10.01,0.0,0.547,6.715,81.6,2.6775,6.0,432.0,17.8,395.59,10.16,22.8
400 | 0.67191,0.0,8.14,0.0,0.538,5.813,90.3,4.682,4.0,307.0,21.0,376.88,14.81,16.6
401 | 9.32909,0.0,18.1,0.0,0.713,6.185,98.7,2.2616,24.0,666.0,20.2,396.9,18.13,14.1
402 | 51.1358,0.0,18.1,0.0,0.597,5.757,100.0,1.413,24.0,666.0,20.2,2.6,10.11,15.0
403 | 0.01501,90.0,1.21,1.0,0.401,7.923,24.8,5.885,1.0,198.0,13.6,395.52,3.16,50.0
404 | 0.02055,85.0,0.74,0.0,0.41,6.383,35.7,9.1876,2.0,313.0,17.3,396.9,5.77,24.7
405 | 0.08244,30.0,4.93,0.0,0.428,6.481,18.5,6.1899,6.0,300.0,16.6,379.41,6.36,23.7
406 |
--------------------------------------------------------------------------------
/ml03/boston_test_data.csv:
--------------------------------------------------------------------------------
1 | crim,zn,indus,chas,nox,rm,age,dis,rad,tax,ptratio,black,lstat
2 | 0.07886,80.0,4.95,0.0,0.411,7.148,27.7,5.1167,4.0,245.0,19.2,396.9,3.56
3 | 0.08873,21.0,5.64,0.0,0.439,5.963,45.7,6.8147,4.0,243.0,16.8,395.56,13.45
4 | 1.38799,0.0,8.14,0.0,0.538,5.95,82.0,3.99,4.0,307.0,21.0,232.6,27.71
5 | 0.30347,0.0,7.38,0.0,0.493,6.312,28.9,5.4159,5.0,287.0,19.6,396.9,6.15
6 | 0.22927,0.0,6.91,0.0,0.448,6.03,85.5,5.6894,3.0,233.0,17.9,392.74,18.8
7 | 0.06466,70.0,2.24,0.0,0.4,6.345,20.1,7.8278,5.0,358.0,14.8,368.24,4.97
8 | 0.13117,0.0,8.56,0.0,0.52,6.127,85.2,2.1224,5.0,384.0,20.9,387.69,14.09
9 | 1.23247,0.0,8.14,0.0,0.538,6.142,91.7,3.9769,4.0,307.0,21.0,396.9,18.72
10 | 0.43571,0.0,10.59,1.0,0.489,5.344,100.0,3.875,4.0,277.0,18.6,396.9,23.09
11 | 0.08187,0.0,2.89,0.0,0.445,7.82,36.9,3.4952,2.0,276.0,18.0,393.53,3.57
12 | 0.52014,20.0,3.97,0.0,0.647,8.398,91.5,2.2885,5.0,264.0,13.0,386.86,5.91
13 | 24.8017,0.0,18.1,0.0,0.693,5.349,96.0,1.7028,24.0,666.0,20.2,396.9,19.77
14 | 1.25179,0.0,8.14,0.0,0.538,5.57,98.1,3.7979,4.0,307.0,21.0,376.57,21.02
15 | 0.54011,20.0,3.97,0.0,0.647,7.203,81.8,2.1121,5.0,264.0,13.0,392.8,9.59
16 | 11.9511,0.0,18.1,0.0,0.659,5.608,100.0,1.2852,24.0,666.0,20.2,332.09,12.13
17 | 12.8023,0.0,18.1,0.0,0.74,5.854,96.6,1.8956,24.0,666.0,20.2,240.52,23.79
18 | 0.04294,28.0,15.04,0.0,0.464,6.249,77.3,3.615,4.0,270.0,18.2,396.9,10.59
19 | 0.17171,25.0,5.13,0.0,0.453,5.966,93.4,6.8185,8.0,284.0,19.7,378.08,14.44
20 | 0.03961,0.0,5.19,0.0,0.515,6.037,34.5,5.9853,5.0,224.0,20.2,396.9,8.01
21 | 11.1081,0.0,18.1,0.0,0.668,4.906,100.0,1.1742,24.0,666.0,20.2,396.9,34.77
22 | 0.09164,0.0,10.81,0.0,0.413,6.065,7.8,5.2873,4.0,305.0,19.2,390.91,5.52
23 | 0.41238,0.0,6.2,0.0,0.504,7.163,79.9,3.2157,8.0,307.0,17.4,372.08,6.36
24 | 1.62864,0.0,21.89,0.0,0.624,5.019,100.0,1.4394,4.0,437.0,21.2,396.9,34.41
25 | 22.0511,0.0,18.1,0.0,0.74,5.818,92.4,1.8662,24.0,666.0,20.2,391.45,22.11
26 | 0.03548,80.0,3.64,0.0,0.392,5.876,19.1,9.2203,1.0,315.0,16.4,395.18,9.25
27 | 0.47547,0.0,9.9,0.0,0.544,6.113,58.8,4.0019,4.0,304.0,18.4,396.23,12.73
28 | 0.01311,90.0,1.22,0.0,0.403,7.249,21.9,8.6966,5.0,226.0,17.9,395.93,4.81
29 | 0.34006,0.0,21.89,0.0,0.624,6.458,98.9,2.1185,4.0,437.0,21.2,395.04,12.6
30 | 0.7842,0.0,8.14,0.0,0.538,5.99,81.7,4.2579,4.0,307.0,21.0,386.75,14.67
31 | 0.03578,20.0,3.33,0.0,0.4429,7.82,64.5,4.6947,5.0,216.0,14.9,387.31,3.76
32 | 0.01096,55.0,2.25,0.0,0.389,6.453,31.9,7.3073,1.0,300.0,15.3,394.72,8.23
33 | 18.4982,0.0,18.1,0.0,0.668,4.138,100.0,1.137,24.0,666.0,20.2,396.9,37.97
34 | 0.01965,80.0,1.76,0.0,0.385,6.23,31.5,9.0892,1.0,241.0,18.2,341.6,12.93
35 | 0.17783,0.0,9.69,0.0,0.585,5.569,73.5,2.3999,6.0,391.0,19.2,395.77,15.1
36 | 2.37857,0.0,18.1,0.0,0.583,5.871,41.9,3.724,24.0,666.0,20.2,370.73,13.34
37 | 4.89822,0.0,18.1,0.0,0.631,4.97,100.0,1.3325,24.0,666.0,20.2,375.52,3.26
38 | 0.12204,0.0,2.89,0.0,0.445,6.625,57.8,3.4952,2.0,276.0,18.0,357.98,6.65
39 | 0.12083,0.0,2.89,0.0,0.445,8.069,76.0,3.4952,2.0,276.0,18.0,396.9,4.21
40 | 0.15445,25.0,5.13,0.0,0.453,6.145,29.2,7.8148,8.0,284.0,19.7,390.68,6.86
41 | 2.15505,0.0,19.58,0.0,0.871,5.628,100.0,1.5166,5.0,403.0,14.7,169.27,16.65
42 | 8.05579,0.0,18.1,0.0,0.584,5.427,95.4,2.4298,24.0,666.0,20.2,352.58,18.14
43 | 0.0351,95.0,2.68,0.0,0.4161,7.853,33.2,5.118,4.0,224.0,14.7,392.78,3.81
44 | 0.62976,0.0,8.14,0.0,0.538,5.949,61.8,4.7075,4.0,307.0,21.0,396.9,8.26
45 | 0.97617,0.0,21.89,0.0,0.624,5.757,98.4,2.346,4.0,437.0,21.2,262.76,17.31
46 | 0.00906,90.0,2.97,0.0,0.4,7.088,20.8,7.3073,1.0,285.0,15.3,394.72,7.85
47 | 0.07151,0.0,4.49,0.0,0.449,6.121,56.8,3.7476,3.0,247.0,18.5,395.15,8.44
48 | 0.17134,0.0,10.01,0.0,0.547,5.928,88.2,2.4631,6.0,432.0,17.8,344.91,15.76
49 | 0.27957,0.0,9.69,0.0,0.585,5.926,42.6,2.3817,6.0,391.0,19.2,396.9,13.59
50 | 5.20177,0.0,18.1,1.0,0.77,6.127,83.4,2.7227,24.0,666.0,20.2,395.43,11.48
51 | 0.55778,0.0,21.89,0.0,0.624,6.335,98.2,2.1107,4.0,437.0,21.2,394.67,16.96
52 | 0.19802,0.0,10.59,0.0,0.489,6.182,42.4,3.9454,4.0,277.0,18.6,393.63,9.47
53 | 0.25915,0.0,21.89,0.0,0.624,5.693,96.0,1.7883,4.0,437.0,21.2,392.11,17.19
54 | 0.15098,0.0,10.01,0.0,0.547,6.021,82.6,2.7474,6.0,432.0,17.8,394.51,10.3
55 | 9.39063,0.0,18.1,0.0,0.74,5.627,93.9,1.8172,24.0,666.0,20.2,396.9,22.88
56 | 0.16211,20.0,6.96,0.0,0.464,6.24,16.3,4.429,3.0,223.0,18.6,396.9,6.59
57 | 0.76162,20.0,3.97,0.0,0.647,5.56,62.8,1.9865,5.0,264.0,13.0,392.4,10.45
58 | 0.11069,0.0,13.89,1.0,0.55,5.951,93.8,2.8893,5.0,276.0,16.4,396.9,17.92
59 | 0.03466,35.0,6.06,0.0,0.4379,6.031,23.3,6.6407,1.0,304.0,16.9,362.25,7.83
60 | 0.03427,0.0,5.19,0.0,0.515,5.869,46.3,5.2311,5.0,224.0,20.2,396.9,9.8
61 | 0.26838,0.0,9.69,0.0,0.585,5.794,70.6,2.8927,6.0,391.0,19.2,396.9,14.1
62 | 0.52693,0.0,6.2,0.0,0.504,8.725,83.0,2.8944,8.0,307.0,17.4,382.0,4.63
63 | 0.32543,0.0,21.89,0.0,0.624,6.431,98.8,1.8125,4.0,437.0,21.2,396.9,15.39
64 | 2.36862,0.0,19.58,0.0,0.871,4.926,95.7,1.4608,5.0,403.0,14.7,391.71,29.53
65 | 0.16902,0.0,25.65,0.0,0.581,5.986,88.4,1.9929,2.0,188.0,19.1,385.02,14.81
66 | 0.09068,45.0,3.44,0.0,0.437,6.951,21.5,6.4798,5.0,398.0,15.2,377.68,5.1
67 | 45.7461,0.0,18.1,0.0,0.693,4.519,100.0,1.6582,24.0,666.0,20.2,88.27,36.98
68 | 0.12329,0.0,10.01,0.0,0.547,5.913,92.9,2.3534,6.0,432.0,17.8,394.95,16.21
69 | 0.537,0.0,6.2,0.0,0.504,5.981,68.1,3.6715,8.0,307.0,17.4,378.35,11.65
70 | 1.80028,0.0,19.58,0.0,0.605,5.877,79.2,2.4259,5.0,403.0,14.7,227.61,12.14
71 | 3.77498,0.0,18.1,0.0,0.655,5.952,84.7,2.8715,24.0,666.0,20.2,22.01,17.15
72 | 0.09604,40.0,6.41,0.0,0.447,6.854,42.8,4.2673,4.0,254.0,17.6,396.9,2.98
73 | 0.04741,0.0,11.93,0.0,0.573,6.03,80.8,2.505,1.0,273.0,21.0,396.9,7.88
74 | 0.22876,0.0,8.56,0.0,0.52,6.405,85.4,2.7147,5.0,384.0,20.9,70.8,10.63
75 | 0.0566,0.0,3.41,0.0,0.489,7.007,86.3,3.4217,2.0,270.0,17.8,396.9,5.5
76 | 0.06162,0.0,4.39,0.0,0.442,5.898,52.3,8.0136,3.0,352.0,18.8,364.61,12.67
77 | 4.87141,0.0,18.1,0.0,0.614,6.484,93.6,2.3053,24.0,666.0,20.2,396.21,18.68
78 | 0.33983,22.0,5.86,0.0,0.431,6.108,34.9,8.0555,7.0,330.0,19.1,390.18,9.16
79 | 0.04379,80.0,3.37,0.0,0.398,5.787,31.1,6.6115,4.0,337.0,16.1,396.9,10.24
80 | 0.01432,100.0,1.32,0.0,0.411,6.816,40.5,8.3248,5.0,256.0,15.1,392.9,3.95
81 | 0.51183,0.0,6.2,0.0,0.507,7.358,71.6,4.148,8.0,307.0,17.4,390.07,4.73
82 | 0.21161,0.0,8.56,0.0,0.52,6.137,87.4,2.7147,5.0,384.0,20.9,394.47,13.44
83 | 3.69311,0.0,18.1,0.0,0.713,6.376,88.4,2.5671,24.0,666.0,20.2,391.43,14.65
84 | 0.03615,80.0,4.95,0.0,0.411,6.63,23.4,5.1167,4.0,245.0,19.2,396.9,4.7
85 | 10.8342,0.0,18.1,0.0,0.679,6.782,90.8,1.8195,24.0,666.0,20.2,21.57,25.79
86 | 0.05515,33.0,2.18,0.0,0.472,7.236,41.1,4.022,7.0,222.0,18.4,393.68,6.93
87 | 22.5971,0.0,18.1,0.0,0.7,5.0,89.5,1.5184,24.0,666.0,20.2,396.9,31.99
88 | 0.15086,0.0,27.74,0.0,0.609,5.454,92.7,1.8209,4.0,711.0,20.1,395.09,18.06
89 | 0.88125,0.0,21.89,0.0,0.624,5.637,94.7,1.9799,4.0,437.0,21.2,396.9,18.34
90 | 0.05023,35.0,6.06,0.0,0.4379,5.706,28.4,6.6407,1.0,304.0,16.9,394.02,12.43
91 | 28.6558,0.0,18.1,0.0,0.597,5.155,100.0,1.5894,24.0,666.0,20.2,210.97,20.08
92 | 0.22438,0.0,9.69,0.0,0.585,6.027,79.7,2.4982,6.0,391.0,19.2,396.9,14.33
93 | 1.83377,0.0,19.58,1.0,0.605,7.802,98.2,2.0407,5.0,403.0,14.7,389.61,1.92
94 | 8.26725,0.0,18.1,1.0,0.668,5.875,89.6,1.1296,24.0,666.0,20.2,347.88,8.88
95 | 13.0751,0.0,18.1,0.0,0.58,5.713,56.7,2.8237,24.0,666.0,20.2,396.9,14.76
96 | 0.05644,40.0,6.41,1.0,0.447,6.758,32.9,4.0776,4.0,254.0,17.6,396.9,3.53
97 | 6.28807,0.0,18.1,0.0,0.74,6.341,96.4,2.072,24.0,666.0,20.2,318.01,17.79
98 | 0.08664,45.0,3.44,0.0,0.437,7.178,26.3,6.4798,5.0,398.0,15.2,390.49,2.87
99 | 0.06724,0.0,3.24,0.0,0.46,6.333,17.2,5.2146,4.0,430.0,16.9,375.21,7.34
100 | 2.924,0.0,19.58,0.0,0.605,6.101,93.0,2.2834,5.0,403.0,14.7,240.16,9.81
101 | 0.32982,0.0,21.89,0.0,0.624,5.822,95.4,2.4699,4.0,437.0,21.2,388.69,15.03
102 | 0.01538,90.0,3.75,0.0,0.394,7.454,34.2,6.3361,3.0,244.0,15.9,386.34,3.11
103 | 0.06129,20.0,3.33,1.0,0.4429,7.645,49.7,5.2119,5.0,216.0,14.9,377.07,3.01
104 |
--------------------------------------------------------------------------------
/ml03/features.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml03/features.png
--------------------------------------------------------------------------------
/ml03/lasso.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml03/lasso.png
--------------------------------------------------------------------------------
/ml03/ridge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml03/ridge.png
--------------------------------------------------------------------------------
/ml04/README.md:
--------------------------------------------------------------------------------
1 | Merhabalar, Machine Learning serimizin dördüncüsünde,
2 |
3 | - Gözetimsiz öğrenme kavramını inceleyecek,
4 | - Kümeleme yöntemini ve bu yöntemi içeren K-Means Algoritması’nı öğrenecek,
5 | - Kümeleme yönteminin kritik konularından olan boyut azaltma ve Temel Bileşenler Analizi(PCA) kavramlarına değineceğiz.
6 |
7 | TR: https://gokerguner.medium.com/machine-learning-4-gözetimsiz-öğrenme-kümeleme-k-means-algoritması-boyut-azaltma-temel-44598c53ee0c
8 |
9 | EN: https://gokerguner.medium.com/machine-learning-4-unsupervised-learning-clustering-k-means-algorithm-dimensional-reduction-238a54e8cfcd
10 |
--------------------------------------------------------------------------------
/ml05/README.md:
--------------------------------------------------------------------------------
1 | Merhabalar, Machine Learning serimizin beşincisinde;
2 |
3 | * Doğrusal sınıflandırıcıları tanıyacak,
4 | * Mantıksal regresyon ve ilgili kavramları örneklendirerek inceleyeceğiz.
5 |
--------------------------------------------------------------------------------
/ml06/Ekran Resmi 2024-05-23 22.26.22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml06/Ekran Resmi 2024-05-23 22.26.22.png
--------------------------------------------------------------------------------
/ml06/README.md:
--------------------------------------------------------------------------------
1 | Merhabalar, Machine Learning serimizin altıncı bölümünde, daha önce kullanımına kısaca değindiğimiz ağaç bazlı modelleri teorik olarak daha derinlemesine ele alıyoruz.
2 |
3 | Bu bölümde;
4 |
5 | - Entropi ve Gini index gibi temel kavramları açıklayacak, karar ağaçlarının nasıl oluşturulduğunu ve kullanıldığını detaylandıracağız.
6 | - Ayrıca, sınıflandırma ve regresyon problemleri için karar ağaçlarının nasıl uygulanacağını örneklerle göstereceğiz.
7 |
8 | TR: https://gokerguner.medium.com/machine-learning-6-a%C4%9Fa%C3%A7-bazl%C4%B1-modeller-entropi-gini-index-s%C4%B1n%C4%B1fland%C4%B1rma-ve-regresyon-i%CC%87%C3%A7in-d91878cccecc
9 |
10 | EN: https://gokerguner.medium.com/machine-learning-6-tree-based-models-entropy-gini-index-decision-trees-for-classification-be0a0c5c4c95
11 |
--------------------------------------------------------------------------------
/ml06/mse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml06/mse.png
--------------------------------------------------------------------------------
/ml06/ortalama.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml06/ortalama.png
--------------------------------------------------------------------------------
/ml06/saflik_azalma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml06/saflik_azalma.png
--------------------------------------------------------------------------------
/ml06/temp.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/ml06/temp.txt
--------------------------------------------------------------------------------
/py01/README.md:
--------------------------------------------------------------------------------
1 | Python diline ait, bilinmeyen ama kullanışlı built-in metodlarını ve genel olarak Python dilinin kullanım alanlarını anlattığım yazı dizisinin ilkinde,
2 | özel bir Python değişkeni olan **__ name __** değişkenini ve
3 |
4 | if **__ name __** == **"__ main __":**
5 |
6 | ifadesinin çalışma şeklini inceliyoruz.
7 |
--------------------------------------------------------------------------------
/py01/file1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/py01/file1.jpg
--------------------------------------------------------------------------------
/py01/file1.py:
--------------------------------------------------------------------------------
1 | # file1.py
2 | def addition(n1, n2):
3 | print(__name__)
4 | return n1 + n2
5 |
6 |
7 | if __name__ == "__main__":
8 | print("Hello, I'm file1.py")
--------------------------------------------------------------------------------
/py01/file2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/py01/file2.jpg
--------------------------------------------------------------------------------
/py01/file2.py:
--------------------------------------------------------------------------------
1 | # file2.py
2 | import file1
3 |
4 | print(file1.addition(5, 3))
5 | print(__name__)
--------------------------------------------------------------------------------
/py01/py01.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "*__ __name__ __*, özel bir Python değişkenidir. Değerini, kendisini içeren Python betiğinin nasıl çalıştırıldığına bağlı olarak alır. file1.py ve file2.py isimli iki dosyamızın içeriğini inceleyerek başlayalım."
8 | ]
9 | },
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | ""
15 | ]
16 | },
17 | {
18 | "cell_type": "markdown",
19 | "metadata": {},
20 | "source": [
21 | "file1.py isimli dosyamızda, addition adında bir fonksiyon tanımlıyoruz. Bu fonksiyon, kendisine girdi olarak verilen 2 değişkenin toplamını döndürürken, kullanımını incelediğimiz **__ name __** değişkenimizin değerini de ekrana yazdıracak."
22 | ]
23 | },
24 | {
25 | "cell_type": "markdown",
26 | "metadata": {},
27 | "source": [
28 | ""
29 | ]
30 | },
31 | {
32 | "cell_type": "markdown",
33 | "metadata": {},
34 | "source": [
35 | "file2.py isimli dosyamızın başında file1 dosyamızı modül olarak kullanabilmek için import ediyoruz. Ardından file1 modülümüzden addition fonksiyonunu çağırıp input olarak 2 sayı veriyoruz. Son satırda da **__ name __** değişkenimizin değerini yine ekrana bastırıyoruz. Şimdi teker teker dosyalarımızı çalıştırarak **__ name __** değişkenimizin davranışlarını inceleyelim."
36 | ]
37 | },
38 | {
39 | "cell_type": "code",
40 | "execution_count": 4,
41 | "metadata": {},
42 | "outputs": [
43 | {
44 | "name": "stdout",
45 | "output_type": "stream",
46 | "text": [
47 | "Hello, I'm file1.py\r\n"
48 | ]
49 | }
50 | ],
51 | "source": [
52 | "!python file1.py"
53 | ]
54 | },
55 | {
56 | "cell_type": "markdown",
57 | "metadata": {},
58 | "source": [
59 | "Önce file1.py dosyamızı çalıştırarak başladık. Bu dosya içerisinde addition fonksiyonuyla bir işlem yapılmadığı için bu kısmı pas geçti. Ve ekrana 'Hello, I'm file1.py' yazısını yazdı. Yani file1.py için **__ name __** değişkenimizin değerinin **__ main __** 'e eşit olduğunu görmüş olduk. Şimdi ikinci dosyamızı çalıştıralım."
60 | ]
61 | },
62 | {
63 | "cell_type": "code",
64 | "execution_count": 5,
65 | "metadata": {},
66 | "outputs": [
67 | {
68 | "name": "stdout",
69 | "output_type": "stream",
70 | "text": [
71 | "file1\r\n",
72 | "8\r\n",
73 | "__main__\r\n"
74 | ]
75 | }
76 | ],
77 | "source": [
78 | "!python file2.py"
79 | ]
80 | },
81 | {
82 | "cell_type": "markdown",
83 | "metadata": {},
84 | "source": [
85 | "Aldığımız 3 çıktıyı yakından inceleyelim.\n",
86 | "\n",
87 | "1) file2 dosyamızın dördüncü satırında, file1'e ait addition fonksiyonunu çağırdık. Bu fonksiyon ilk satırında, **__ name __** değişkeninin değerini 'file1' olarak ekrana bastırdı. \n",
88 | "\n",
89 | "2) Sonrasında fonksiyonun sonucu olan '8' i ekrana yazarak fonksiyondan çıktı. Çalışma esnasında, **__ name __** 'in değeri 'file1' olduğu için dosyanın sonundaki \"Hello, I'm file1.py\" ifadesini ekrana basmadı.\n",
90 | "\n",
91 | "3) Dosyanın 5.satırına geldiğinde yine **__ name __** değişkeninin değerini ekrana bastırdı. Ancak bu kez ilk örnekte gördüğümüz şekilde **__ main __** olarak yazdı. Aradaki fark nedir?\n",
92 | "\n",
93 | "**Fark, dosyaların çalışma şeklidir. Birinci örnekte file1 dosyamızın kendisini çalıştırdığımız için değişkenimizin değeri** **__ main __** **' e eşit oldu.** \n",
94 | "\n",
95 | "**İkinci örnekte ise file1'i dosya değil, modül olarak çalıştırdığımız için değişkenimizin değeri 'file1' e eşit oldu ve fonksiyonun sonucunu döndürdükten sonra dosyanın sonundaki ifadeyi ekrana yazmadı. Son adımda ise file2 dosyamızı, bir dosya olarak çalıştırdığımız için değişkenimizin değeri yine** **__ main __** **'e eşit oldu.**\n",
96 | "\n",
97 | "**İkinci dosyanın sonuna da ilkine benzer bir if koşulu koyarsanız, koşulun içindeki ifadeyi ekrana yazdırdığını görebilirsiniz**"
98 | ]
99 | },
100 | {
101 | "cell_type": "markdown",
102 | "metadata": {},
103 | "source": [
104 | "**Sonuç: Bu koşullu yapı için, \"Python dosyası doğrudan mı çalışıyor yoksa import edilerek modül olarak mı kullanılıyor?\" sorusunun cevabını kontrol eder diyebiliriz. Kodumuzu doğrudan çalıştırdığımızda farklı, bir dosyaya import edip modül olarak kullandığımızda farklı çalışmasını istediğimiz senaryolarda kullanabiliriz.**"
105 | ]
106 | }
107 | ],
108 | "metadata": {
109 | "kernelspec": {
110 | "display_name": "Python 3",
111 | "language": "python",
112 | "name": "python3"
113 | },
114 | "language_info": {
115 | "codemirror_mode": {
116 | "name": "ipython",
117 | "version": 3
118 | },
119 | "file_extension": ".py",
120 | "mimetype": "text/x-python",
121 | "name": "python",
122 | "nbconvert_exporter": "python",
123 | "pygments_lexer": "ipython3",
124 | "version": "3.7.6"
125 | }
126 | },
127 | "nbformat": 4,
128 | "nbformat_minor": 4
129 | }
130 |
--------------------------------------------------------------------------------
/py01/python-if-name-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/py01/python-if-name-main.png
--------------------------------------------------------------------------------
/py02/.ipynb_checkpoints/Untitled-checkpoint.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Operator Overloading Nedir?"
8 | ]
9 | },
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | "Merhabalar, bu yazıda bazen oldukça pratik kullanım alanları olabilen **Operator Overloading** kavramından bahsedeceğiz. Bu kavrama genellikle İngilizce olarak denk geleceğiniz için Türkçesini kullanmıyoruz.\n",
15 | "\n",
16 | "Python, oldukça geniş bir komüniteye ve zengin bir kütüphane çeşitliliğine sahip olduğu için ***neredeyse istediğiniz her şeyi yapabileceğiniz bir yazılım dilidir.*** Ancak, bu çeşitlilikler dışında dilin kendine ait kullanışlı özellikleri de vardır. **Operator Overloading**, bu özelliklerden biridir.\n",
17 | "\n",
18 | "Bu özelliği kısaca ***operatörlerin sahip olduğu özelliklere yeni özellikler eklenmesi*** olarak tanımlayabiliriz. "
19 | ]
20 | },
21 | {
22 | "cell_type": "markdown",
23 | "metadata": {},
24 | "source": [
25 | "İlk olarak, Python'un ***built-in*** metodlarından biri olan **dir()** fonksiyonunu kullanarak **int** veri tipinin metod ve özelliklerine yakından bakalım."
26 | ]
27 | },
28 | {
29 | "cell_type": "code",
30 | "execution_count": 1,
31 | "metadata": {},
32 | "outputs": [
33 | {
34 | "data": {
35 | "text/plain": [
36 | "['__abs__',\n",
37 | " '__add__',\n",
38 | " '__and__',\n",
39 | " '__bool__',\n",
40 | " '__ceil__',\n",
41 | " '__class__',\n",
42 | " '__delattr__',\n",
43 | " '__dir__',\n",
44 | " '__divmod__',\n",
45 | " '__doc__',\n",
46 | " '__eq__',\n",
47 | " '__float__',\n",
48 | " '__floor__',\n",
49 | " '__floordiv__',\n",
50 | " '__format__',\n",
51 | " '__ge__',\n",
52 | " '__getattribute__',\n",
53 | " '__getnewargs__',\n",
54 | " '__gt__',\n",
55 | " '__hash__',\n",
56 | " '__index__',\n",
57 | " '__init__',\n",
58 | " '__init_subclass__',\n",
59 | " '__int__',\n",
60 | " '__invert__',\n",
61 | " '__le__',\n",
62 | " '__lshift__',\n",
63 | " '__lt__',\n",
64 | " '__mod__',\n",
65 | " '__mul__',\n",
66 | " '__ne__',\n",
67 | " '__neg__',\n",
68 | " '__new__',\n",
69 | " '__or__',\n",
70 | " '__pos__',\n",
71 | " '__pow__',\n",
72 | " '__radd__',\n",
73 | " '__rand__',\n",
74 | " '__rdivmod__',\n",
75 | " '__reduce__',\n",
76 | " '__reduce_ex__',\n",
77 | " '__repr__',\n",
78 | " '__rfloordiv__',\n",
79 | " '__rlshift__',\n",
80 | " '__rmod__',\n",
81 | " '__rmul__',\n",
82 | " '__ror__',\n",
83 | " '__round__',\n",
84 | " '__rpow__',\n",
85 | " '__rrshift__',\n",
86 | " '__rshift__',\n",
87 | " '__rsub__',\n",
88 | " '__rtruediv__',\n",
89 | " '__rxor__',\n",
90 | " '__setattr__',\n",
91 | " '__sizeof__',\n",
92 | " '__str__',\n",
93 | " '__sub__',\n",
94 | " '__subclasshook__',\n",
95 | " '__truediv__',\n",
96 | " '__trunc__',\n",
97 | " '__xor__',\n",
98 | " 'bit_length',\n",
99 | " 'conjugate',\n",
100 | " 'denominator',\n",
101 | " 'from_bytes',\n",
102 | " 'imag',\n",
103 | " 'numerator',\n",
104 | " 'real',\n",
105 | " 'to_bytes']"
106 | ]
107 | },
108 | "execution_count": 1,
109 | "metadata": {},
110 | "output_type": "execute_result"
111 | }
112 | ],
113 | "source": [
114 | "dir(int)"
115 | ]
116 | },
117 | {
118 | "cell_type": "markdown",
119 | "metadata": {},
120 | "source": [
121 | "Bu yazıda, konumuz için örnek olarak ***_ _add_ _*** ve ***_ _repr_ _*** metodlarını kullanacağız. Metodların ne işe yaradığını görmek için ise **help()** fonkisyonunu aşağıdaki gibi kullanabilirsiniz."
122 | ]
123 | },
124 | {
125 | "cell_type": "code",
126 | "execution_count": 2,
127 | "metadata": {},
128 | "outputs": [
129 | {
130 | "name": "stdout",
131 | "output_type": "stream",
132 | "text": [
133 | "Help on wrapper_descriptor:\n",
134 | "\n",
135 | "__add__(self, value, /)\n",
136 | " Return self+value.\n",
137 | "\n"
138 | ]
139 | }
140 | ],
141 | "source": [
142 | "help(int.__add__)"
143 | ]
144 | },
145 | {
146 | "cell_type": "markdown",
147 | "metadata": {},
148 | "source": [
149 | "Bu metod, bildiğimiz toplama işlemini yapar."
150 | ]
151 | },
152 | {
153 | "cell_type": "code",
154 | "execution_count": 3,
155 | "metadata": {},
156 | "outputs": [
157 | {
158 | "data": {
159 | "text/plain": [
160 | "8"
161 | ]
162 | },
163 | "execution_count": 3,
164 | "metadata": {},
165 | "output_type": "execute_result"
166 | }
167 | ],
168 | "source": [
169 | "a = 3\n",
170 | "a.__add__(5)"
171 | ]
172 | },
173 | {
174 | "cell_type": "markdown",
175 | "metadata": {},
176 | "source": [
177 | "Metodun kullanımına örnek olarak bu şekilde yazdım. Python diline başlangıç seviyesinde aşina herkesin bildiği gibi bu metodu \"3+5\" yazarak da kullanabilirdim."
178 | ]
179 | },
180 | {
181 | "cell_type": "markdown",
182 | "metadata": {},
183 | "source": [
184 | "***_ _repr_ _*** metodu da, **print()** fonksiyonunun çalışma şeklini, yani aldığı değişkenin nasıl gösterileceğini belirler. "
185 | ]
186 | },
187 | {
188 | "cell_type": "code",
189 | "execution_count": 4,
190 | "metadata": {},
191 | "outputs": [
192 | {
193 | "data": {
194 | "text/plain": [
195 | "\"'banana'\""
196 | ]
197 | },
198 | "execution_count": 4,
199 | "metadata": {},
200 | "output_type": "execute_result"
201 | }
202 | ],
203 | "source": [
204 | "\"banana\".__repr__()"
205 | ]
206 | },
207 | {
208 | "cell_type": "markdown",
209 | "metadata": {},
210 | "source": [
211 | "Bu metodlar **int** veri tipine ait metodlardır, bu yüzden **overloading** yapmak istediğimizde bunu bir **class**ın içerisinde yapmamız gerekir. Hiçbir yere ait olmadan yapmak istediğimizde;"
212 | ]
213 | },
214 | {
215 | "cell_type": "code",
216 | "execution_count": 5,
217 | "metadata": {},
218 | "outputs": [],
219 | "source": [
220 | "def __add__(self, other):\n",
221 | " return self * other"
222 | ]
223 | },
224 | {
225 | "cell_type": "code",
226 | "execution_count": 6,
227 | "metadata": {},
228 | "outputs": [
229 | {
230 | "data": {
231 | "text/plain": [
232 | "8"
233 | ]
234 | },
235 | "execution_count": 6,
236 | "metadata": {},
237 | "output_type": "execute_result"
238 | }
239 | ],
240 | "source": [
241 | "a = 5\n",
242 | "a.__add__(3)"
243 | ]
244 | },
245 | {
246 | "cell_type": "markdown",
247 | "metadata": {},
248 | "source": [
249 | "Hiçbir etki yaratmadığını görürüz. Bu metodların aldığı **self** parametresinin bize anlatmak istediği budur, manipüle edilebilmek için bir **sınıf**a ait olmalıdır. Şimdi örnek çalışmamıza geçelim."
250 | ]
251 | },
252 | {
253 | "cell_type": "code",
254 | "execution_count": 7,
255 | "metadata": {},
256 | "outputs": [],
257 | "source": [
258 | "class Order:\n",
259 | " def __init__(self, *args):\n",
260 | " self.init_list = list()\n",
261 | " self.init_list.extend([x for x in args])\n",
262 | " def __add__(self, other):\n",
263 | " return self.init_list.append(other)\n",
264 | " def __repr__(self):\n",
265 | " header = \"Order List: \"\n",
266 | " txt = header + str(self.init_list)\n",
267 | " return txt"
268 | ]
269 | },
270 | {
271 | "cell_type": "markdown",
272 | "metadata": {},
273 | "source": [
274 | "**Order** adını verdiğimiz bir ***class(sınıf)*** yaratıyoruz. Bu sınıf basitçe, bir sipariş listesi alarak oluşturulacak. Sınıfımızı ***initialize*** ederken verdiğimiz * args değişkeni sayesinde, listemiz istediğimiz uzunlukta olabilir.\n",
275 | "\n",
276 | "Ardından, **overload** etmek istediğimiz metodları tanımlıyor ve bunun ne şekilde yapılacağını belirliyoruz. Örneğin **add** metodunu kullandığımızda, eklemek istediğimiz yeni elemanı ilk listemize **\"append\"** edecek. Normalde bu işlemi yapmak istediğimizde;"
277 | ]
278 | },
279 | {
280 | "cell_type": "code",
281 | "execution_count": 8,
282 | "metadata": {},
283 | "outputs": [
284 | {
285 | "ename": "TypeError",
286 | "evalue": "can only concatenate list (not \"str\") to list",
287 | "output_type": "error",
288 | "traceback": [
289 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
290 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
291 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0morder_list\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m\"apple\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"banana\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"mango\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0morder_list\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\"orange\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
292 | "\u001b[0;31mTypeError\u001b[0m: can only concatenate list (not \"str\") to list"
293 | ]
294 | }
295 | ],
296 | "source": [
297 | "order_list = [\"apple\", \"banana\", \"mango\"]\n",
298 | "order_list + \"orange\""
299 | ]
300 | },
301 | {
302 | "cell_type": "markdown",
303 | "metadata": {},
304 | "source": [
305 | "Bir listeye, sadece bir listenin eklenebileceğine dair bir hata mesajı alırız. Ancak **toplama** işlemini sınıfımız içinde **overload** ederek ona bu yeteneği kazandırıyoruz.\n",
306 | "\n",
307 | "Diğer bir **overloading** işlemimiz de _ _repr_ _ metodumuzla ilgili. Yine sınıfımız içerisinde tanımladığımız metoda **header** ismiyle tanımladığımız **string** tipindeki değişkeni ekliyoruz. Böylece bu sınıfa ait bir değişkeni, yani bir sipariş listesini ekrana yazdırmak istediğimizde başına \"Order List: \" başlığını koyarak yazdıracak.\n",
308 | "\n",
309 | "Listemizi, normal bir **Python** listesi olarak ekrana yazdırmak istediğimizde;"
310 | ]
311 | },
312 | {
313 | "cell_type": "code",
314 | "execution_count": 9,
315 | "metadata": {},
316 | "outputs": [
317 | {
318 | "name": "stdout",
319 | "output_type": "stream",
320 | "text": [
321 | "['apple', 'banana', 'mango']\n"
322 | ]
323 | }
324 | ],
325 | "source": [
326 | "print(order_list)"
327 | ]
328 | },
329 | {
330 | "cell_type": "markdown",
331 | "metadata": {},
332 | "source": [
333 | "Şeklinde bir çıktı alıyoruz. Sırada **overloading** işlemlerimizin çıktılarını görmek var. Tanımladığımız sınıfa ait değişkenimizi tanımlayarak başlayalım."
334 | ]
335 | },
336 | {
337 | "cell_type": "code",
338 | "execution_count": 10,
339 | "metadata": {},
340 | "outputs": [],
341 | "source": [
342 | "order_list = Order(\"apple\", \"banana\", \"mango\")"
343 | ]
344 | },
345 | {
346 | "cell_type": "markdown",
347 | "metadata": {},
348 | "source": [
349 | "İlk **overloading** işlemimizin işe yarayıp yaramadığını görmek için, listemizin mevcut halini ekrana yazdırmayı deneyelim."
350 | ]
351 | },
352 | {
353 | "cell_type": "code",
354 | "execution_count": 11,
355 | "metadata": {},
356 | "outputs": [
357 | {
358 | "name": "stdout",
359 | "output_type": "stream",
360 | "text": [
361 | "Order List: ['apple', 'banana', 'mango']\n"
362 | ]
363 | }
364 | ],
365 | "source": [
366 | "print(order_list)"
367 | ]
368 | },
369 | {
370 | "cell_type": "markdown",
371 | "metadata": {},
372 | "source": [
373 | "Şimdi de, az önce yapmak isterken hata aldığımız işlemi tekrar yapmayı deneyelim,"
374 | ]
375 | },
376 | {
377 | "cell_type": "code",
378 | "execution_count": 12,
379 | "metadata": {},
380 | "outputs": [],
381 | "source": [
382 | "order_list + \"orange\""
383 | ]
384 | },
385 | {
386 | "cell_type": "code",
387 | "execution_count": 13,
388 | "metadata": {},
389 | "outputs": [
390 | {
391 | "data": {
392 | "text/plain": [
393 | "Order List: ['apple', 'banana', 'mango', 'orange']"
394 | ]
395 | },
396 | "execution_count": 13,
397 | "metadata": {},
398 | "output_type": "execute_result"
399 | }
400 | ],
401 | "source": [
402 | "order_list"
403 | ]
404 | },
405 | {
406 | "cell_type": "markdown",
407 | "metadata": {},
408 | "source": [
409 | "Böylece, seçtiğimiz iki metodu, tanımladığımız sınıf içerisinde değiştirerek onlara yeni yetenekler kazandırdık. Sonraki çalışmalarımızda görüşmek üzere."
410 | ]
411 | }
412 | ],
413 | "metadata": {
414 | "kernelspec": {
415 | "display_name": "Python 3",
416 | "language": "python",
417 | "name": "python3"
418 | },
419 | "language_info": {
420 | "codemirror_mode": {
421 | "name": "ipython",
422 | "version": 3
423 | },
424 | "file_extension": ".py",
425 | "mimetype": "text/x-python",
426 | "name": "python",
427 | "nbconvert_exporter": "python",
428 | "pygments_lexer": "ipython3",
429 | "version": "3.7.6"
430 | }
431 | },
432 | "nbformat": 4,
433 | "nbformat_minor": 4
434 | }
435 |
--------------------------------------------------------------------------------
/py02/README.md:
--------------------------------------------------------------------------------
1 | # Operator Overloading
2 |
3 | Python diline ait kullanışlı, ancak çok bilinmeyen özelliklere değindiğimiz serinin ikinci yazısında, **Operator Overloading** kavramını inceliyoruz.
4 |
--------------------------------------------------------------------------------
/py02/Untitled.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Operator Overloading Nedir?"
8 | ]
9 | },
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | "Merhabalar, bu yazıda bazen oldukça pratik kullanım alanları olabilen **Operator Overloading** kavramından bahsedeceğiz. Bu kavrama genellikle İngilizce olarak denk geleceğiniz için Türkçesini kullanmıyoruz.\n",
15 | "\n",
16 | "Python, oldukça geniş bir komüniteye ve zengin bir kütüphane çeşitliliğine sahip olduğu için ***neredeyse istediğiniz her şeyi yapabileceğiniz bir yazılım dilidir.*** Ancak, bu çeşitlilikler dışında dilin kendine ait kullanışlı özellikleri de vardır. **Operator Overloading**, bu özelliklerden biridir.\n",
17 | "\n",
18 | "Bu özelliği kısaca ***operatörlerin sahip olduğu özelliklere yeni özellikler eklenmesi*** olarak tanımlayabiliriz. "
19 | ]
20 | },
21 | {
22 | "cell_type": "markdown",
23 | "metadata": {},
24 | "source": [
25 | "İlk olarak, Python'un ***built-in*** metodlarından biri olan **dir()** fonksiyonunu kullanarak **int** veri tipinin metod ve özelliklerine yakından bakalım."
26 | ]
27 | },
28 | {
29 | "cell_type": "code",
30 | "execution_count": 1,
31 | "metadata": {},
32 | "outputs": [
33 | {
34 | "data": {
35 | "text/plain": [
36 | "['__abs__',\n",
37 | " '__add__',\n",
38 | " '__and__',\n",
39 | " '__bool__',\n",
40 | " '__ceil__',\n",
41 | " '__class__',\n",
42 | " '__delattr__',\n",
43 | " '__dir__',\n",
44 | " '__divmod__',\n",
45 | " '__doc__',\n",
46 | " '__eq__',\n",
47 | " '__float__',\n",
48 | " '__floor__',\n",
49 | " '__floordiv__',\n",
50 | " '__format__',\n",
51 | " '__ge__',\n",
52 | " '__getattribute__',\n",
53 | " '__getnewargs__',\n",
54 | " '__gt__',\n",
55 | " '__hash__',\n",
56 | " '__index__',\n",
57 | " '__init__',\n",
58 | " '__init_subclass__',\n",
59 | " '__int__',\n",
60 | " '__invert__',\n",
61 | " '__le__',\n",
62 | " '__lshift__',\n",
63 | " '__lt__',\n",
64 | " '__mod__',\n",
65 | " '__mul__',\n",
66 | " '__ne__',\n",
67 | " '__neg__',\n",
68 | " '__new__',\n",
69 | " '__or__',\n",
70 | " '__pos__',\n",
71 | " '__pow__',\n",
72 | " '__radd__',\n",
73 | " '__rand__',\n",
74 | " '__rdivmod__',\n",
75 | " '__reduce__',\n",
76 | " '__reduce_ex__',\n",
77 | " '__repr__',\n",
78 | " '__rfloordiv__',\n",
79 | " '__rlshift__',\n",
80 | " '__rmod__',\n",
81 | " '__rmul__',\n",
82 | " '__ror__',\n",
83 | " '__round__',\n",
84 | " '__rpow__',\n",
85 | " '__rrshift__',\n",
86 | " '__rshift__',\n",
87 | " '__rsub__',\n",
88 | " '__rtruediv__',\n",
89 | " '__rxor__',\n",
90 | " '__setattr__',\n",
91 | " '__sizeof__',\n",
92 | " '__str__',\n",
93 | " '__sub__',\n",
94 | " '__subclasshook__',\n",
95 | " '__truediv__',\n",
96 | " '__trunc__',\n",
97 | " '__xor__',\n",
98 | " 'bit_length',\n",
99 | " 'conjugate',\n",
100 | " 'denominator',\n",
101 | " 'from_bytes',\n",
102 | " 'imag',\n",
103 | " 'numerator',\n",
104 | " 'real',\n",
105 | " 'to_bytes']"
106 | ]
107 | },
108 | "execution_count": 1,
109 | "metadata": {},
110 | "output_type": "execute_result"
111 | }
112 | ],
113 | "source": [
114 | "dir(int)"
115 | ]
116 | },
117 | {
118 | "cell_type": "markdown",
119 | "metadata": {},
120 | "source": [
121 | "Bu yazıda, konumuz için örnek olarak ***_ _add_ _*** ve ***_ _repr_ _*** metodlarını kullanacağız. Metodların ne işe yaradığını görmek için ise **help()** fonkisyonunu aşağıdaki gibi kullanabilirsiniz."
122 | ]
123 | },
124 | {
125 | "cell_type": "code",
126 | "execution_count": 2,
127 | "metadata": {},
128 | "outputs": [
129 | {
130 | "name": "stdout",
131 | "output_type": "stream",
132 | "text": [
133 | "Help on wrapper_descriptor:\n",
134 | "\n",
135 | "__add__(self, value, /)\n",
136 | " Return self+value.\n",
137 | "\n"
138 | ]
139 | }
140 | ],
141 | "source": [
142 | "help(int.__add__)"
143 | ]
144 | },
145 | {
146 | "cell_type": "markdown",
147 | "metadata": {},
148 | "source": [
149 | "Bu metod, bildiğimiz toplama işlemini yapar."
150 | ]
151 | },
152 | {
153 | "cell_type": "code",
154 | "execution_count": 3,
155 | "metadata": {},
156 | "outputs": [
157 | {
158 | "data": {
159 | "text/plain": [
160 | "8"
161 | ]
162 | },
163 | "execution_count": 3,
164 | "metadata": {},
165 | "output_type": "execute_result"
166 | }
167 | ],
168 | "source": [
169 | "a = 3\n",
170 | "a.__add__(5)"
171 | ]
172 | },
173 | {
174 | "cell_type": "markdown",
175 | "metadata": {},
176 | "source": [
177 | "Metodun kullanımına örnek olarak bu şekilde yazdım. Python diline başlangıç seviyesinde aşina herkesin bildiği gibi bu metodu \"3+5\" yazarak da kullanabilirdim."
178 | ]
179 | },
180 | {
181 | "cell_type": "markdown",
182 | "metadata": {},
183 | "source": [
184 | "***_ _repr_ _*** metodu da, **print()** fonksiyonunun çalışma şeklini, yani aldığı değişkenin nasıl gösterileceğini belirler. "
185 | ]
186 | },
187 | {
188 | "cell_type": "code",
189 | "execution_count": 4,
190 | "metadata": {},
191 | "outputs": [
192 | {
193 | "data": {
194 | "text/plain": [
195 | "\"'banana'\""
196 | ]
197 | },
198 | "execution_count": 4,
199 | "metadata": {},
200 | "output_type": "execute_result"
201 | }
202 | ],
203 | "source": [
204 | "\"banana\".__repr__()"
205 | ]
206 | },
207 | {
208 | "cell_type": "markdown",
209 | "metadata": {},
210 | "source": [
211 | "Bu metodlar **int** veri tipine ait metodlardır, bu yüzden **overloading** yapmak istediğimizde bunu bir **class**ın içerisinde yapmamız gerekir. Hiçbir yere ait olmadan yapmak istediğimizde;"
212 | ]
213 | },
214 | {
215 | "cell_type": "code",
216 | "execution_count": 5,
217 | "metadata": {},
218 | "outputs": [],
219 | "source": [
220 | "def __add__(self, other):\n",
221 | " return self * other"
222 | ]
223 | },
224 | {
225 | "cell_type": "code",
226 | "execution_count": 6,
227 | "metadata": {},
228 | "outputs": [
229 | {
230 | "data": {
231 | "text/plain": [
232 | "8"
233 | ]
234 | },
235 | "execution_count": 6,
236 | "metadata": {},
237 | "output_type": "execute_result"
238 | }
239 | ],
240 | "source": [
241 | "a = 5\n",
242 | "a.__add__(3)"
243 | ]
244 | },
245 | {
246 | "cell_type": "markdown",
247 | "metadata": {},
248 | "source": [
249 | "Hiçbir etki yaratmadığını görürüz. Bu metodların aldığı **self** parametresinin bize anlatmak istediği budur, manipüle edilebilmek için bir **sınıf**a ait olmalıdır. Şimdi örnek çalışmamıza geçelim."
250 | ]
251 | },
252 | {
253 | "cell_type": "code",
254 | "execution_count": 7,
255 | "metadata": {},
256 | "outputs": [],
257 | "source": [
258 | "class Order:\n",
259 | " def __init__(self, *args):\n",
260 | " self.init_list = list()\n",
261 | " self.init_list.extend([x for x in args])\n",
262 | " def __add__(self, other):\n",
263 | " return self.init_list.append(other)\n",
264 | " def __repr__(self):\n",
265 | " header = \"Order List: \"\n",
266 | " txt = header + str(self.init_list)\n",
267 | " return txt"
268 | ]
269 | },
270 | {
271 | "cell_type": "markdown",
272 | "metadata": {},
273 | "source": [
274 | "**Order** adını verdiğimiz bir ***class(sınıf)*** yaratıyoruz. Bu sınıf basitçe, bir sipariş listesi alarak oluşturulacak. Sınıfımızı ***initialize*** ederken verdiğimiz * args değişkeni sayesinde, listemiz istediğimiz uzunlukta olabilir.\n",
275 | "\n",
276 | "Ardından, **overload** etmek istediğimiz metodları tanımlıyor ve bunun ne şekilde yapılacağını belirliyoruz. Örneğin **add** metodunu kullandığımızda, eklemek istediğimiz yeni elemanı ilk listemize **\"append\"** edecek. Normalde bu işlemi yapmak istediğimizde;"
277 | ]
278 | },
279 | {
280 | "cell_type": "code",
281 | "execution_count": 8,
282 | "metadata": {},
283 | "outputs": [
284 | {
285 | "ename": "TypeError",
286 | "evalue": "can only concatenate list (not \"str\") to list",
287 | "output_type": "error",
288 | "traceback": [
289 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
290 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
291 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0morder_list\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m\"apple\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"banana\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"mango\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0morder_list\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\"orange\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
292 | "\u001b[0;31mTypeError\u001b[0m: can only concatenate list (not \"str\") to list"
293 | ]
294 | }
295 | ],
296 | "source": [
297 | "order_list = [\"apple\", \"banana\", \"mango\"]\n",
298 | "order_list + \"orange\""
299 | ]
300 | },
301 | {
302 | "cell_type": "markdown",
303 | "metadata": {},
304 | "source": [
305 | "Bir listeye, sadece bir listenin eklenebileceğine dair bir hata mesajı alırız. Ancak **toplama** işlemini sınıfımız içinde **overload** ederek ona bu yeteneği kazandırıyoruz.\n",
306 | "\n",
307 | "Diğer bir **overloading** işlemimiz de _ _repr_ _ metodumuzla ilgili. Yine sınıfımız içerisinde tanımladığımız metoda **header** ismiyle tanımladığımız **string** tipindeki değişkeni ekliyoruz. Böylece bu sınıfa ait bir değişkeni, yani bir sipariş listesini ekrana yazdırmak istediğimizde başına \"Order List: \" başlığını koyarak yazdıracak.\n",
308 | "\n",
309 | "Listemizi, normal bir **Python** listesi olarak ekrana yazdırmak istediğimizde;"
310 | ]
311 | },
312 | {
313 | "cell_type": "code",
314 | "execution_count": 9,
315 | "metadata": {},
316 | "outputs": [
317 | {
318 | "name": "stdout",
319 | "output_type": "stream",
320 | "text": [
321 | "['apple', 'banana', 'mango']\n"
322 | ]
323 | }
324 | ],
325 | "source": [
326 | "print(order_list)"
327 | ]
328 | },
329 | {
330 | "cell_type": "markdown",
331 | "metadata": {},
332 | "source": [
333 | "Şeklinde bir çıktı alıyoruz. Sırada **overloading** işlemlerimizin çıktılarını görmek var. Tanımladığımız sınıfa ait değişkenimizi tanımlayarak başlayalım."
334 | ]
335 | },
336 | {
337 | "cell_type": "code",
338 | "execution_count": 10,
339 | "metadata": {},
340 | "outputs": [],
341 | "source": [
342 | "order_list = Order(\"apple\", \"banana\", \"mango\")"
343 | ]
344 | },
345 | {
346 | "cell_type": "markdown",
347 | "metadata": {},
348 | "source": [
349 | "İlk **overloading** işlemimizin işe yarayıp yaramadığını görmek için, listemizin mevcut halini ekrana yazdırmayı deneyelim."
350 | ]
351 | },
352 | {
353 | "cell_type": "code",
354 | "execution_count": 11,
355 | "metadata": {},
356 | "outputs": [
357 | {
358 | "name": "stdout",
359 | "output_type": "stream",
360 | "text": [
361 | "Order List: ['apple', 'banana', 'mango']\n"
362 | ]
363 | }
364 | ],
365 | "source": [
366 | "print(order_list)"
367 | ]
368 | },
369 | {
370 | "cell_type": "markdown",
371 | "metadata": {},
372 | "source": [
373 | "Şimdi de, az önce yapmak isterken hata aldığımız işlemi tekrar yapmayı deneyelim,"
374 | ]
375 | },
376 | {
377 | "cell_type": "code",
378 | "execution_count": 12,
379 | "metadata": {},
380 | "outputs": [],
381 | "source": [
382 | "order_list + \"orange\""
383 | ]
384 | },
385 | {
386 | "cell_type": "code",
387 | "execution_count": 13,
388 | "metadata": {},
389 | "outputs": [
390 | {
391 | "data": {
392 | "text/plain": [
393 | "Order List: ['apple', 'banana', 'mango', 'orange']"
394 | ]
395 | },
396 | "execution_count": 13,
397 | "metadata": {},
398 | "output_type": "execute_result"
399 | }
400 | ],
401 | "source": [
402 | "order_list"
403 | ]
404 | },
405 | {
406 | "cell_type": "markdown",
407 | "metadata": {},
408 | "source": [
409 | "Böylece, seçtiğimiz iki metodu, tanımladığımız sınıf içerisinde değiştirerek onlara yeni yetenekler kazandırdık. Sonraki çalışmalarımızda görüşmek üzere."
410 | ]
411 | }
412 | ],
413 | "metadata": {
414 | "kernelspec": {
415 | "display_name": "Python 3",
416 | "language": "python",
417 | "name": "python3"
418 | },
419 | "language_info": {
420 | "codemirror_mode": {
421 | "name": "ipython",
422 | "version": 3
423 | },
424 | "file_extension": ".py",
425 | "mimetype": "text/x-python",
426 | "name": "python",
427 | "nbconvert_exporter": "python",
428 | "pygments_lexer": "ipython3",
429 | "version": "3.7.6"
430 | }
431 | },
432 | "nbformat": 4,
433 | "nbformat_minor": 4
434 | }
435 |
--------------------------------------------------------------------------------
/py03/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/py03/.DS_Store
--------------------------------------------------------------------------------
/py03/.ipynb_checkpoints/Py #3 - Print vs Logging-checkpoint.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "6efa991f",
6 | "metadata": {},
7 | "source": [
8 | "# Py #3 - Print vs Logging"
9 | ]
10 | },
11 | {
12 | "cell_type": "markdown",
13 | "id": "634ae71e",
14 | "metadata": {},
15 | "source": [
16 | "Merhabalar, Python dilinin kullanışlı özelliklerini incelediğimiz serinin üçüncü yazısında, ürün seviyesindeki yazılım projelerinin neredeyse tamamında kullanılan **logging** kütüphanesini, kullanımlarını ve **print** fonksiyonundan farklarını/avantajlarını inceleyeceğiz."
17 | ]
18 | },
19 | {
20 | "cell_type": "markdown",
21 | "id": "b5d08fdc",
22 | "metadata": {},
23 | "source": [
24 | "Hangi yazılım dilini öğreniyor olursak olalım, neredeyse hepimizin öğrendiği ve yazdığı ilk şey aynıdır:"
25 | ]
26 | },
27 | {
28 | "cell_type": "code",
29 | "execution_count": 1,
30 | "id": "f4681730",
31 | "metadata": {},
32 | "outputs": [
33 | {
34 | "name": "stdout",
35 | "output_type": "stream",
36 | "text": [
37 | "Hello World!\n"
38 | ]
39 | }
40 | ],
41 | "source": [
42 | "print(\"Hello World!\")"
43 | ]
44 | },
45 | {
46 | "cell_type": "markdown",
47 | "id": "084c408b",
48 | "metadata": {},
49 | "source": [
50 | "## Neden Logging?"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "id": "832b343a",
56 | "metadata": {},
57 | "source": [
58 | "Ancak meslek hayatımızda bir ürün geliştirirken, **print** fonksiyonu pek de kullanışlı değildir. \n",
59 | "\n",
60 | "- Kodunuzun doğru çalışıyor olduğunu periyodik olarak görmek isteyebilirsiniz.\n",
61 | "- Hata mesajlarınızın hangi dosyanın hangi satırında, hangi fonksiyon içerisinde ve saat kaçta oluştuğunu bilmek isteyebilirsiniz. \n",
62 | "- Tutmak istediğiniz kayıtları önem derecesine göre ayırt edebilirsiniz.\n",
63 | "\n",
64 | "Bunlar **logging** kütüphanesinin size sağladığı kolaylıklardır. Ancak bunların dışında 2 kritik önemi daha vardır:\n",
65 | "\n",
66 | "- Kodunuzun diğer python araçları veya scriptleri tarafından içe aktarılması söz konusuysa, print kullarak bir şeyler stdout'a yazdırması pratik bir fikir değildir çünkü kullanan kişi bu mesajların nereden geldiğini bilemeyecektir.\n",
67 | "- Ayrıca, yüksek ihtimalle kodunuzu Dockerize ederek(Yani bir Docker imajına çevirerek ve bir Docker container'ı içerisinde) çalıştırıyor olacaksınız. Bunun anlamı, print kullanarak yazdırdığınız hiçbir satırı container loglarında göremeyecek olmanızdır, çünkü bu esnada konsola erişiminiz yoktur. Print fonksiyonu, yalnızca konsola yazdırma işlemini yapar."
68 | ]
69 | },
70 | {
71 | "cell_type": "markdown",
72 | "id": "de24b968",
73 | "metadata": {},
74 | "source": [
75 | "## Logging ile Kayıt Dosyası Oluşturma"
76 | ]
77 | },
78 | {
79 | "cell_type": "markdown",
80 | "id": "bbc58710",
81 | "metadata": {},
82 | "source": [
83 | "Logging kütüphanesinin örnek bir kullanımı aşağıdaki gibidir."
84 | ]
85 | },
86 | {
87 | "cell_type": "code",
88 | "execution_count": 2,
89 | "id": "06f161a4",
90 | "metadata": {},
91 | "outputs": [
92 | {
93 | "name": "stdout",
94 | "output_type": "stream",
95 | "text": [
96 | "You will not see this line in log file, just a simple output\n"
97 | ]
98 | }
99 | ],
100 | "source": [
101 | "# logging_file_example.py isimli bir Python dosyası oluşturalım.\n",
102 | "\n",
103 | "import logging\n",
104 | " \n",
105 | "logging.basicConfig(filename=\"logfile.txt\", \n",
106 | " format='%(asctime)s - %(levelname)s - %(message)s', \n",
107 | " filemode='w',\n",
108 | " level = logging.ERROR)\n",
109 | " \n",
110 | "logger = logging.getLogger()\n",
111 | " \n",
112 | "try:\n",
113 | " logger.debug(\"Process is started\")\n",
114 | " result = 5 / 0\n",
115 | "except:\n",
116 | " logger.error(\"Exception thrown\", exc_info = True)\n",
117 | " print(\"You will not see this line in log file, just a simple output\")"
118 | ]
119 | },
120 | {
121 | "cell_type": "markdown",
122 | "id": "9297e326",
123 | "metadata": {},
124 | "source": [
125 | "Bu dosyayı oluşturup \"python logging_file_example.py\" komutuyla çalıştırdığımızda sadece bir satırlık bir çıktı gördük. Bu, **print** fonksiyonunun konsola yazdırdığı ekran çıktısıdır. **logging** kütüphanesinin çıktısı ise dosyayı çalıştırdığınız dizindedir. **basicConfig** parametrelerinde belirttiğiniz **logfile.txt** isimli dosya oluşturulmuş ve bu çıktı oraya kaydedilmiştir. Bu çıktıyı inceleyelim:"
126 | ]
127 | },
128 | {
129 | "cell_type": "markdown",
130 | "id": "715369c8",
131 | "metadata": {},
132 | "source": [
133 | ""
134 | ]
135 | },
136 | {
137 | "cell_type": "markdown",
138 | "id": "69dcc61d",
139 | "metadata": {},
140 | "source": [
141 | "Ekrana yazmasını istediğimiz cümle, ve kayıt tipi, hatanın tam olarak hangi dizinde/dosyada olduğu, kaçıncı satırda olduğu, hataya sebep olan kod kısmı, hatanın türü ve mesajı tam olarak yazılmıştır.\n",
142 | "\n",
143 | "Aynı detayları **print** fonksiyonu ile yazdırabilmek için kullandığınız her nokta bu tanımları tek tek kendiniz yapmalısınız. Ancak **logging** kütüphanesi için **basicConfig** içerisinde bir kere yapmamız yeterli.\n",
144 | "\n",
145 | "Yazdığımız kodu biraz daha derinlemesine inceleyelim. Örneğin 14. satırdaki **debug** kaydı txt dosyamızda yok. Peki neden? Bunun cevabı **basicConfig** içerisindeki **level** parametresidir. Bu parametreyi **error** olarak belirttiğimiz için, önem düzeyi olarak daha aşağıda kalan hiçbir logu dosyaya yazmayacaktır."
146 | ]
147 | },
148 | {
149 | "cell_type": "markdown",
150 | "id": "90114546",
151 | "metadata": {},
152 | "source": [
153 | "## Log seviyeleri nelerdir?\n",
154 | "\n",
155 | "Önem düzeyi artan şekilde log seviyeleri şunlardır:\n",
156 | "\n",
157 | "**Debug**: Program çalışmaya devam ederken ortaya çıkan beklenmedik bir çıktıyı incelemek/düzeltmek için kullanırız.\n",
158 | "\n",
159 | "**Info**: Yazılımımızın sağlıklı bir biçimde akışını gözlemlemek için kullanırız.\n",
160 | "\n",
161 | "**Warning**: Beklenmedik hata vb. bir durumu gözlemlemek istediğimizde kullanırız.\n",
162 | "\n",
163 | "**Error**: Programda bir problem oluştuğu zaman, genellikle program bazı komutları çalıştıramadığı zaman kullanırız.\n",
164 | "\n",
165 | "**Critical**: En yüksek seviyedeki hata durumudur. Genellikle program daha fazla çalışamayacağı zaman kullanırız."
166 | ]
167 | },
168 | {
169 | "cell_type": "markdown",
170 | "id": "0ba9b45e",
171 | "metadata": {},
172 | "source": [
173 | "### Diğer basicConfig Parametreleri\n",
174 | "**basicConfig** içerisine yazdığımız diğer parametrelerden de kısaca bahsetmek gerekirse:"
175 | ]
176 | },
177 | {
178 | "cell_type": "markdown",
179 | "id": "649f9f6b",
180 | "metadata": {},
181 | "source": [
182 | "**Filename**: Loglarımızın tutulacağı dosyanın ismi. Bir dizin belirtilmezse kendi bulunduğu dizinde tutar.\n",
183 | "\n",
184 | "**Format**: Kaydın tutulacağı formatı belirler. (örneğimizde 3 parametre verilmiştir.)\n",
185 | "\n",
186 | "**Filemode**: Logun tutulacağı modu belirler. “w” veya “a” tercih edebilirsiniz. “w” daha önceden yazılan dosyanın içeriğini yazmaya baştan başlarken, “a” dosyanın son kaldığı yerden devam eder."
187 | ]
188 | },
189 | {
190 | "cell_type": "markdown",
191 | "id": "9be21015",
192 | "metadata": {},
193 | "source": [
194 | "Şimdi de benzer bir çıktıyı **print** fonksiyonu kullanarak almaya çalışmanın zorluğunu görmeyi deneyelim. "
195 | ]
196 | },
197 | {
198 | "cell_type": "code",
199 | "execution_count": 3,
200 | "id": "6771c695",
201 | "metadata": {},
202 | "outputs": [
203 | {
204 | "name": "stdout",
205 | "output_type": "stream",
206 | "text": [
207 | ": division by zero, 2022-03-20 15:51:20.053352, Exception thrown\n"
208 | ]
209 | }
210 | ],
211 | "source": [
212 | "# print.py isimli bir Python dosyası oluşturalım.\n",
213 | "import datetime\n",
214 | "try:\n",
215 | " result = 5 / 0\n",
216 | "except Exception as e:\n",
217 | " print(\"{}: {}, {}, Exception thrown\".format(type(e), e, datetime.datetime.now()))"
218 | ]
219 | },
220 | {
221 | "cell_type": "markdown",
222 | "id": "fabe422e",
223 | "metadata": {},
224 | "source": [
225 | "**format** fonksiyonunun içine yazdığımız değişkenlerini her birini, **print** fonksiyonunu kullandığımız her yerde tekrar tekrar yazmamız gerektiğini unutmayın. **logging** kütüphanesini kullandığımız senaryoda ise bunları kodumuzun başında bir kere tanımlamamız yeterli. **Print** fonksiyonu kullanarak oluşturduğumuz çıktıda hangi dizindeki kodun hangi satırının hata verdiği gibi detayların da yer almadığını belirtmek gerek."
226 | ]
227 | },
228 | {
229 | "cell_type": "markdown",
230 | "id": "47a6a6d2",
231 | "metadata": {},
232 | "source": [
233 | "## Logging ile Konsol Çıktısı Oluşturma"
234 | ]
235 | },
236 | {
237 | "cell_type": "markdown",
238 | "id": "321260b0",
239 | "metadata": {},
240 | "source": [
241 | "Bir diğer kullanım örneği olarak, çıktıyı bu kez bir dosyaya yazdırmak yerine direkt olarak ekranda görelim"
242 | ]
243 | },
244 | {
245 | "cell_type": "code",
246 | "execution_count": 4,
247 | "id": "d4b3ec16",
248 | "metadata": {
249 | "scrolled": true
250 | },
251 | "outputs": [
252 | {
253 | "name": "stderr",
254 | "output_type": "stream",
255 | "text": [
256 | "2022-03-20 15:51:20,090\tERROR -- MainProcess 3843085982.py:17 -- division by zero error occured, details in below\n",
257 | "Traceback (most recent call last):\n",
258 | " File \"/var/folders/9k/g_dyhr955x364hgp3rn4c7s40000gn/T/ipykernel_21268/3843085982.py\", line 15, in \n",
259 | " result = 5 / 0\n",
260 | "ZeroDivisionError: division by zero\n"
261 | ]
262 | },
263 | {
264 | "name": "stdout",
265 | "output_type": "stream",
266 | "text": [
267 | "You will see this line after full error details\n"
268 | ]
269 | }
270 | ],
271 | "source": [
272 | "# logging_example.py isimli bir Python dosyası oluşturalım.\n",
273 | "import logging\n",
274 | "\n",
275 | "logger = logging.getLogger()\n",
276 | "console = logging.StreamHandler()\n",
277 | "\n",
278 | "format_str = '%(asctime)s\\t%(levelname)s -- %(processName)s %(filename)s:%(lineno)s -- %(message)s'\n",
279 | "console.setFormatter(logging.Formatter(format_str))\n",
280 | "\n",
281 | "logger.addHandler(console)\n",
282 | "\n",
283 | "logger.setLevel(logging.ERROR) \n",
284 | "try:\n",
285 | " logger.debug(\"Process is started\")\n",
286 | " result = 5 / 0\n",
287 | "except Exception as e:\n",
288 | " logger.error(\"{} error occured, details in below\".format(e), exc_info = True)\n",
289 | " print(\"You will see this line after full error details\")"
290 | ]
291 | },
292 | {
293 | "cell_type": "markdown",
294 | "id": "69dbc2dc",
295 | "metadata": {},
296 | "source": [
297 | "Kodumuz beklediğimiz gibi önce **logger**'ın çıktısını, sonra da **print** fonksiyonunun çıktısını ekrana yazdırdı.\n",
298 | "\n",
299 | "Önce **getLogger** metoduyla **logging** kütüphanesinden **logger** değişkenimizi oluşturduk. Ardından çıktılarımızı konsola yazdırmak için **console** adıyla bir **handler** değişkeni oluşturduk. **StreamHandler** metodu, kayıtları **print**'in yaptığına benzer şekilde **stdout** aracılığıyla konsola gönderir.\n",
300 | "\n",
301 | "**format_str** değişkeni ile birlikte oluşturmak istediğimiz hata mesajının formatını belirliyoruz. Bir önceki örneğimizden farklı olarak bu kez parametre sayısını artırdık ve 6 parametreyi görmek istediğimizi belirttik. Daha sonra **Formatter** metodu yardımıyla kaydımızı bu formata göre biçimlendirip bunu **setFormatter** metodunun yardımıyla konsola yazdırmak istediğimizi belirtiyoruz. Ardından **console** değişkenimizi de **logger**'a bir **handler** yardımıyla ekliyoruz. \n",
302 | "\n",
303 | "Görmek istediğimiz kayıt seviyesini **setLevel** metodu yardımıyla ayarlıyoruz. Bir önceki örnekte direkt olarak **basicConfig**'in içinde vermiştik. Alternatif olarak bu şekilde de ayarlayabiliriz.\n",
304 | "\n",
305 | "Kodumuzu çalıştırdığımızda, görmek istediğimiz detayları eksiksiz bir şekilde konsol çıktısı olarak görüyoruz."
306 | ]
307 | },
308 | {
309 | "cell_type": "markdown",
310 | "id": "ad1104c3",
311 | "metadata": {},
312 | "source": []
313 | }
314 | ],
315 | "metadata": {
316 | "kernelspec": {
317 | "display_name": "Python 3 (ipykernel)",
318 | "language": "python",
319 | "name": "python3"
320 | },
321 | "language_info": {
322 | "codemirror_mode": {
323 | "name": "ipython",
324 | "version": 3
325 | },
326 | "file_extension": ".py",
327 | "mimetype": "text/x-python",
328 | "name": "python",
329 | "nbconvert_exporter": "python",
330 | "pygments_lexer": "ipython3",
331 | "version": "3.9.9"
332 | }
333 | },
334 | "nbformat": 4,
335 | "nbformat_minor": 5
336 | }
337 |
--------------------------------------------------------------------------------
/py03/Py #3 - Print vs Logging.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "id": "a2a430c3",
6 | "metadata": {},
7 | "source": [
8 | "# Py #3 - Print vs Logging"
9 | ]
10 | },
11 | {
12 | "cell_type": "markdown",
13 | "id": "0c0a87ba",
14 | "metadata": {},
15 | "source": [
16 | "Merhabalar, Python dilinin kullanışlı özelliklerini incelediğimiz serinin üçüncü yazısında, ürün seviyesindeki yazılım projelerinin neredeyse tamamında kullanılan **logging** kütüphanesini, kullanımlarını ve **print** fonksiyonundan farklarını/avantajlarını inceleyeceğiz."
17 | ]
18 | },
19 | {
20 | "cell_type": "markdown",
21 | "id": "418b1f53",
22 | "metadata": {},
23 | "source": [
24 | "Hangi yazılım dilini öğreniyor olursak olalım, neredeyse hepimizin öğrendiği ve yazdığı ilk şey aynıdır:"
25 | ]
26 | },
27 | {
28 | "cell_type": "code",
29 | "execution_count": 1,
30 | "id": "f8ea81bc",
31 | "metadata": {},
32 | "outputs": [
33 | {
34 | "name": "stdout",
35 | "output_type": "stream",
36 | "text": [
37 | "Hello World!\n"
38 | ]
39 | }
40 | ],
41 | "source": [
42 | "print(\"Hello World!\")"
43 | ]
44 | },
45 | {
46 | "cell_type": "markdown",
47 | "id": "ac230446",
48 | "metadata": {},
49 | "source": [
50 | "## Neden Logging?"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "id": "a671909e",
56 | "metadata": {},
57 | "source": [
58 | "Ancak meslek hayatımızda bir ürün geliştirirken, **print** fonksiyonu pek de kullanışlı değildir. \n",
59 | "\n",
60 | "- Kodunuzun doğru çalışıyor olduğunu periyodik olarak görmek isteyebilirsiniz.\n",
61 | "- Hata mesajlarınızın hangi dosyanın hangi satırında, hangi fonksiyon içerisinde ve saat kaçta oluştuğunu bilmek isteyebilirsiniz. \n",
62 | "- Tutmak istediğiniz kayıtları önem derecesine göre ayırt edebilirsiniz.\n",
63 | "\n",
64 | "Bunlar **logging** kütüphanesinin size sağladığı kolaylıklardır. Ancak bunların dışında 2 kritik önemi daha vardır:\n",
65 | "\n",
66 | "- Kodunuzun diğer python araçları veya scriptleri tarafından içe aktarılması söz konusuysa, print kullarak bir şeyler stdout'a yazdırması pratik bir fikir değildir çünkü kullanan kişi bu mesajların nereden geldiğini bilemeyecektir.\n",
67 | "- Ayrıca, yüksek ihtimalle kodunuzu Dockerize ederek(Yani bir Docker imajına çevirerek ve bir Docker container'ı içerisinde) çalıştırıyor olacaksınız. Bunun anlamı, print kullanarak yazdırdığınız hiçbir satırı container loglarında göremeyecek olmanızdır, çünkü bu esnada konsola erişiminiz yoktur. Print fonksiyonu, yalnızca konsola yazdırma işlemini yapar."
68 | ]
69 | },
70 | {
71 | "cell_type": "markdown",
72 | "id": "87b08d8c",
73 | "metadata": {},
74 | "source": [
75 | "## Logging ile Kayıt Dosyası Oluşturma"
76 | ]
77 | },
78 | {
79 | "cell_type": "markdown",
80 | "id": "81026168",
81 | "metadata": {},
82 | "source": [
83 | "Logging kütüphanesinin örnek bir kullanımı aşağıdaki gibidir."
84 | ]
85 | },
86 | {
87 | "cell_type": "code",
88 | "execution_count": 2,
89 | "id": "fee48f3f",
90 | "metadata": {},
91 | "outputs": [
92 | {
93 | "name": "stdout",
94 | "output_type": "stream",
95 | "text": [
96 | "You will not see this line in log file, just a simple output\n"
97 | ]
98 | }
99 | ],
100 | "source": [
101 | "# logging_file_example.py isimli bir Python dosyası oluşturalım.\n",
102 | "\n",
103 | "import logging\n",
104 | " \n",
105 | "logging.basicConfig(filename=\"logfile.txt\", \n",
106 | " format='%(asctime)s - %(levelname)s - %(message)s', \n",
107 | " filemode='w',\n",
108 | " level = logging.ERROR)\n",
109 | " \n",
110 | "logger = logging.getLogger()\n",
111 | " \n",
112 | "try:\n",
113 | " logger.debug(\"Process is started\")\n",
114 | " result = 5 / 0\n",
115 | "except:\n",
116 | " logger.error(\"Exception thrown\", exc_info = True)\n",
117 | " print(\"You will not see this line in log file, just a simple output\")"
118 | ]
119 | },
120 | {
121 | "cell_type": "markdown",
122 | "id": "b4d7a84e",
123 | "metadata": {},
124 | "source": [
125 | "Bu dosyayı oluşturup \"python logging_file_example.py\" komutuyla çalıştırdığımızda sadece bir satırlık bir çıktı gördük. Bu, **print** fonksiyonunun konsola yazdırdığı ekran çıktısıdır. **logging** kütüphanesinin çıktısı ise dosyayı çalıştırdığınız dizindedir. **basicConfig** parametrelerinde belirttiğiniz **logfile.txt** isimli dosya oluşturulmuş ve bu çıktı oraya kaydedilmiştir. Bu çıktıyı inceleyelim:"
126 | ]
127 | },
128 | {
129 | "cell_type": "markdown",
130 | "id": "25aae671",
131 | "metadata": {},
132 | "source": [
133 | ""
134 | ]
135 | },
136 | {
137 | "cell_type": "markdown",
138 | "id": "ea8d43b1",
139 | "metadata": {},
140 | "source": [
141 | "Ekrana yazmasını istediğimiz cümle, ve kayıt tipi, hatanın tam olarak hangi dizinde/dosyada olduğu, kaçıncı satırda olduğu, hataya sebep olan kod kısmı, hatanın türü ve mesajı tam olarak yazılmıştır.\n",
142 | "\n",
143 | "Aynı detayları **print** fonksiyonu ile yazdırabilmek için kullandığınız her nokta bu tanımları tek tek kendiniz yapmalısınız. Ancak **logging** kütüphanesi için **basicConfig** içerisinde bir kere yapmamız yeterli.\n",
144 | "\n",
145 | "Yazdığımız kodu biraz daha derinlemesine inceleyelim. Örneğin 14. satırdaki **debug** kaydı txt dosyamızda yok. Peki neden? Bunun cevabı **basicConfig** içerisindeki **level** parametresidir. Bu parametreyi **error** olarak belirttiğimiz için, önem düzeyi olarak daha aşağıda kalan hiçbir logu dosyaya yazmayacaktır."
146 | ]
147 | },
148 | {
149 | "cell_type": "markdown",
150 | "id": "09e37555",
151 | "metadata": {},
152 | "source": [
153 | "## Log seviyeleri nelerdir?\n",
154 | "\n",
155 | "Önem düzeyi artan şekilde log seviyeleri şunlardır:\n",
156 | "\n",
157 | "**Debug**: Program çalışmaya devam ederken ortaya çıkan beklenmedik bir çıktıyı incelemek/düzeltmek için kullanırız.\n",
158 | "\n",
159 | "**Info**: Yazılımımızın sağlıklı bir biçimde akışını gözlemlemek için kullanırız.\n",
160 | "\n",
161 | "**Warning**: Beklenmedik hata vb. bir durumu gözlemlemek istediğimizde kullanırız.\n",
162 | "\n",
163 | "**Error**: Programda bir problem oluştuğu zaman, genellikle program bazı komutları çalıştıramadığı zaman kullanırız.\n",
164 | "\n",
165 | "**Critical**: En yüksek seviyedeki hata durumudur. Genellikle program daha fazla çalışamayacağı zaman kullanırız."
166 | ]
167 | },
168 | {
169 | "cell_type": "markdown",
170 | "id": "081ea926",
171 | "metadata": {},
172 | "source": [
173 | "### Diğer basicConfig Parametreleri\n",
174 | "**basicConfig** içerisine yazdığımız diğer parametrelerden de kısaca bahsetmek gerekirse:"
175 | ]
176 | },
177 | {
178 | "cell_type": "markdown",
179 | "id": "1a9da751",
180 | "metadata": {},
181 | "source": [
182 | "**Filename**: Loglarımızın tutulacağı dosyanın ismi. Bir dizin belirtilmezse kendi bulunduğu dizinde tutar.\n",
183 | "\n",
184 | "**Format**: Kaydın tutulacağı formatı belirler. (örneğimizde 3 parametre verilmiştir.)\n",
185 | "\n",
186 | "**Filemode**: Logun tutulacağı modu belirler. “w” veya “a” tercih edebilirsiniz. “w” daha önceden yazılan dosyanın içeriğini yazmaya baştan başlarken, “a” dosyanın son kaldığı yerden devam eder."
187 | ]
188 | },
189 | {
190 | "cell_type": "markdown",
191 | "id": "379deb71",
192 | "metadata": {},
193 | "source": [
194 | "Şimdi de benzer bir çıktıyı **print** fonksiyonu kullanarak almaya çalışmanın zorluğunu görmeyi deneyelim. "
195 | ]
196 | },
197 | {
198 | "cell_type": "code",
199 | "execution_count": 3,
200 | "id": "7d7b659c",
201 | "metadata": {},
202 | "outputs": [
203 | {
204 | "name": "stdout",
205 | "output_type": "stream",
206 | "text": [
207 | ": division by zero, 2022-03-20 15:51:20.053352, Exception thrown\n"
208 | ]
209 | }
210 | ],
211 | "source": [
212 | "# print.py isimli bir Python dosyası oluşturalım.\n",
213 | "import datetime\n",
214 | "try:\n",
215 | " result = 5 / 0\n",
216 | "except Exception as e:\n",
217 | " print(\"{}: {}, {}, Exception thrown\".format(type(e), e, datetime.datetime.now()))"
218 | ]
219 | },
220 | {
221 | "cell_type": "markdown",
222 | "id": "01a8d53b",
223 | "metadata": {},
224 | "source": [
225 | "**format** fonksiyonunun içine yazdığımız değişkenlerini her birini, **print** fonksiyonunu kullandığımız her yerde tekrar tekrar yazmamız gerektiğini unutmayın. **logging** kütüphanesini kullandığımız senaryoda ise bunları kodumuzun başında bir kere tanımlamamız yeterli. **Print** fonksiyonu kullanarak oluşturduğumuz çıktıda hangi dizindeki kodun hangi satırının hata verdiği gibi detayların da yer almadığını belirtmek gerek."
226 | ]
227 | },
228 | {
229 | "cell_type": "markdown",
230 | "id": "569b277f",
231 | "metadata": {},
232 | "source": [
233 | "## Logging ile Konsol Çıktısı Oluşturma"
234 | ]
235 | },
236 | {
237 | "cell_type": "markdown",
238 | "id": "1d999342",
239 | "metadata": {},
240 | "source": [
241 | "Bir diğer kullanım örneği olarak, çıktıyı bu kez bir dosyaya yazdırmak yerine direkt olarak ekranda görelim"
242 | ]
243 | },
244 | {
245 | "cell_type": "code",
246 | "execution_count": 4,
247 | "id": "d9547125",
248 | "metadata": {
249 | "scrolled": true
250 | },
251 | "outputs": [
252 | {
253 | "name": "stderr",
254 | "output_type": "stream",
255 | "text": [
256 | "2022-03-20 15:51:20,090\tERROR -- MainProcess 3843085982.py:17 -- division by zero error occured, details in below\n",
257 | "Traceback (most recent call last):\n",
258 | " File \"/var/folders/9k/g_dyhr955x364hgp3rn4c7s40000gn/T/ipykernel_21268/3843085982.py\", line 15, in \n",
259 | " result = 5 / 0\n",
260 | "ZeroDivisionError: division by zero\n"
261 | ]
262 | },
263 | {
264 | "name": "stdout",
265 | "output_type": "stream",
266 | "text": [
267 | "You will see this line after full error details\n"
268 | ]
269 | }
270 | ],
271 | "source": [
272 | "# logging_example.py isimli bir Python dosyası oluşturalım.\n",
273 | "import logging\n",
274 | "\n",
275 | "logger = logging.getLogger()\n",
276 | "console = logging.StreamHandler()\n",
277 | "\n",
278 | "format_str = '%(asctime)s\\t%(levelname)s -- %(processName)s %(filename)s:%(lineno)s -- %(message)s'\n",
279 | "console.setFormatter(logging.Formatter(format_str))\n",
280 | "\n",
281 | "logger.addHandler(console)\n",
282 | "\n",
283 | "logger.setLevel(logging.ERROR) \n",
284 | "try:\n",
285 | " logger.debug(\"Process is started\")\n",
286 | " result = 5 / 0\n",
287 | "except Exception as e:\n",
288 | " logger.error(\"{} error occured, details in below\".format(e), exc_info = True)\n",
289 | " print(\"You will see this line after full error details\")"
290 | ]
291 | },
292 | {
293 | "cell_type": "markdown",
294 | "id": "bcc9959d",
295 | "metadata": {},
296 | "source": [
297 | "Kodumuz beklediğimiz gibi önce **logger**'ın çıktısını, sonra da **print** fonksiyonunun çıktısını ekrana yazdırdı.\n",
298 | "\n",
299 | "Önce **getLogger** metoduyla **logging** kütüphanesinden **logger** değişkenimizi oluşturduk. Ardından çıktılarımızı konsola yazdırmak için **console** adıyla bir **handler** değişkeni oluşturduk. **StreamHandler** metodu, kayıtları **print**'in yaptığına benzer şekilde **stdout** aracılığıyla konsola gönderir.\n",
300 | "\n",
301 | "**format_str** değişkeni ile birlikte oluşturmak istediğimiz hata mesajının formatını belirliyoruz. Bir önceki örneğimizden farklı olarak bu kez parametre sayısını artırdık ve 6 parametreyi görmek istediğimizi belirttik. Daha sonra **Formatter** metodu yardımıyla kaydımızı bu formata göre biçimlendirip bunu **setFormatter** metodunun yardımıyla konsola yazdırmak istediğimizi belirtiyoruz. Ardından **console** değişkenimizi de **logger**'a bir **handler** yardımıyla ekliyoruz. \n",
302 | "\n",
303 | "Görmek istediğimiz kayıt seviyesini **setLevel** metodu yardımıyla ayarlıyoruz. Bir önceki örnekte direkt olarak **basicConfig**'in içinde vermiştik. Alternatif olarak bu şekilde de ayarlayabiliriz.\n",
304 | "\n",
305 | "Kodumuzu çalıştırdığımızda, görmek istediğimiz detayları eksiksiz bir şekilde konsol çıktısı olarak görüyoruz."
306 | ]
307 | },
308 | {
309 | "cell_type": "markdown",
310 | "id": "7afe4b6c",
311 | "metadata": {},
312 | "source": [
313 | "Son olarak, özellikle Machine Learning serisinde sıkça yaptığım gibi, **logging** kütüphanesinin dokümantasyon linkini paylaşmak istiyorum. Python geliştiricileri için, dokümantasyonun oldukça güzel yapıldığını ve okuyup uygulamanın çok geliştirdiğini belirtmekte fayda var: https://docs.python.org/3/howto/logging-cookbook.html#filters-contextual\n",
314 | "\n",
315 | "Sonraki yazılarımızda görüşmek üzere."
316 | ]
317 | },
318 | {
319 | "cell_type": "code",
320 | "execution_count": null,
321 | "id": "5c859b67",
322 | "metadata": {},
323 | "outputs": [],
324 | "source": []
325 | }
326 | ],
327 | "metadata": {
328 | "kernelspec": {
329 | "display_name": "Python 3 (ipykernel)",
330 | "language": "python",
331 | "name": "python3"
332 | },
333 | "language_info": {
334 | "codemirror_mode": {
335 | "name": "ipython",
336 | "version": 3
337 | },
338 | "file_extension": ".py",
339 | "mimetype": "text/x-python",
340 | "name": "python",
341 | "nbconvert_exporter": "python",
342 | "pygments_lexer": "ipython3",
343 | "version": "3.9.9"
344 | }
345 | },
346 | "nbformat": 4,
347 | "nbformat_minor": 5
348 | }
349 |
--------------------------------------------------------------------------------
/py03/__pycache__/logging.cpython-39.pyc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/py03/__pycache__/logging.cpython-39.pyc
--------------------------------------------------------------------------------
/py03/file_output.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gokerguner/notebooks/7b9b1287eeda4fd6b97bd034e2636594f3c47645/py03/file_output.png
--------------------------------------------------------------------------------
/py03/logfile.txt:
--------------------------------------------------------------------------------
1 | 2022-03-20 15:51:20,041 - ERROR - Exception thrown
2 | Traceback (most recent call last):
3 | File "/var/folders/9k/g_dyhr955x364hgp3rn4c7s40000gn/T/ipykernel_21268/1888412459.py", line 14, in
4 | result = 5 / 0
5 | ZeroDivisionError: division by zero
6 | 2022-03-20 15:51:20,090 - ERROR - division by zero error occured, details in below
7 | Traceback (most recent call last):
8 | File "/var/folders/9k/g_dyhr955x364hgp3rn4c7s40000gn/T/ipykernel_21268/3843085982.py", line 15, in
9 | result = 5 / 0
10 | ZeroDivisionError: division by zero
11 |
--------------------------------------------------------------------------------
/py03/logging_example.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 | logger = logging.getLogger()
4 | console = logging.StreamHandler()
5 |
6 | format_str = '%(asctime)s\t%(levelname)s -- %(processName)s %(filename)s:%(lineno)s -- %(message)s'
7 | console.setFormatter(logging.Formatter(format_str))
8 |
9 | logger.addHandler(console) # prints to console.
10 |
11 | logger.setLevel(logging.ERROR)
12 | try:
13 | logger.debug("Process is started")
14 | result = 5 / 0
15 | except:
16 | logging.error("Error occured, details in below", exc_info = True)
17 | print("See after full error details")
18 |
--------------------------------------------------------------------------------
/py03/logging_file_example.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 | logging.basicConfig(filename="logfile.txt",
4 | format='%(asctime)s - %(levelname)s - %(message)s',
5 | filemode='w',
6 | level = logging.ERROR)
7 |
8 | logger = logging.getLogger("example_logger")
9 |
10 | try:
11 | logger.debug("Process is started")
12 | result = 5 / 0
13 | except:
14 | logger.error("Exception thrown", exc_info = True)
15 | print("You will not see this line in the log file")
--------------------------------------------------------------------------------
/py03/print.py:
--------------------------------------------------------------------------------
1 | try:
2 | result = 5 / 0
3 | except Exception as e:
4 | print("Exception thrown")
5 | print(e)
6 |
--------------------------------------------------------------------------------
/py04/README.md:
--------------------------------------------------------------------------------
1 | Merhabalar,
2 | Python dilinin kullanışlı özelliklerini incelediğimiz serinin dördüncü yazısında, özellikle yapay zeka alanındaki bellek yönetimi ihtiyacı sebebiyle kullanım alanı bulabilen yield kavramını ve return ifadesinden farklarını inceleyeceğiz.
3 |
4 | TR: https://medium.com/@gokerguner/py-4-yield-vs-return-fa83a2d74781
5 | EN: https://medium.com/python-blog/py-4-yield-vs-return-142fc03e0163
--------------------------------------------------------------------------------
/py04/py4.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# PY#4 - Yield vs. Return"
8 | ]
9 | },
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | "Merhabalar,\n",
15 | "Python dilinin kullanışlı özelliklerini incelediğimiz serinin dördüncü yazısında, özellikle yapay zeka alanındaki bellek yönetimi ihtiyacı sebebiyle kullanım alanı bulabilen yield kavramını ve return ifadesinden farklarını inceleyeceğiz."
16 | ]
17 | },
18 | {
19 | "cell_type": "markdown",
20 | "metadata": {},
21 | "source": [
22 | "Bildiğimiz üzere, bir fonksiyonun sonucunu döndürmek için **return** ifadesini kullanırız. Return ifadesi yalnızca metodun ürettiği değeri döndürür. **Yield** ise, bir değer döndürüp bulunduğu noktayı hatırlayarak, sonraki çağrıda bulunduğu noktadan sonraki değeri döndürür. \n",
23 | "\n",
24 | "Bir metod, **yield** kelimesi ile bir değer döndürüyorsa bir **generator** demektir. **Iterate** edilerek çalıştırılan bu **generator** fonksiyon, her bir değeri döndürdüğünde nerede kaldığını hatırlayarak sonraki iterasyonda kaldığı yerdeki değeri döndürür ve tekrar çağırılmayı bekler.\n",
25 | "\n",
26 | "Şimdi bu **iterasyon**, **generator** gibi kavramları örneklerle somutlaştıralım."
27 | ]
28 | },
29 | {
30 | "cell_type": "code",
31 | "execution_count": 3,
32 | "metadata": {},
33 | "outputs": [
34 | {
35 | "name": "stdout",
36 | "output_type": "stream",
37 | "text": [
38 | "[0, 1, 4, 9, 16]\n"
39 | ]
40 | }
41 | ],
42 | "source": [
43 | "def square_numbers(count):\n",
44 | " result = []\n",
45 | " for number in range(count):\n",
46 | " result.append(number * number)\n",
47 | " return result\n",
48 | "\n",
49 | "squared_numbers = square_numbers(5)\n",
50 | "print(squared_numbers)"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "metadata": {},
56 | "source": [
57 | "Bu örnek, klasik bir fonksiyon kullanımı örneği. Girdiğimiz sayıya kadar olan sayıların karesini alıp bir listeye yazıyor. Bu kodu çalıştırdığım kendi bilgisayarımda, sayı olarak 5 milyon girdğimde 1.3 saniye sürerken, 50 milyon girdiğimde ise onlarca dakika sürüyor.\n",
58 | "\n",
59 | "Bu fonksiyonun büyük boyutta bir dosyayı okumak, milyonlarca satırlık bir veriyi işlemek için kullanıldığını düşünün. Aralarındaki bir satırı işlemek için, bütün süreci beklemem gerekirdi. \n",
60 | "\n",
61 | "**Yield**, tam olarak burada işe yarar ve **yapay zeka projelerinde olduça kullanışlıdır**. Bu anahtar kelime yardımıyla bir generator oluşturabilir, ve fonksiyonun çıktısını alıp istediğimiz işleme tabi tuttuktan sonra fonksiyonun çalışmaya devam etmesini sağlayabiliriz.\n",
62 | "\n"
63 | ]
64 | },
65 | {
66 | "cell_type": "markdown",
67 | "metadata": {},
68 | "source": [
69 | "## Neden Veriyi Fonksiyonun İçinde İşlemiyoruz?\n",
70 | "\n",
71 | "Örnek basit olduğu için, burada **yield** kullanımı kafa karıştırıcı olabilir. Her bir sayıyı karesini aldıktan sonra da for döngüsünün içinde yazdırabilirdik sonuçta.\n",
72 | "\n",
73 | "Ancak çok daha büyük bir projede çalışıyor olabileceğinizi düşünün. Fonksiyonu başka bir yerden import ediyorsunuz, fonksiyonun üreteceği değeri işleme görevi sizde, import ettiğiniz fonksiyonun tek görevi de kare almak. Girilecek sayının da kontrolü sizde değil, yukarıda anlattığımız gibi belki de çok büyük sayıları işlemek gerekecek. Böyle bir durumda fonksyonun nasıl tasarlanmasını beklerdiniz?"
74 | ]
75 | },
76 | {
77 | "cell_type": "code",
78 | "execution_count": 6,
79 | "metadata": {},
80 | "outputs": [],
81 | "source": [
82 | "def square_numbers(count):\n",
83 | " for number in range(count):\n",
84 | " yield number * number"
85 | ]
86 | },
87 | {
88 | "cell_type": "markdown",
89 | "metadata": {},
90 | "source": [
91 | "Python 3.x için aşağıdaki şekilde çalıştıracağız. Muhtemelen denk gelmezsiniz, ancak Python 2.x ile yazmak isterseniz generator_square.next() şeklinde kullanmalısınız."
92 | ]
93 | },
94 | {
95 | "cell_type": "code",
96 | "execution_count": 23,
97 | "metadata": {},
98 | "outputs": [
99 | {
100 | "name": "stdout",
101 | "output_type": "stream",
102 | "text": [
103 | "0\n",
104 | "1\n",
105 | "4\n"
106 | ]
107 | }
108 | ],
109 | "source": [
110 | "generator_square = square_numbers(5)\n",
111 | "print(next(generator_square))\n",
112 | "print(next(generator_square)) \n",
113 | "print(next(generator_square)) \n"
114 | ]
115 | },
116 | {
117 | "cell_type": "markdown",
118 | "metadata": {},
119 | "source": [
120 | "Sadece üç defa itere ettiğimiz için ilk üç değeri aldı, metodun geri kalanı çalışmadı. Bu şekilde, son 2 sayıyı hiç belleğe yazmayarak, ve her bir elemanı tek tek işleyerek bellek tasarrufu sağlamış oluyoruz.\n",
121 | "\n",
122 | "Bu noktadan sonra eğer iterasyona devam etmeyecekseniz, en makul yöntem **generator**u serbest bırakmaktır. onu da basitçe aşağıdaki komutla yapabilirsiniz."
123 | ]
124 | },
125 | {
126 | "cell_type": "code",
127 | "execution_count": 32,
128 | "metadata": {},
129 | "outputs": [],
130 | "source": [
131 | "generator_square = None"
132 | ]
133 | },
134 | {
135 | "cell_type": "markdown",
136 | "metadata": {},
137 | "source": [
138 | "Sonraki yazılarımızda görüşmek üzere."
139 | ]
140 | }
141 | ],
142 | "metadata": {
143 | "kernelspec": {
144 | "display_name": "Python 3",
145 | "language": "python",
146 | "name": "python3"
147 | },
148 | "language_info": {
149 | "codemirror_mode": {
150 | "name": "ipython",
151 | "version": 3
152 | },
153 | "file_extension": ".py",
154 | "mimetype": "text/x-python",
155 | "name": "python",
156 | "nbconvert_exporter": "python",
157 | "pygments_lexer": "ipython3",
158 | "version": "3.11.6"
159 | }
160 | },
161 | "nbformat": 4,
162 | "nbformat_minor": 2
163 | }
164 |
--------------------------------------------------------------------------------