├── outros └── outros ├── regressao-logistica ├── readme ├── README.md ├── adspy_shared_utilities.py ├── Regressao-Logistica.ipynb └── german_credit_data.csv ├── README.md ├── jogo_da_velha.ipynb └── ANOVA.ipynb /outros/outros: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /regressao-logistica/readme: -------------------------------------------------------------------------------- 1 | kkk 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Python 2 | 3 | Diversas análises utilizando Python. A maioria dos arquivos é composta por pequenos tutoriais, normalmente criados para o meu blog. 4 | 5 | A maior parte do material é auto-explicativa. Pretendo ainda dar outra cara a este repositório num futuro próximo. 6 | 7 | Se estiver atrás de outros tutoriais de Data Science, visite meu Blog www.estatsite.com.br ou o Canal Universidade dos Dados, no Youtube. 8 | -------------------------------------------------------------------------------- /regressao-logistica/README.md: -------------------------------------------------------------------------------- 1 | # Regressao-Logistica-Python 2 | Regressao Logistica em Python 3 | O arquivo ipynb é um arquivo do Jupyter Notebook contendo um exemplo de regressão logística em Python. A base utilizada está no repositório (mais informações sobre ela você encontra em https://www.kaggle.com/uciml/german-credit). 4 | Salve o arquivo adspy_shared_utilities.py no diretório do seu computador em que vai estar seu código, é um módulo necessário e que não vem na instalação padrão do Anaconda. 5 | -------------------------------------------------------------------------------- /jogo_da_velha.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "Adaptado do livro \"Automate the Boring Stuff with Python: Practical Programming for Total Beginners\"" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 13, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "name": "stdout", 17 | "output_type": "stream", 18 | "text": [ 19 | "Veja o quadro como ficou:\n", 20 | "\n", 21 | " | | \n", 22 | "-+-+-\n", 23 | " | | \n", 24 | "-+-+-\n", 25 | " | | \n" 26 | ] 27 | } 28 | ], 29 | "source": [ 30 | "# Primeiro construímos um quadro com as posições que queremos e um espaço em branco\n", 31 | "# neste espaço, serão colocados os \n", 32 | "\n", 33 | "theBoard = {'1': ' ' , '2': ' ' , '3': ' ' ,\n", 34 | " '4': ' ' , '5': ' ' , '6': ' ' ,\n", 35 | " '7': ' ' , '8': ' ' , '9': ' ' }\n", 36 | "\n", 37 | "board_keys = []\n", 38 | "\n", 39 | "for key in theBoard:\n", 40 | " board_keys.append(key)\n", 41 | "\n", 42 | "''' We will have to print the updated board after every move in the game and \n", 43 | " thus we will make a function in which we'll define the printBoard function\n", 44 | " so that we can easily print the board everytime by calling this function. '''\n", 45 | "\n", 46 | "def printBoard(board):\n", 47 | " print(board['1'] + '|' + board['2'] + '|' + board['3'])\n", 48 | " print('-+-+-')\n", 49 | " print(board['4'] + '|' + board['5'] + '|' + board['6'])\n", 50 | " print('-+-+-')\n", 51 | " print(board['7'] + '|' + board['8'] + '|' + board['9'])\n", 52 | "\n", 53 | "print(\"Veja o quadro como ficou:\\n\")\n", 54 | "printBoard(theBoard)" 55 | ] 56 | }, 57 | { 58 | "cell_type": "code", 59 | "execution_count": 7, 60 | "metadata": {}, 61 | "outputs": [ 62 | { 63 | "ename": "IndentationError", 64 | "evalue": "unexpected indent (, line 2)", 65 | "output_type": "error", 66 | "traceback": [ 67 | "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m2\u001b[0m\n\u001b[0;31m if count >= 5:\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unexpected indent\n" 68 | ] 69 | } 70 | ], 71 | "source": [ 72 | "# Now we'll write the main function which has all the gameplay functionality.\n", 73 | "def game():\n", 74 | "\n", 75 | " turn = 'X'\n", 76 | " count = 0\n", 77 | "\n", 78 | "\n", 79 | " for i in range(10):\n", 80 | " printBoard(theBoard)\n", 81 | " print(\"It's your turn,\" + turn + \".Move to which place?\")\n", 82 | "\n", 83 | " move = input() \n", 84 | "\n", 85 | " if theBoard[move] == ' ':\n", 86 | " theBoard[move] = turn\n", 87 | " count += 1\n", 88 | " else:\n", 89 | " print(\"That place is already filled.\\nMove to which place?\")\n", 90 | " continue\n", 91 | "\n", 92 | " # Now we will check if player X or O has won,for every move after 5 moves. \n", 93 | " if count >= 5:\n", 94 | " if theBoard['7'] == theBoard['8'] == theBoard['9'] != ' ': # across the top\n", 95 | " printBoard(theBoard)\n", 96 | " print(\"\\nGame Over.\\n\") \n", 97 | " print(\" **** \" +turn + \" won. ****\") \n", 98 | " break\n", 99 | " elif theBoard['4'] == theBoard['5'] == theBoard['6'] != ' ': # across the middle\n", 100 | " printBoard(theBoard)\n", 101 | " print(\"\\nGame Over.\\n\") \n", 102 | " print(\" **** \" +turn + \" won. ****\")\n", 103 | " break\n", 104 | " elif theBoard['1'] == theBoard['2'] == theBoard['3'] != ' ': # across the bottom\n", 105 | " printBoard(theBoard)\n", 106 | " print(\"\\nGame Over.\\n\") \n", 107 | " print(\" **** \" +turn + \" won. ****\")\n", 108 | " break\n", 109 | " elif theBoard['1'] == theBoard['4'] == theBoard['7'] != ' ': # down the left side\n", 110 | " printBoard(theBoard)\n", 111 | " print(\"\\nGame Over.\\n\") \n", 112 | " print(\" **** \" +turn + \" won. ****\")\n", 113 | " break\n", 114 | " elif theBoard['2'] == theBoard['5'] == theBoard['8'] != ' ': # down the middle\n", 115 | " printBoard(theBoard)\n", 116 | " print(\"\\nGame Over.\\n\") \n", 117 | " print(\" **** \" +turn + \" won. ****\")\n", 118 | " break\n", 119 | " elif theBoard['3'] == theBoard['6'] == theBoard['9'] != ' ': # down the right side\n", 120 | " printBoard(theBoard)\n", 121 | " print(\"\\nGame Over.\\n\") \n", 122 | " print(\" **** \" +turn + \" won. ****\")\n", 123 | " break \n", 124 | " elif theBoard['7'] == theBoard['5'] == theBoard['3'] != ' ': # diagonal\n", 125 | " printBoard(theBoard)\n", 126 | " print(\"\\nGame Over.\\n\") \n", 127 | " print(\" **** \" +turn + \" won. ****\")\n", 128 | " break\n", 129 | " elif theBoard['1'] == theBoard['5'] == theBoard['9'] != ' ': # diagonal\n", 130 | " printBoard(theBoard)\n", 131 | " print(\"\\nGame Over.\\n\") \n", 132 | " print(\" **** \" +turn + \" won. ****\")\n", 133 | " break \n", 134 | "\n", 135 | " # If neither X nor O wins and the board is full, we'll declare the result as 'tie'.\n", 136 | " if count == 9:\n", 137 | " print(\"\\nGame Over.\\n\") \n", 138 | " print(\"It's a Tie!!\")\n", 139 | "\n", 140 | " # Now we have to change the player after every move.\n", 141 | " if turn =='X':\n", 142 | " turn = 'O'\n", 143 | " else:\n", 144 | " turn = 'X' \n", 145 | " \n", 146 | " # Now we will ask if player wants to restart the game or not.\n", 147 | " restart = input(\"Do want to play Again?(y/n)\")\n", 148 | " if restart == \"y\" or restart == \"Y\": \n", 149 | " for key in board_keys:\n", 150 | " theBoard[key] = \" \"\n", 151 | "\n", 152 | " game()\n", 153 | "\n", 154 | "if __name__ == \"__main__\":\n", 155 | " game()" 156 | ] 157 | }, 158 | { 159 | "cell_type": "code", 160 | "execution_count": null, 161 | "metadata": {}, 162 | "outputs": [], 163 | "source": [] 164 | } 165 | ], 166 | "metadata": { 167 | "kernelspec": { 168 | "display_name": "Python 3", 169 | "language": "python", 170 | "name": "python3" 171 | }, 172 | "language_info": { 173 | "codemirror_mode": { 174 | "name": "ipython", 175 | "version": 3 176 | }, 177 | "file_extension": ".py", 178 | "mimetype": "text/x-python", 179 | "name": "python", 180 | "nbconvert_exporter": "python", 181 | "pygments_lexer": "ipython3", 182 | "version": "3.7.6" 183 | } 184 | }, 185 | "nbformat": 4, 186 | "nbformat_minor": 4 187 | } 188 | -------------------------------------------------------------------------------- /regressao-logistica/adspy_shared_utilities.py: -------------------------------------------------------------------------------- 1 | # version 1.0 2 | 3 | import numpy 4 | import pandas as pd 5 | import seaborn as sn 6 | import matplotlib.pyplot as plt 7 | import matplotlib.cm as cm 8 | from matplotlib.colors import ListedColormap, BoundaryNorm 9 | from sklearn import neighbors 10 | import matplotlib.patches as mpatches 11 | import graphviz 12 | from sklearn.tree import export_graphviz 13 | import matplotlib.patches as mpatches 14 | 15 | def load_crime_dataset(): 16 | # Communities and Crime dataset for regression 17 | # https://archive.ics.uci.edu/ml/datasets/Communities+and+Crime+Unnormalized 18 | 19 | crime = pd.read_table('CommViolPredUnnormalizedData.txt', sep=',', na_values='?') 20 | # remove features with poor coverage or lower relevance, and keep ViolentCrimesPerPop target column 21 | columns_to_keep = [5, 6] + list(range(11,26)) + list(range(32, 103)) + [145] 22 | crime = crime.ix[:,columns_to_keep].dropna() 23 | 24 | X_crime = crime.ix[:,range(0,88)] 25 | y_crime = crime['ViolentCrimesPerPop'] 26 | 27 | return (X_crime, y_crime) 28 | 29 | def plot_decision_tree(clf, feature_names, class_names): 30 | # This function requires the pydotplus module and assumes it's been installed. 31 | # In some cases (typically under Windows) even after running conda install, there is a problem where the 32 | # pydotplus module is not found when running from within the notebook environment. The following code 33 | # may help to guarantee the module is installed in the current notebook environment directory. 34 | # 35 | # import sys; sys.executable 36 | # !{sys.executable} -m pip install pydotplus 37 | 38 | export_graphviz(clf, out_file="adspy_temp.dot", feature_names=feature_names, class_names=class_names, filled = True, impurity = False) 39 | with open("adspy_temp.dot") as f: 40 | dot_graph = f.read() 41 | # Alternate method using pydotplus, if installed. 42 | # graph = pydotplus.graphviz.graph_from_dot_data(dot_graph) 43 | # return graph.create_png() 44 | return graphviz.Source(dot_graph) 45 | 46 | def plot_feature_importances(clf, feature_names): 47 | c_features = len(feature_names) 48 | plt.barh(range(c_features), clf.feature_importances_) 49 | plt.xlabel("Feature importance") 50 | plt.ylabel("Feature name") 51 | plt.yticks(numpy.arange(c_features), feature_names) 52 | 53 | def plot_labelled_scatter(X, y, class_labels): 54 | num_labels = len(class_labels) 55 | 56 | x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 57 | y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 58 | 59 | marker_array = ['o', '^', '*'] 60 | color_array = ['#FFFF00', '#00AAFF', '#000000', '#FF00AA'] 61 | cmap_bold = ListedColormap(color_array) 62 | bnorm = BoundaryNorm(numpy.arange(0, num_labels + 1, 1), ncolors=num_labels) 63 | plt.figure() 64 | 65 | plt.scatter(X[:, 0], X[:, 1], s=65, c=y, cmap=cmap_bold, norm = bnorm, alpha = 0.40, edgecolor='black', lw = 1) 66 | 67 | plt.xlim(x_min, x_max) 68 | plt.ylim(y_min, y_max) 69 | 70 | h = [] 71 | for c in range(0, num_labels): 72 | h.append(mpatches.Patch(color=color_array[c], label=class_labels[c])) 73 | plt.legend(handles=h) 74 | 75 | plt.show() 76 | 77 | 78 | def plot_class_regions_for_classifier_subplot(clf, X, y, X_test, y_test, title, subplot, target_names = None, plot_decision_regions = True): 79 | 80 | numClasses = numpy.amax(y) + 1 81 | color_list_light = ['#FFFFAA', '#EFEFEF', '#AAFFAA', '#AAAAFF'] 82 | color_list_bold = ['#EEEE00', '#000000', '#00CC00', '#0000CC'] 83 | cmap_light = ListedColormap(color_list_light[0:numClasses]) 84 | cmap_bold = ListedColormap(color_list_bold[0:numClasses]) 85 | 86 | h = 0.03 87 | k = 0.5 88 | x_plot_adjust = 0.1 89 | y_plot_adjust = 0.1 90 | plot_symbol_size = 50 91 | 92 | x_min = X[:, 0].min() 93 | x_max = X[:, 0].max() 94 | y_min = X[:, 1].min() 95 | y_max = X[:, 1].max() 96 | x2, y2 = numpy.meshgrid(numpy.arange(x_min-k, x_max+k, h), numpy.arange(y_min-k, y_max+k, h)) 97 | 98 | P = clf.predict(numpy.c_[x2.ravel(), y2.ravel()]) 99 | P = P.reshape(x2.shape) 100 | 101 | if plot_decision_regions: 102 | subplot.contourf(x2, y2, P, cmap=cmap_light, alpha = 0.8) 103 | 104 | subplot.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold, s=plot_symbol_size, edgecolor = 'black') 105 | subplot.set_xlim(x_min - x_plot_adjust, x_max + x_plot_adjust) 106 | subplot.set_ylim(y_min - y_plot_adjust, y_max + y_plot_adjust) 107 | 108 | if (X_test is not None): 109 | subplot.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap=cmap_bold, s=plot_symbol_size, marker='^', edgecolor = 'black') 110 | train_score = clf.score(X, y) 111 | test_score = clf.score(X_test, y_test) 112 | title = title + "\nTrain score = {:.2f}, Test score = {:.2f}".format(train_score, test_score) 113 | 114 | subplot.set_title(title) 115 | 116 | if (target_names is not None): 117 | legend_handles = [] 118 | for i in range(0, len(target_names)): 119 | patch = mpatches.Patch(color=color_list_bold[i], label=target_names[i]) 120 | legend_handles.append(patch) 121 | subplot.legend(loc=0, handles=legend_handles) 122 | 123 | 124 | def plot_class_regions_for_classifier(clf, X, y, X_test=None, y_test=None, title=None, target_names = None, plot_decision_regions = True): 125 | 126 | numClasses = numpy.amax(y) + 1 127 | color_list_light = ['#FFFFAA', '#EFEFEF', '#AAFFAA', '#AAAAFF'] 128 | color_list_bold = ['#EEEE00', '#000000', '#00CC00', '#0000CC'] 129 | cmap_light = ListedColormap(color_list_light[0:numClasses]) 130 | cmap_bold = ListedColormap(color_list_bold[0:numClasses]) 131 | 132 | h = 0.03 133 | k = 0.5 134 | x_plot_adjust = 0.1 135 | y_plot_adjust = 0.1 136 | plot_symbol_size = 50 137 | 138 | x_min = X[:, 0].min() 139 | x_max = X[:, 0].max() 140 | y_min = X[:, 1].min() 141 | y_max = X[:, 1].max() 142 | x2, y2 = numpy.meshgrid(numpy.arange(x_min-k, x_max+k, h), numpy.arange(y_min-k, y_max+k, h)) 143 | 144 | P = clf.predict(numpy.c_[x2.ravel(), y2.ravel()]) 145 | P = P.reshape(x2.shape) 146 | plt.figure() 147 | if plot_decision_regions: 148 | plt.contourf(x2, y2, P, cmap=cmap_light, alpha = 0.8) 149 | 150 | plt.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold, s=plot_symbol_size, edgecolor = 'black') 151 | plt.xlim(x_min - x_plot_adjust, x_max + x_plot_adjust) 152 | plt.ylim(y_min - y_plot_adjust, y_max + y_plot_adjust) 153 | 154 | if (X_test is not None): 155 | plt.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap=cmap_bold, s=plot_symbol_size, marker='^', edgecolor = 'black') 156 | train_score = clf.score(X, y) 157 | test_score = clf.score(X_test, y_test) 158 | title = title + "\nTrain score = {:.2f}, Test score = {:.2f}".format(train_score, test_score) 159 | 160 | if (target_names is not None): 161 | legend_handles = [] 162 | for i in range(0, len(target_names)): 163 | patch = mpatches.Patch(color=color_list_bold[i], label=target_names[i]) 164 | legend_handles.append(patch) 165 | plt.legend(loc=0, handles=legend_handles) 166 | 167 | if (title is not None): 168 | plt.title(title) 169 | plt.show() 170 | 171 | def plot_fruit_knn(X, y, n_neighbors, weights): 172 | X_mat = X[['height', 'width']].as_matrix() 173 | y_mat = y.as_matrix() 174 | 175 | # Create color maps 176 | cmap_light = ListedColormap(['#FFAAAA', '#AAFFAA', '#AAAAFF','#AFAFAF']) 177 | cmap_bold = ListedColormap(['#FF0000', '#00FF00', '#0000FF','#AFAFAF']) 178 | 179 | clf = neighbors.KNeighborsClassifier(n_neighbors, weights=weights) 180 | clf.fit(X_mat, y_mat) 181 | 182 | # Plot the decision boundary by assigning a color in the color map 183 | # to each mesh point. 184 | 185 | mesh_step_size = .01 # step size in the mesh 186 | plot_symbol_size = 50 187 | 188 | x_min, x_max = X_mat[:, 0].min() - 1, X_mat[:, 0].max() + 1 189 | y_min, y_max = X_mat[:, 1].min() - 1, X_mat[:, 1].max() + 1 190 | xx, yy = numpy.meshgrid(numpy.arange(x_min, x_max, mesh_step_size), 191 | numpy.arange(y_min, y_max, mesh_step_size)) 192 | Z = clf.predict(numpy.c_[xx.ravel(), yy.ravel()]) 193 | 194 | # Put the result into a color plot 195 | Z = Z.reshape(xx.shape) 196 | plt.figure() 197 | plt.pcolormesh(xx, yy, Z, cmap=cmap_light) 198 | 199 | # Plot training points 200 | plt.scatter(X_mat[:, 0], X_mat[:, 1], s=plot_symbol_size, c=y, cmap=cmap_bold, edgecolor = 'black') 201 | plt.xlim(xx.min(), xx.max()) 202 | plt.ylim(yy.min(), yy.max()) 203 | 204 | patch0 = mpatches.Patch(color='#FF0000', label='apple') 205 | patch1 = mpatches.Patch(color='#00FF00', label='mandarin') 206 | patch2 = mpatches.Patch(color='#0000FF', label='orange') 207 | patch3 = mpatches.Patch(color='#AFAFAF', label='lemon') 208 | plt.legend(handles=[patch0, patch1, patch2, patch3]) 209 | 210 | 211 | plt.xlabel('height (cm)') 212 | plt.ylabel('width (cm)') 213 | 214 | plt.show() 215 | 216 | def plot_two_class_knn(X, y, n_neighbors, weights, X_test, y_test): 217 | X_mat = X 218 | y_mat = y 219 | 220 | # Create color maps 221 | cmap_light = ListedColormap(['#FFFFAA', '#AAFFAA', '#AAAAFF','#EFEFEF']) 222 | cmap_bold = ListedColormap(['#FFFF00', '#00FF00', '#0000FF','#000000']) 223 | 224 | clf = neighbors.KNeighborsClassifier(n_neighbors, weights=weights) 225 | clf.fit(X_mat, y_mat) 226 | 227 | # Plot the decision boundary by assigning a color in the color map 228 | # to each mesh point. 229 | 230 | mesh_step_size = .01 # step size in the mesh 231 | plot_symbol_size = 50 232 | 233 | x_min, x_max = X_mat[:, 0].min() - 1, X_mat[:, 0].max() + 1 234 | y_min, y_max = X_mat[:, 1].min() - 1, X_mat[:, 1].max() + 1 235 | xx, yy = numpy.meshgrid(numpy.arange(x_min, x_max, mesh_step_size), 236 | numpy.arange(y_min, y_max, mesh_step_size)) 237 | Z = clf.predict(numpy.c_[xx.ravel(), yy.ravel()]) 238 | 239 | # Put the result into a color plot 240 | Z = Z.reshape(xx.shape) 241 | plt.figure() 242 | plt.pcolormesh(xx, yy, Z, cmap=cmap_light) 243 | 244 | # Plot training points 245 | plt.scatter(X_mat[:, 0], X_mat[:, 1], s=plot_symbol_size, c=y, cmap=cmap_bold, edgecolor = 'black') 246 | plt.xlim(xx.min(), xx.max()) 247 | plt.ylim(yy.min(), yy.max()) 248 | 249 | title = "Neighbors = {}".format(n_neighbors) 250 | if (X_test is not None): 251 | train_score = clf.score(X_mat, y_mat) 252 | test_score = clf.score(X_test, y_test) 253 | title = title + "\nTrain score = {:.2f}, Test score = {:.2f}".format(train_score, test_score) 254 | 255 | patch0 = mpatches.Patch(color='#FFFF00', label='class 0') 256 | patch1 = mpatches.Patch(color='#000000', label='class 1') 257 | plt.legend(handles=[patch0, patch1]) 258 | 259 | plt.xlabel('Feature 0') 260 | plt.ylabel('Feature 1') 261 | plt.title(title) 262 | 263 | plt.show() 264 | -------------------------------------------------------------------------------- /ANOVA.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## INTRO" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "Baseado em: https://pythonfordatascience.org/anova-python/" 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": {}, 20 | "source": [ 21 | "Definição: \n", 22 | "\n", 23 | "A ANOVA é um teste paramétrico (possui estimativas de parâmetros) utilizado quando o pesquisador deseja verificar se existem diferenças entre as médias de uma determinada variável (variável resposta) em relação a um tratamento com dois ou mais níveis categóricos (variável preditora). O teste t também é utilizado nesse tipo de procedimento (com no máximo de dois níveis), porém a ANOVA é indicada para análises com um “n” amostral superior a 30." 24 | ] 25 | }, 26 | { 27 | "cell_type": "markdown", 28 | "metadata": {}, 29 | "source": [ 30 | "Premissas:\n", 31 | "\n", 32 | "Amostras independentes – isso significa que uma observação não pode ser influenciada pela anterior ou pela próxima. Esse pressuposto garante que os dados sejam coletados aleatoriamente dentro do espaço amostral.\n", 33 | "\n", 34 | "Homogeneidade das variâncias entre os grupos – as variância dentro de cada grupo é igual (ou pelo menos aproximadamente) àquela dentro de todos os grupos. Desta forma, cada tratamento contribui de forma igual para a soma dos quadrados.\n", 35 | "\n", 36 | "Resíduos seguem uma distribuição normal – assume-se que a média geral dos resíduos é igual a zero, ou seja, distribuem-se normalmente. Esse pressuposto não é muito restritivo dependendo do tamanho amostral." 37 | ] 38 | }, 39 | { 40 | "cell_type": "markdown", 41 | "metadata": {}, 42 | "source": [ 43 | "## PRÉ-PROCESSAMENTO" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": 1, 49 | "metadata": {}, 50 | "outputs": [], 51 | "source": [ 52 | "# Importa as bibliotecas\n", 53 | "import pandas as pd\n", 54 | "import scipy.stats as stats\n", 55 | "import researchpy as rp\n", 56 | "import statsmodels.api as sm\n", 57 | "from statsmodels.formula.api import ols\n", 58 | " \n", 59 | "import matplotlib.pyplot as plt" 60 | ] 61 | }, 62 | { 63 | "cell_type": "code", 64 | "execution_count": 2, 65 | "metadata": {}, 66 | "outputs": [ 67 | { 68 | "data": { 69 | "text/html": [ 70 | "
\n", 71 | "\n", 84 | "\n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | "
persondoselibido
0113
1212
2311
3411
4514
\n", 126 | "
" 127 | ], 128 | "text/plain": [ 129 | " person dose libido\n", 130 | "0 1 1 3\n", 131 | "1 2 1 2\n", 132 | "2 3 1 1\n", 133 | "3 4 1 1\n", 134 | "4 5 1 4" 135 | ] 136 | }, 137 | "execution_count": 2, 138 | "metadata": {}, 139 | "output_type": "execute_result" 140 | } 141 | ], 142 | "source": [ 143 | "# carrega os dados\n", 144 | "df = pd.read_csv('ANOVA-DATASET.csv', sep=',')\n", 145 | "df.head()" 146 | ] 147 | }, 148 | { 149 | "cell_type": "code", 150 | "execution_count": 3, 151 | "metadata": {}, 152 | "outputs": [ 153 | { 154 | "name": "stdout", 155 | "output_type": "stream", 156 | "text": [ 157 | "\n", 158 | "\n" 159 | ] 160 | }, 161 | { 162 | "data": { 163 | "text/html": [ 164 | "
\n", 165 | "\n", 178 | "\n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | "
VariableNMeanSDSE95% Conf.Interval
0libido15.03.4666671.767430.4563492.4878964.445437
\n", 204 | "
" 205 | ], 206 | "text/plain": [ 207 | " Variable N Mean SD SE 95% Conf. Interval\n", 208 | "0 libido 15.0 3.466667 1.76743 0.456349 2.487896 4.445437" 209 | ] 210 | }, 211 | "execution_count": 3, 212 | "metadata": {}, 213 | "output_type": "execute_result" 214 | } 215 | ], 216 | "source": [ 217 | "# Exclui coluna id (não será usada)\n", 218 | "df.drop('person', axis= 1, inplace= True)\n", 219 | "\n", 220 | "# Altera o campo dose, deixando como uma string mais explicativa\n", 221 | "df['dose'].replace({1: 'placebo', 2: 'low', 3: 'high'}, inplace= True)\n", 222 | " \n", 223 | "# Obtém estatística descritiva de LIBIDO\n", 224 | "rp.summary_cont(df['libido'])" 225 | ] 226 | }, 227 | { 228 | "cell_type": "markdown", 229 | "metadata": {}, 230 | "source": [ 231 | "Sobre as descritivas:\n", 232 | "- Variable: A variável é libido;\n", 233 | "- N: Quantidade de elementos. No caso, temos 15 indivíduos;\n", 234 | "- Mean: A média da variável libido é 3.46. Note, no entanto, que libido é uma variável categórica e não contínua. Ela está sendo tratada como contínua, mas essa é uma análise equivocada. Ainda que a gente possa dizer que 4 é maior que 3, ali o que temos seria o equivalente a classificar como Baixa, Média, Alta e Muito Alta, ou algo do tipo. São os níveis da libido;\n", 235 | "- SD: Desvio padrão da libido é de 1.76;\n", 236 | "- SE: Erro Padrão = SD/raiz(n) da libido é 0.45;\n", 237 | "- O intervalo de confiança 95% vai de 2.487896 a 4.445437. Isso significa que se escolhermos da população 100 pessoas de forma aleatória, 95 estarão nesse intervalo." 238 | ] 239 | }, 240 | { 241 | "cell_type": "code", 242 | "execution_count": 5, 243 | "metadata": {}, 244 | "outputs": [ 245 | { 246 | "name": "stdout", 247 | "output_type": "stream", 248 | "text": [ 249 | "\n", 250 | "\n" 251 | ] 252 | }, 253 | { 254 | "data": { 255 | "text/html": [ 256 | "
\n", 257 | "\n", 270 | "\n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | "
NMeanSDSE95% Conf.Interval
dose
high55.01.5811390.7071073.4504846.549516
low53.21.3038400.5830951.9222364.477764
placebo52.21.3038400.5830950.9222363.477764
\n", 321 | "
" 322 | ], 323 | "text/plain": [ 324 | " N Mean SD SE 95% Conf. Interval\n", 325 | "dose \n", 326 | "high 5 5.0 1.581139 0.707107 3.450484 6.549516\n", 327 | "low 5 3.2 1.303840 0.583095 1.922236 4.477764\n", 328 | "placebo 5 2.2 1.303840 0.583095 0.922236 3.477764" 329 | ] 330 | }, 331 | "execution_count": 5, 332 | "metadata": {}, 333 | "output_type": "execute_result" 334 | } 335 | ], 336 | "source": [ 337 | "# Estatística Descritiva da Libido separada por dose\n", 338 | "rp.summary_cont(df['libido'].groupby(df['dose']))" 339 | ] 340 | }, 341 | { 342 | "cell_type": "code", 343 | "execution_count": 6, 344 | "metadata": {}, 345 | "outputs": [ 346 | { 347 | "data": { 348 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAEICAYAAAB/Dx7IAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAADslJREFUeJzt3XuMpXV9x/H3B3aRO8zA2nIbtsRK2zQVmhNbS0ssXoKXWtNYhSgRY5k0aSmmJlRMDZBoiSk1NqSxXQHFglrKpWnxEgkVCWmBzuJigMVECYSbsLhDYUFQybd/nLN0GGZ2ntk9Z8/8Zt+v5ISZOb95nu/O2XnPs895hpOqQpLUjr3GPYAkaXkMtyQ1xnBLUmMMtyQ1xnBLUmMMtyQ1xnCraUm+mOSTu2E/30jywcHbZya5tcvaBe5bn6SSrBnVrFr9DLeGIskDSX6SZFuS2SRfS3LMuOeaaxDM1+zg/kWDXFVvq6oruuxnOWulnWG4NUx/UFUHAkcAjwOXjHkeaVUy3Bq6qnoeuAb4te0fS3JIki8l2ZLkwSR/nWSvwX2fS3LNnLWfTnJT+t6Y5OEkH0/y5ODI/v2L7TvJWUl+kGRrkn9PcuTg47cMltw1+FfB+5bzZ0pyc5I/efmHckmS/01yX5I3LbQ2yd5JLh7Mfj/wjnnbPXIw59bB3GctZy7tmTzPpqFLsj/wPuC2OR++BDgEOA44DPgW8BhwGfBRYFOSM4EfAh8GTqiqSgLwi8DhwFHAbwNfTzJTVd+ft99TgIuAtwL3ABcDXwVOrqqTkxTwuqr6wRD+mL9F/4fT4cAfAdcl+aWq2jpv3VnAO4ETgWeBa+fd/5XBrEcCvwLcmOT+qrppCDNqlfKIW8P0b0meAp4G3gL8LfSPOumH/LyqeqaqHgD+DjgDoKqeAz4AfAa4Eji7qh6et+1PVNULVfUd4GvAexfY//uBy6vqzqp6ATgPeEOS9UP9U/Y9AXy2qn5WVf8CfJ95R9MD7x2se2gQ9Yu23zF4DuB3gb+qquerahNwKYOvi7QYw61hendVHQq8Cvhz4DtJth8t7wM8OGftg/SPoAGoqjuA+4EAV8/b7mxVPTvvc49cYP9Hzt1HVW0Dfjx3P0P0SL38/9C2o5kemrdu7n1bq+qZefePYl6tIoZbQ1dVL1bVdcCL9I8onwR+Bhw7Z9kU8Mj2d5L8Gf3gPwqcO2+TE0kOmPe5jy6w60fn7mPwOYfN3c8QHZXBeZwlZnoMOGbeuu0eBSaTHDTv/lHMq1XEcGvoBk8q/iEwAWyuqhfpH0V/KslBSY4F/pL+aRGSvBb4JP3TJWcA5yY5Yd5mL0yyT5Lfo3/O+F8X2PWXgQ8lOSHJq4C/AW4fnJqB/pUux3UYf9+5t0XWvRr4iyRrk/wx8KvA1xdYd/Vg3dFJJoCPbb+jqh4C/gu4aLCv36B/fv+qJWbUHs4nJzVM/5HkRaDo/5P/g1V1z+C+s+k/QXk/8DzweeDywS+iXAl8uqruAkjyceCfk/QGn/sjYJb+EepzwJ9W1X3zd15VNyX5BP0nACfoR/G0OUsuAK5Ish8wXVXzT8kA/A7wk7kfSLJ2gXW3A79M/18TjwPvqaofL7Du88Brgbvon/u/GDhlzv2nA/84+LPNAudX1Y0LbEd6SXwhBa1kSd4IXFlVR497Fmml8FSJJDXGcEtSYzxVIkmN8YhbkhozkqtKDj/88Fq/fv0oNi1Jq9LGjRufrKp1XdaOJNzr169nZmZmFJuWpFUpyYNLr+rzVIkkNcZwS1JjDLckNcZwS1JjDLckNWbJcCc5PsmmObenk3xkdwwnSXqlJS8HHLw81Anw0iuZPAJcP+K5JEmLWO6pkjcBP6yqztcbSpKGa7m/gHMa/Rc3fYUk08A0wNTU1EJLmvDyFzXZef4/YCSNSucj7iT7AO9i4Vceoao2VFWvqnrr1nX6rc0Vqap2eOuyxmhLGqXlnCp5G3BnVT0+qmEkSUtbTrhPZ5HTJJKk3adTuJPsD7wFuG6040iSltLpycmqeg44bMSzSJI68DcnJakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGmO4JakxhluSGtMp3EkOTXJNkvuSbE7yhlEPJkla2JqO6/4e+GZVvSfJPsD+I5xJkrQDS4Y7ycHAycCZAFX1U+Cnox1LkrSYLqdKjgO2AF9I8t0klyY5YP6iJNNJZpLMbNmyZeiDDsvk5CRJdvoG7NLnJ2FycnLMXwVJLesS7jXAbwKfq6oTgWeBj81fVFUbqqpXVb1169YNeczhmZ2dparGepudnR33l0FSw7qE+2Hg4aq6ffD+NfRDLkkagyXDXVU/Ah5KcvzgQ28C7h3pVJKkRXW9quRs4KrBFSX3Ax8a3UiSpB3pFO6q2gT0RjyLJKkDf3NSkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMWu6LEryAPAM8CLw86rqjXIoSdLiOoV74Per6smRTSJJ6sRTJZLUmK5H3AV8K0kB/1RVG+YvSDINTANMTU0Nb8Ihq/MPhgsOGf8MGokku7yNqhrCJNLopMtf0iRHVtWjSV4N3AicXVW3LLa+1+vVzMzMEMccniRj/8ZcCTPsqfzaa6VKsrHr84edTpVU1aOD/z4BXA+8fufHkyTtiiXDneSAJAdtfxt4K3D3qAeTJC2syznuXwCuH5w7XAN8uaq+OdKpJEmLWjLcVXU/8LrdMIskqQMvB5SkxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWqM4ZakxhhuSWpM53An2TvJd5PcMMqBJEk7tpwj7nOAzaMaRJLUTadwJzkaeAdw6WjHkSQtZU3HdZ8FzgUOWmxBkmlgGmBqamrXJxuhJGPd/8TExFj336rJyUlmZ2d3eTu7+vhPTEywdevWXZ5DLzes78uqGsp2VrIlw53kncATVbUxyRsXW1dVG4ANAL1eb8V+5Xb1QU2yR/zFWIlmZ2dXxNd+3D/4V6suj63ff31dTpWcBLwryQPAV4FTklw50qkkSYtaMtxVdV5VHV1V64HTgP+sqg+MfDJJ0oK8jluSGtP1yUkAqupm4OaRTCJJ6sQjbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYYbklqjOGWpMYsGe4k+ya5I8ldSe5JcuHuGEyStLA1Hda8AJxSVduSrAVuTfKNqrptxLNJkhawZLirqoBtg3fXDm41yqEkSYvrcsRNkr2BjcBrgH+oqtsXWDMNTANMTU0Nc8bdKslQ1vR/3mmY6vyD4YJDxj1Gfw4t2+TkJLOzs7u8nS7ff4uZmJhg69atuzzDuGU5gUlyKHA9cHZV3b3Yul6vVzMzM0MYT/p/SVbED8SVMkdrVsLXbSXMsJgkG6uq12Xtsq4qqaqngJuBU3diLknSEHS5qmTd4EibJPsBbwbuG/VgkqSFdTnHfQRwxeA8917A1VV1w2jHkiQtpstVJd8DTtwNs0iSOvA3JyWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhqzZLiTHJPk20k2J7knyTm7YzBJ0sLWdFjzc+CjVXVnkoOAjUlurKp7RzybJGkBSx5xV9VjVXXn4O1ngM3AUaMeTJK0sC5H3C9Jsh44Ebh9gfumgWmAqampIYwmvVKScY/AxMTEuEdoUp1/MFxwyPhnWAVSVd0WJgcC3wE+VVXX7Whtr9ermZmZIYwnabVIQtferOYZFpNkY1X1uqztdFVJkrXAtcBVS0VbkjRaXa4qCXAZsLmqPjP6kSRJO9LliPsk4AzglCSbBre3j3guSdIilnxysqpuBcb/jJAkCfA3JyWpOYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhpjuCWpMYZbkhqzZLiTXJ7kiSR3746BJEk71uWI+4vAqSOeQ5LU0ZLhrqpbgK27YRZJUgdrhrWhJNPANMDU1NSwNitpFUky1v1PTEyMdf/DMrRwV9UGYANAr9erYW1X0upQZRaGxatKJKkxhluSGtPlcsCvAP8NHJ/k4SQfHv1YkqTFLHmOu6pO3x2DSJK68VSJJDXGcEtSYwy3JDXGcEtSYzKKi+KTbAEeHPqGV4bDgSfHPYR2mo9f21bz43dsVa3rsnAk4V7NksxUVW/cc2jn+Pi1zcevz1MlktQYwy1JjTHcy7dh3ANol/j4tc3HD89xS1JzPOKWpMYYbklqjOHuyBdNbluSY5J8O8nmJPckOWfcM6mbJPsmuSPJXYPH7sJxzzRunuPuKMnJwDbgS1X16+OeR8uT5AjgiKq6M8lBwEbg3VV175hH0xLSf72zA6pqW5K1wK3AOVV125hHGxuPuDvyRZPbVlWPVdWdg7efATYDR413KnVRfdsG764d3PboI07DrT1OkvXAicDt451EXSXZO8km4Angxqraox87w609SpIDgWuBj1TV0+OeR91U1YtVdQJwNPD6JHv06UrDrT3G4PzotcBVVXXduOfR8lXVU8DNwKljHmWsDLf2CIMnuC4DNlfVZ8Y9j7pLsi7JoYO39wPeDNw33qnGy3B35IsmN+8k4AzglCSbBre3j3sodXIE8O0k3wP+h/457hvGPNNYeTmgJDXGI25JaozhlqTGGG5JaozhlqTGGG5JaozhlqTGGG5Jasz/AcZcIu8to2NYAAAAAElFTkSuQmCC\n", 349 | "text/plain": [ 350 | "
" 351 | ] 352 | }, 353 | "metadata": { 354 | "needs_background": "light" 355 | }, 356 | "output_type": "display_data" 357 | } 358 | ], 359 | "source": [ 360 | "# Boxplot (Gráfico para mostrar distribuição)\n", 361 | "fig1, ax1 = plt.subplots()\n", 362 | "\n", 363 | "df_new = [df[df['dose']=='high']['libido'], df[df['dose']=='low']['libido'], df[df['dose']=='placebo']['libido']]\n", 364 | "\n", 365 | "ax1.set_title('Boxplot Libido')\n", 366 | "\n", 367 | "ax1.boxplot(df_new)\n", 368 | "\n", 369 | "plt.show()" 370 | ] 371 | }, 372 | { 373 | "cell_type": "markdown", 374 | "metadata": {}, 375 | "source": [ 376 | "Sobre o Boxplot:\n", 377 | " - O gráfico serve para nos mostrar a distribuição da variável;\n", 378 | " - O traço no meio da caixa representa a mediana;\n", 379 | " - Dentro da caixa, temos 50% da amostra. O limite inferior é o p25 e o superior o p75. Ou seja, para a dose 1, temos que 25% da amostra apresentou libido até no máximo 4. 50% da amostra teve libido até 5. E por aí vai. O máximo foi 7 e o mínimo 3. Dentro da caixa estaria o \"grosso\" da amostra.\n", 380 | " \n", 381 | "Visualmente, parece que se trata de 3 grupos diferentes. Será que podemos verificar isso estatisticamente com algum grau de confiança?" 382 | ] 383 | }, 384 | { 385 | "cell_type": "markdown", 386 | "metadata": {}, 387 | "source": [ 388 | "## RODANDO ANOVA" 389 | ] 390 | }, 391 | { 392 | "cell_type": "code", 393 | "execution_count": 7, 394 | "metadata": {}, 395 | "outputs": [ 396 | { 397 | "data": { 398 | "text/plain": [ 399 | "F_onewayResult(statistic=5.11864406779661, pvalue=0.024694289538222603)" 400 | ] 401 | }, 402 | "execution_count": 7, 403 | "metadata": {}, 404 | "output_type": "execute_result" 405 | } 406 | ], 407 | "source": [ 408 | "# Como é a sintaxe: stats.f_oneway(data_group1, data_group2, data_group3, data_groupN)\n", 409 | "\n", 410 | "stats.f_oneway(df['libido'][df['dose'] == 'high'], \n", 411 | " df['libido'][df['dose'] == 'low'],\n", 412 | " df['libido'][df['dose'] == 'placebo'])" 413 | ] 414 | }, 415 | { 416 | "cell_type": "markdown", 417 | "metadata": {}, 418 | "source": [ 419 | "Olhando para o p-valor, temos que houve efeito da medicação na libido.
\n", 420 | "Porém, não sabemos onde está a diferença.
\n", 421 | "Atenção: Para uma eventual publicação/pesquisa acadêmica, a análise carece de informações." 422 | ] 423 | }, 424 | { 425 | "cell_type": "code", 426 | "execution_count": 8, 427 | "metadata": {}, 428 | "outputs": [ 429 | { 430 | "name": "stderr", 431 | "output_type": "stream", 432 | "text": [ 433 | "/Users/andremota/anaconda3/lib/python3.7/site-packages/scipy/stats/stats.py:1394: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=15\n", 434 | " \"anyway, n=%i\" % int(n))\n" 435 | ] 436 | }, 437 | { 438 | "data": { 439 | "text/html": [ 440 | "\n", 441 | "\n", 442 | "\n", 443 | " \n", 444 | "\n", 445 | "\n", 446 | " \n", 447 | "\n", 448 | "\n", 449 | " \n", 450 | "\n", 451 | "\n", 452 | " \n", 453 | "\n", 454 | "\n", 455 | " \n", 456 | "\n", 457 | "\n", 458 | " \n", 459 | "\n", 460 | "\n", 461 | " \n", 462 | "\n", 463 | "\n", 464 | " \n", 465 | "\n", 466 | "\n", 467 | " \n", 468 | "\n", 469 | "
OLS Regression Results
Dep. Variable: libido R-squared: 0.460
Model: OLS Adj. R-squared: 0.370
Method: Least Squares F-statistic: 5.119
Date: Sat, 14 Mar 2020 Prob (F-statistic): 0.0247
Time: 15:23:39 Log-Likelihood: -24.683
No. Observations: 15 AIC: 55.37
Df Residuals: 12 BIC: 57.49
Df Model: 2
Covariance Type: nonrobust
\n", 470 | "\n", 471 | "\n", 472 | " \n", 473 | "\n", 474 | "\n", 475 | " \n", 476 | "\n", 477 | "\n", 478 | " \n", 479 | "\n", 480 | "\n", 481 | " \n", 482 | "\n", 483 | "
coef std err t P>|t| [0.025 0.975]
Intercept 5.0000 0.627 7.972 0.000 3.634 6.366
C(dose)[T.low] -1.8000 0.887 -2.029 0.065 -3.732 0.132
C(dose)[T.placebo] -2.8000 0.887 -3.157 0.008 -4.732 -0.868
\n", 484 | "\n", 485 | "\n", 486 | " \n", 487 | "\n", 488 | "\n", 489 | " \n", 490 | "\n", 491 | "\n", 492 | " \n", 493 | "\n", 494 | "\n", 495 | " \n", 496 | "\n", 497 | "
Omnibus: 2.517 Durbin-Watson: 2.408
Prob(Omnibus): 0.284 Jarque-Bera (JB): 1.108
Skew: 0.195 Prob(JB): 0.575
Kurtosis: 1.727 Cond. No. 3.73


Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." 498 | ], 499 | "text/plain": [ 500 | "\n", 501 | "\"\"\"\n", 502 | " OLS Regression Results \n", 503 | "==============================================================================\n", 504 | "Dep. Variable: libido R-squared: 0.460\n", 505 | "Model: OLS Adj. R-squared: 0.370\n", 506 | "Method: Least Squares F-statistic: 5.119\n", 507 | "Date: Sat, 14 Mar 2020 Prob (F-statistic): 0.0247\n", 508 | "Time: 15:23:39 Log-Likelihood: -24.683\n", 509 | "No. Observations: 15 AIC: 55.37\n", 510 | "Df Residuals: 12 BIC: 57.49\n", 511 | "Df Model: 2 \n", 512 | "Covariance Type: nonrobust \n", 513 | "======================================================================================\n", 514 | " coef std err t P>|t| [0.025 0.975]\n", 515 | "--------------------------------------------------------------------------------------\n", 516 | "Intercept 5.0000 0.627 7.972 0.000 3.634 6.366\n", 517 | "C(dose)[T.low] -1.8000 0.887 -2.029 0.065 -3.732 0.132\n", 518 | "C(dose)[T.placebo] -2.8000 0.887 -3.157 0.008 -4.732 -0.868\n", 519 | "==============================================================================\n", 520 | "Omnibus: 2.517 Durbin-Watson: 2.408\n", 521 | "Prob(Omnibus): 0.284 Jarque-Bera (JB): 1.108\n", 522 | "Skew: 0.195 Prob(JB): 0.575\n", 523 | "Kurtosis: 1.727 Cond. No. 3.73\n", 524 | "==============================================================================\n", 525 | "\n", 526 | "Warnings:\n", 527 | "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", 528 | "\"\"\"" 529 | ] 530 | }, 531 | "execution_count": 8, 532 | "metadata": {}, 533 | "output_type": "execute_result" 534 | } 535 | ], 536 | "source": [ 537 | "# Obtem mais informacoes\n", 538 | "results = ols('libido ~ C(dose)', data=df).fit()\n", 539 | "results.summary()" 540 | ] 541 | }, 542 | { 543 | "cell_type": "markdown", 544 | "metadata": {}, 545 | "source": [ 546 | "Reparou que rodamos uma REGRESSÃO LINEAR para fazer uma ANOVA?
\n", 547 | "Dica de leitura: https://stats.stackexchange.com/questions/175246/why-is-anova-equivalent-to-linear-regression" 548 | ] 549 | }, 550 | { 551 | "cell_type": "markdown", 552 | "metadata": {}, 553 | "source": [ 554 | "Sobre o Modelo:
\n", 555 | "O modelo é significante como um todo, F(2,12)= 5.12, p = 0.0247" 556 | ] 557 | }, 558 | { 559 | "cell_type": "markdown", 560 | "metadata": {}, 561 | "source": [ 562 | "Os coeficientes são a diferença entre o grupo controle e o respectivo grupo listado. O intercepto é a média para o grupo de alta dosagem (high dose). O coeficiente do grupo placebo é 2.2-5.0=-2.8, para a baixa dosagem (low dose) é 3.2-5.0=-1.8. Olhando pelos p-valores agora (P>|t| na tabela), nós podemos observar que a diferença entre o grupo de alta dose e o placebo é significante, p=0.008, mas a diferença entre o grupo de baixa e alta dosagem não é, p=0.065. Claro, considerando 95%. Não há comparação entre o grupo de baixa dosagem e o placebo.
\n", 563 | "\n", 564 | "Olhando para a tabela, especificamente para o P-Valor e o F-Estatística, nós conseguimos saber se nós explicamos uma quantidade significativa da variação.
\n", 565 | "\n", 566 | "Ok, mas e quanto a comparação dos grupos entre si? Para isso, precisamos fazer algumas análises adicionais. Nós precisamos da tabela ANOVA." 567 | ] 568 | }, 569 | { 570 | "cell_type": "markdown", 571 | "metadata": {}, 572 | "source": [ 573 | "R-quadrado é chamado de eta-quadrado na ANOVA. Nosso modelo responde por 46% da variação da libido." 574 | ] 575 | }, 576 | { 577 | "cell_type": "markdown", 578 | "metadata": {}, 579 | "source": [ 580 | "Estatística-F serve para avaliar se os valores esperados de uma variável entre diferentes grupos se difere. Em outras palavras, em um ensaio clínico, por exemplo, a estatística-F serve para avaliar se algum dos tratamentos é superior ou inferior aos outros, contra a hipótese nula de quetodos produzem a mesma resposta média. Nesse exemplo, um únito teste é feito para detectar possíveis diferenças. Alternativamente, poderíamos executar testes em pares para avaliar diferenças entre tratamentos. A vantagem do teste-F para ANOVA é que nós não precisamos pré-especificar quais tratamentos serão comparados e não precisamos fazer ajustes para múltiplas comparações. A desvantagem do teste-F para ANOVA é que se nós rejeitamos a hipótese nula, nós não sabemos qual dos tratamentos é significamente diferente dos outros, nem (se o teste-F é feito num nível α) podemos dizer se o par de tratametnos com maior diferença na média é significativamente diferente no nível α." 581 | ] 582 | }, 583 | { 584 | "cell_type": "markdown", 585 | "metadata": {}, 586 | "source": [ 587 | "De forma simplificada: o F-Test serve para verificar se as variâncias dos dois grupos são iguais (em determinado nível de significância). Alto p-valor, a diferença entre as variâncias são significativas. Baixo p-valor, rejeitamos H0, as variâncias são diferentes.
\n", 588 | "Um bom vídeo para entender o tema: https://www.youtube.com/watch?v=g9pGHRs-cxc" 589 | ] 590 | }, 591 | { 592 | "cell_type": "markdown", 593 | "metadata": {}, 594 | "source": [ 595 | "F = Variabilidade entre os grupos / Variabilidade intra-grupo
\n", 596 | "
\n", 597 | "Variabilidade entre grupos:
\n", 598 | "\n", 599 | "
\n", 600 | "Variabilidade intra-grupo:
\n", 601 | "" 602 | ] 603 | }, 604 | { 605 | "cell_type": "code", 606 | "execution_count": 9, 607 | "metadata": {}, 608 | "outputs": [ 609 | { 610 | "data": { 611 | "text/html": [ 612 | "
\n", 613 | "\n", 626 | "\n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | "
sum_sqdfFPR(>F)
C(dose)20.1333332.05.1186440.024694
Residual23.60000012.0NaNNaN
\n", 653 | "
" 654 | ], 655 | "text/plain": [ 656 | " sum_sq df F PR(>F)\n", 657 | "C(dose) 20.133333 2.0 5.118644 0.024694\n", 658 | "Residual 23.600000 12.0 NaN NaN" 659 | ] 660 | }, 661 | "execution_count": 9, 662 | "metadata": {}, 663 | "output_type": "execute_result" 664 | } 665 | ], 666 | "source": [ 667 | "# Obtendo a tabela ANOVA\n", 668 | "aov_table = sm.stats.anova_lm(results, typ=2)\n", 669 | "aov_table" 670 | ] 671 | }, 672 | { 673 | "cell_type": "code", 674 | "execution_count": 12, 675 | "metadata": {}, 676 | "outputs": [ 677 | { 678 | "data": { 679 | "text/html": [ 680 | "
\n", 681 | "\n", 694 | "\n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | " \n", 702 | " \n", 703 | " \n", 704 | " \n", 705 | " \n", 706 | " \n", 707 | " \n", 708 | " \n", 709 | " \n", 710 | " \n", 711 | " \n", 712 | " \n", 713 | " \n", 714 | " \n", 715 | " \n", 716 | " \n", 717 | " \n", 718 | " \n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | "
sum_sqdfmean_sqFPR(>F)eta_sqomega_sq
C(dose)20.1333332.010.0666675.1186440.0246940.4603660.354486
Residual23.60000012.01.966667NaNNaNNaNNaN
\n", 730 | "
" 731 | ], 732 | "text/plain": [ 733 | " sum_sq df mean_sq F PR(>F) eta_sq omega_sq\n", 734 | "C(dose) 20.133333 2.0 10.066667 5.118644 0.024694 0.460366 0.354486\n", 735 | "Residual 23.600000 12.0 1.966667 NaN NaN NaN NaN" 736 | ] 737 | }, 738 | "execution_count": 12, 739 | "metadata": {}, 740 | "output_type": "execute_result" 741 | } 742 | ], 743 | "source": [ 744 | "# Cria uma tabela para mostrar vários resultados\n", 745 | "def anova_table(aov):\n", 746 | " aov['mean_sq'] = aov[:]['sum_sq']/aov[:]['df']\n", 747 | " \n", 748 | " aov['eta_sq'] = aov[:-1]['sum_sq']/sum(aov['sum_sq'])\n", 749 | " \n", 750 | " aov['omega_sq'] = (aov[:-1]['sum_sq']-(aov[:-1]['df']*aov['mean_sq'][-1]))/(sum(aov['sum_sq'])+aov['mean_sq'][-1])\n", 751 | " \n", 752 | " cols = ['sum_sq', 'df', 'mean_sq', 'F', 'PR(>F)', 'eta_sq', 'omega_sq']\n", 753 | " aov = aov[cols]\n", 754 | " return aov\n", 755 | "\n", 756 | "anova_table(aov_table)" 757 | ] 758 | }, 759 | { 760 | "cell_type": "markdown", 761 | "metadata": {}, 762 | "source": [ 763 | "Sobre as métricas:\n", 764 | "\n", 765 | " - Sum_sq: explained variance\n", 766 | " - df: degree of freedom.\n", 767 | " - mean_sq: Another thing we need to calculate is the mean squares. The mean squares is desired because it eliminates the bias present in the SSM and SSR, and it is also used to calculate the F-statistic and omega squared. SSM and SSR are biased because they are influenced by the number of values summed to calculated them. To calculate the mean squares, one divides the sum of squares (SSM and SSR) by the degrees of freedom respectively.\n", 768 | " - Eta_sql é o eta-quadrado, que é análogo ao r-quadrado. R2 is a measure of how much variance is explained by the model and is calculated by taking the explained variance (SSM) and dividing it by the total variance (SST; also called total sum of squares). With the total variance (SST) equaling the sum of squares for the model (SSM) plus the sum of square for the residual (SSR). Nosso modelo explica 46% da variação em libido." 769 | ] 770 | }, 771 | { 772 | "cell_type": "markdown", 773 | "metadata": {}, 774 | "source": [ 775 | "## Assumption Checks/Model Diagnostics" 776 | ] 777 | }, 778 | { 779 | "cell_type": "code", 780 | "execution_count": 30, 781 | "metadata": {}, 782 | "outputs": [ 783 | { 784 | "data": { 785 | "text/plain": [ 786 | "{'jb': 1.1080275776425257,\n", 787 | " 'jbpv': 0.574638696944554,\n", 788 | " 'skew': 0.19458085550134038,\n", 789 | " 'kurtosis': 1.726659006032749,\n", 790 | " 'omni': 2.517358660775963,\n", 791 | " 'omnipv': 0.2840288872319991,\n", 792 | " 'condno': 3.7320508075688767,\n", 793 | " 'mineigval': 1.3397459621556138}" 794 | ] 795 | }, 796 | "execution_count": 30, 797 | "metadata": {}, 798 | "output_type": "execute_result" 799 | } 800 | ], 801 | "source": [ 802 | "results.diagn" 803 | ] 804 | }, 805 | { 806 | "cell_type": "markdown", 807 | "metadata": {}, 808 | "source": [ 809 | "These are the same diagnostics from the bottom of the regression table from before. The Durban-Watson tests is to detect the presence of autocorrelation (not provided when calling diagnostics this way), Jarque-Bera (jb; jbpv is p-value) tests the assumption of normality, Omnibus (omni; omnipv is p-value) tests the assumption of homogeneity of variance, and the Condition Number (condno) assess multicollinearity. Condition Number values over 20 are indicative of multicollinearity." 810 | ] 811 | }, 812 | { 813 | "cell_type": "code", 814 | "execution_count": 31, 815 | "metadata": {}, 816 | "outputs": [ 817 | { 818 | "data": { 819 | "text/plain": [ 820 | "LeveneResult(statistic=0.11764705882352934, pvalue=0.8900225182757423)" 821 | ] 822 | }, 823 | "execution_count": 31, 824 | "metadata": {}, 825 | "output_type": "execute_result" 826 | } 827 | ], 828 | "source": [ 829 | "# Homogeneity of variance\n", 830 | "stats.levene(df['libido'][df['dose'] == 'placebo'],\n", 831 | " df['libido'][df['dose'] == 'low'],\n", 832 | " df['libido'][df['dose'] == 'high'])" 833 | ] 834 | }, 835 | { 836 | "cell_type": "code", 837 | "execution_count": 32, 838 | "metadata": {}, 839 | "outputs": [ 840 | { 841 | "data": { 842 | "text/plain": [ 843 | "(0.916691780090332, 0.1714704930782318)" 844 | ] 845 | }, 846 | "execution_count": 32, 847 | "metadata": {}, 848 | "output_type": "execute_result" 849 | } 850 | ], 851 | "source": [ 852 | "# Normality\n", 853 | "stats.shapiro(results.resid)" 854 | ] 855 | }, 856 | { 857 | "cell_type": "code", 858 | "execution_count": 33, 859 | "metadata": {}, 860 | "outputs": [ 861 | { 862 | "name": "stdout", 863 | "output_type": "stream", 864 | "text": [ 865 | "Multiple Comparison of Means - Tukey HSD,FWER=0.05\n", 866 | "==============================================\n", 867 | "group1 group2 meandiff lower upper reject\n", 868 | "----------------------------------------------\n", 869 | " high low -1.8 -4.1651 0.5651 False \n", 870 | " high placebo -2.8 -5.1651 -0.4349 True \n", 871 | " low placebo -1.0 -3.3651 1.3651 False \n", 872 | "----------------------------------------------\n" 873 | ] 874 | } 875 | ], 876 | "source": [ 877 | "# TUKEY’S HSD POST-HOC COMPARISON\n", 878 | "from statsmodels.stats.multicomp import pairwise_tukeyhsd\n", 879 | "from statsmodels.stats.multicomp import MultiComparison\n", 880 | "\n", 881 | "mc = MultiComparison(df['libido'], df['dose'])\n", 882 | "mc_results = mc.tukeyhsd()\n", 883 | "print(mc_results)" 884 | ] 885 | }, 886 | { 887 | "cell_type": "code", 888 | "execution_count": 34, 889 | "metadata": {}, 890 | "outputs": [ 891 | { 892 | "data": { 893 | "text/plain": [ 894 | "Ttest_indResult(statistic=1.963961012123931, pvalue=0.08513507177899203)" 895 | ] 896 | }, 897 | "execution_count": 34, 898 | "metadata": {}, 899 | "output_type": "execute_result" 900 | } 901 | ], 902 | "source": [ 903 | "# BONFERRONI CORRECTION POST-HOC COMPARISON\n", 904 | "stats.ttest_ind(df['libido'][df['dose'] == 'high'], df['libido'][df['dose'] == 'low'])" 905 | ] 906 | }, 907 | { 908 | "cell_type": "code", 909 | "execution_count": 35, 910 | "metadata": {}, 911 | "outputs": [ 912 | { 913 | "data": { 914 | "text/plain": [ 915 | "Ttest_indResult(statistic=1.2126781251816647, pvalue=0.2598450452137845)" 916 | ] 917 | }, 918 | "execution_count": 35, 919 | "metadata": {}, 920 | "output_type": "execute_result" 921 | } 922 | ], 923 | "source": [ 924 | "stats.ttest_ind(df['libido'][df['dose'] == 'low'], df['libido'][df['dose'] == 'placebo'])" 925 | ] 926 | }, 927 | { 928 | "cell_type": "code", 929 | "execution_count": 36, 930 | "metadata": {}, 931 | "outputs": [ 932 | { 933 | "data": { 934 | "text/plain": [ 935 | "Ttest_indResult(statistic=3.0550504633038926, pvalue=0.015700141250047695)" 936 | ] 937 | }, 938 | "execution_count": 36, 939 | "metadata": {}, 940 | "output_type": "execute_result" 941 | } 942 | ], 943 | "source": [ 944 | "stats.ttest_ind(df['libido'][df['dose'] == 'high'], df['libido'][df['dose'] == 'placebo'])" 945 | ] 946 | }, 947 | { 948 | "cell_type": "markdown", 949 | "metadata": {}, 950 | "source": [ 951 | "Using the Bonferroni correction, only the difference between the high dose and placebo groups are significantly different. We can calculate the high dosing’s effect size! To calculate the effect size for the treatment dosing we also need to calculate the degrees of freedom since it’s not provided. The following equations can be used:
\n", 952 | "\n", 953 | "dof = #_observations_group1 + #_observations_group2 - #_of_groups
\n", 954 | "dof = 5 + 5 - 2 = 8
\n", 955 | "effect size r = square root of (t2/t2 + dof)
\n", 956 | "effect size r = sqrt(1.213**2/(1.213**2 + 8)) = 0.39
" 957 | ] 958 | }, 959 | { 960 | "cell_type": "markdown", 961 | "metadata": {}, 962 | "source": [ 963 | "## ANOVA Results Interpretation" 964 | ] 965 | }, 966 | { 967 | "cell_type": "markdown", 968 | "metadata": {}, 969 | "source": [ 970 | "While interpreting the ANOVA results, the Bonferroni post-hoc analysis results will be used.\n", 971 | "\n", 972 | "There was a significant effect of Difficile on the level of libido, F(2,12)= 5.12, p < 0.05, ?2 = 0.35. Planned post-hoc testing, using the Bonferroni correction ?= 0.0167, revealed that high dose of Difficile significantly increased libido compared to the placebo, t(8)=3.06, p < 0.0167, r= 0.39. There were no other statistically significant differences between groups.\n", 973 | "\n" 974 | ] 975 | }, 976 | { 977 | "cell_type": "code", 978 | "execution_count": null, 979 | "metadata": {}, 980 | "outputs": [], 981 | "source": [] 982 | } 983 | ], 984 | "metadata": { 985 | "kernelspec": { 986 | "display_name": "Python 3", 987 | "language": "python", 988 | "name": "python3" 989 | }, 990 | "language_info": { 991 | "codemirror_mode": { 992 | "name": "ipython", 993 | "version": 3 994 | }, 995 | "file_extension": ".py", 996 | "mimetype": "text/x-python", 997 | "name": "python", 998 | "nbconvert_exporter": "python", 999 | "pygments_lexer": "ipython3", 1000 | "version": "3.7.1" 1001 | } 1002 | }, 1003 | "nbformat": 4, 1004 | "nbformat_minor": 2 1005 | } 1006 | -------------------------------------------------------------------------------- /regressao-logistica/Regressao-Logistica.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Rascunho - Regressão Logística" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 3, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "from sklearn.linear_model import LogisticRegression\n", 17 | "from sklearn.model_selection import train_test_split\n", 18 | "from adspy_shared_utilities import (plot_class_regions_for_classifier_subplot)\n", 19 | "import numpy as np" 20 | ] 21 | }, 22 | { 23 | "cell_type": "code", 24 | "execution_count": 5, 25 | "metadata": {}, 26 | "outputs": [ 27 | { 28 | "data": { 29 | "text/html": [ 30 | "
\n", 31 | "\n", 44 | "\n", 45 | " \n", 46 | " \n", 47 | " \n", 48 | " \n", 49 | " \n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | "
Unnamed: 0AgeSexJobHousingSaving accountsChecking accountCredit amountDurationPurposeRisk
0067male2ownNaNlittle11696radio/TVgood
1122female2ownlittlemoderate595148radio/TVbad
2249male1ownlittleNaN209612educationgood
3345male2freelittlelittle788242furniture/equipmentgood
4453male2freelittlelittle487024carbad
\n", 134 | "
" 135 | ], 136 | "text/plain": [ 137 | " Unnamed: 0 Age Sex Job Housing Saving accounts Checking account \\\n", 138 | "0 0 67 male 2 own NaN little \n", 139 | "1 1 22 female 2 own little moderate \n", 140 | "2 2 49 male 1 own little NaN \n", 141 | "3 3 45 male 2 free little little \n", 142 | "4 4 53 male 2 free little little \n", 143 | "\n", 144 | " Credit amount Duration Purpose Risk \n", 145 | "0 1169 6 radio/TV good \n", 146 | "1 5951 48 radio/TV bad \n", 147 | "2 2096 12 education good \n", 148 | "3 7882 42 furniture/equipment good \n", 149 | "4 4870 24 car bad " 150 | ] 151 | }, 152 | "execution_count": 5, 153 | "metadata": {}, 154 | "output_type": "execute_result" 155 | } 156 | ], 157 | "source": [ 158 | "import pandas as pd\n", 159 | "credit_df = pd.read_csv('german_credit_data.csv')\n", 160 | "credit_df.head()" 161 | ] 162 | }, 163 | { 164 | "cell_type": "code", 165 | "execution_count": 6, 166 | "metadata": {}, 167 | "outputs": [ 168 | { 169 | "data": { 170 | "text/html": [ 171 | "
\n", 172 | "\n", 185 | "\n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | "
Unnamed: 0AgeSexJobHousingSaving accountsChecking accountCredit amountDurationPurposeRiskRisk_Num
0067male2ownNaNlittle11696radio/TVgood1
1122female2ownlittlemoderate595148radio/TVbad0
2249male1ownlittleNaN209612educationgood1
3345male2freelittlelittle788242furniture/equipmentgood1
4453male2freelittlelittle487024carbad0
\n", 281 | "
" 282 | ], 283 | "text/plain": [ 284 | " Unnamed: 0 Age Sex Job Housing Saving accounts Checking account \\\n", 285 | "0 0 67 male 2 own NaN little \n", 286 | "1 1 22 female 2 own little moderate \n", 287 | "2 2 49 male 1 own little NaN \n", 288 | "3 3 45 male 2 free little little \n", 289 | "4 4 53 male 2 free little little \n", 290 | "\n", 291 | " Credit amount Duration Purpose Risk Risk_Num \n", 292 | "0 1169 6 radio/TV good 1 \n", 293 | "1 5951 48 radio/TV bad 0 \n", 294 | "2 2096 12 education good 1 \n", 295 | "3 7882 42 furniture/equipment good 1 \n", 296 | "4 4870 24 car bad 0 " 297 | ] 298 | }, 299 | "execution_count": 6, 300 | "metadata": {}, 301 | "output_type": "execute_result" 302 | } 303 | ], 304 | "source": [ 305 | "credit_df['Risk_Num'] = np.where(credit_df['Risk']=='good', 1, 0)\n", 306 | "credit_df.head()" 307 | ] 308 | }, 309 | { 310 | "cell_type": "code", 311 | "execution_count": 7, 312 | "metadata": {}, 313 | "outputs": [], 314 | "source": [ 315 | "# Cria classe nova para NAs\n", 316 | "credit_df=credit_df.fillna('Null')" 317 | ] 318 | }, 319 | { 320 | "cell_type": "code", 321 | "execution_count": 8, 322 | "metadata": {}, 323 | "outputs": [ 324 | { 325 | "name": "stdout", 326 | "output_type": "stream", 327 | "text": [ 328 | "2 630\n", 329 | "1 200\n", 330 | "3 148\n", 331 | "0 22\n", 332 | "Name: Job, dtype: int64\n", 333 | "own 713\n", 334 | "rent 179\n", 335 | "free 108\n", 336 | "Name: Housing, dtype: int64\n", 337 | "little 603\n", 338 | "Null 183\n", 339 | "moderate 103\n", 340 | "quite rich 63\n", 341 | "rich 48\n", 342 | "Name: Saving accounts, dtype: int64\n", 343 | "Null 394\n", 344 | "little 274\n", 345 | "moderate 269\n", 346 | "rich 63\n", 347 | "Name: Checking account, dtype: int64\n", 348 | "car 337\n", 349 | "radio/TV 280\n", 350 | "furniture/equipment 181\n", 351 | "business 97\n", 352 | "education 59\n", 353 | "repairs 22\n", 354 | "domestic appliances 12\n", 355 | "vacation/others 12\n", 356 | "Name: Purpose, dtype: int64\n" 357 | ] 358 | } 359 | ], 360 | "source": [ 361 | "# Entendendo as variaveis categoricas\n", 362 | "print(credit_df['Job'].value_counts())\n", 363 | "print(credit_df['Housing'].value_counts())\n", 364 | "print(credit_df['Saving accounts'].value_counts())\n", 365 | "print(credit_df['Checking account'].value_counts())\n", 366 | "print(credit_df['Purpose'].value_counts())" 367 | ] 368 | }, 369 | { 370 | "cell_type": "code", 371 | "execution_count": 9, 372 | "metadata": {}, 373 | "outputs": [], 374 | "source": [ 375 | "# Converte as variaveis categoricas em dummies\n", 376 | "credit_df=pd.get_dummies(credit_df)" 377 | ] 378 | }, 379 | { 380 | "cell_type": "code", 381 | "execution_count": 10, 382 | "metadata": {}, 383 | "outputs": [ 384 | { 385 | "data": { 386 | "text/html": [ 387 | "
\n", 388 | "\n", 401 | "\n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | " \n", 471 | " \n", 472 | " \n", 473 | " \n", 474 | " \n", 475 | " \n", 476 | " \n", 477 | " \n", 478 | " \n", 479 | " \n", 480 | " \n", 481 | " \n", 482 | " \n", 483 | " \n", 484 | " \n", 485 | " \n", 486 | " \n", 487 | " \n", 488 | " \n", 489 | " \n", 490 | " \n", 491 | " \n", 492 | " \n", 493 | " \n", 494 | " \n", 495 | " \n", 496 | " \n", 497 | " \n", 498 | " \n", 499 | " \n", 500 | " \n", 501 | " \n", 502 | " \n", 503 | " \n", 504 | " \n", 505 | " \n", 506 | " \n", 507 | " \n", 508 | " \n", 509 | " \n", 510 | " \n", 511 | " \n", 512 | " \n", 513 | " \n", 514 | " \n", 515 | " \n", 516 | " \n", 517 | " \n", 518 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | " \n", 535 | " \n", 536 | " \n", 537 | " \n", 538 | " \n", 539 | " \n", 540 | " \n", 541 | " \n", 542 | " \n", 543 | " \n", 544 | " \n", 545 | " \n", 546 | " \n", 547 | " \n", 548 | " \n", 549 | " \n", 550 | "
Unnamed: 0AgeJobCredit amountDurationRisk_NumSex_femaleSex_maleHousing_freeHousing_own...Purpose_businessPurpose_carPurpose_domestic appliancesPurpose_educationPurpose_furniture/equipmentPurpose_radio/TVPurpose_repairsPurpose_vacation/othersRisk_badRisk_good
006721169610101...0000010001
1122259514801001...0000010010
2249120961210101...0001000001
3345278824210110...0000100001
4453248702400110...0100000010
\n", 551 | "

5 rows × 30 columns

\n", 552 | "
" 553 | ], 554 | "text/plain": [ 555 | " Unnamed: 0 Age Job Credit amount Duration Risk_Num Sex_female \\\n", 556 | "0 0 67 2 1169 6 1 0 \n", 557 | "1 1 22 2 5951 48 0 1 \n", 558 | "2 2 49 1 2096 12 1 0 \n", 559 | "3 3 45 2 7882 42 1 0 \n", 560 | "4 4 53 2 4870 24 0 0 \n", 561 | "\n", 562 | " Sex_male Housing_free Housing_own ... Purpose_business \\\n", 563 | "0 1 0 1 ... 0 \n", 564 | "1 0 0 1 ... 0 \n", 565 | "2 1 0 1 ... 0 \n", 566 | "3 1 1 0 ... 0 \n", 567 | "4 1 1 0 ... 0 \n", 568 | "\n", 569 | " Purpose_car Purpose_domestic appliances Purpose_education \\\n", 570 | "0 0 0 0 \n", 571 | "1 0 0 0 \n", 572 | "2 0 0 1 \n", 573 | "3 0 0 0 \n", 574 | "4 1 0 0 \n", 575 | "\n", 576 | " Purpose_furniture/equipment Purpose_radio/TV Purpose_repairs \\\n", 577 | "0 0 1 0 \n", 578 | "1 0 1 0 \n", 579 | "2 0 0 0 \n", 580 | "3 1 0 0 \n", 581 | "4 0 0 0 \n", 582 | "\n", 583 | " Purpose_vacation/others Risk_bad Risk_good \n", 584 | "0 0 0 1 \n", 585 | "1 0 1 0 \n", 586 | "2 0 0 1 \n", 587 | "3 0 0 1 \n", 588 | "4 0 1 0 \n", 589 | "\n", 590 | "[5 rows x 30 columns]" 591 | ] 592 | }, 593 | "execution_count": 10, 594 | "metadata": {}, 595 | "output_type": "execute_result" 596 | } 597 | ], 598 | "source": [ 599 | "credit_df.head()" 600 | ] 601 | }, 602 | { 603 | "cell_type": "code", 604 | "execution_count": 11, 605 | "metadata": {}, 606 | "outputs": [ 607 | { 608 | "data": { 609 | "text/html": [ 610 | "
\n", 611 | "\n", 624 | "\n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | " \n", 641 | " \n", 642 | " \n", 643 | " \n", 644 | " \n", 645 | " \n", 646 | " \n", 647 | " \n", 648 | " \n", 649 | " \n", 650 | " \n", 651 | " \n", 652 | " \n", 653 | " \n", 654 | " \n", 655 | " \n", 656 | " \n", 657 | " \n", 658 | " \n", 659 | " \n", 660 | " \n", 661 | " \n", 662 | " \n", 663 | " \n", 664 | " \n", 665 | " \n", 666 | " \n", 667 | " \n", 668 | " \n", 669 | " \n", 670 | " \n", 671 | "
Job 0Job 1Job 2Job 3
00010
10010
20100
30010
40010
\n", 672 | "
" 673 | ], 674 | "text/plain": [ 675 | " Job 0 Job 1 Job 2 Job 3\n", 676 | "0 0 0 1 0\n", 677 | "1 0 0 1 0\n", 678 | "2 0 1 0 0\n", 679 | "3 0 0 1 0\n", 680 | "4 0 0 1 0" 681 | ] 682 | }, 683 | "execution_count": 11, 684 | "metadata": {}, 685 | "output_type": "execute_result" 686 | } 687 | ], 688 | "source": [ 689 | "# As variaveis numericas nao sao convertidas, entao\n", 690 | "# vamos primeiro criar um df com as dummies dela, depois adicionamos ao nosso df original\n", 691 | "dummy_job = pd.get_dummies(credit_df['Job'])\n", 692 | "dummy_job = dummy_job.rename(columns={0: \"Job 0\", 1: \"Job 1\", 2: \"Job 2\", 3: \"Job 3\"})\n", 693 | "dummy_job.head()" 694 | ] 695 | }, 696 | { 697 | "cell_type": "code", 698 | "execution_count": 12, 699 | "metadata": {}, 700 | "outputs": [ 701 | { 702 | "data": { 703 | "text/html": [ 704 | "
\n", 705 | "\n", 718 | "\n", 719 | " \n", 720 | " \n", 721 | " \n", 722 | " \n", 723 | " \n", 724 | " \n", 725 | " \n", 726 | " \n", 727 | " \n", 728 | " \n", 729 | " \n", 730 | " \n", 731 | " \n", 732 | " \n", 733 | " \n", 734 | " \n", 735 | " \n", 736 | " \n", 737 | " \n", 738 | " \n", 739 | " \n", 740 | " \n", 741 | " \n", 742 | " \n", 743 | " \n", 744 | " \n", 745 | " \n", 746 | " \n", 747 | " \n", 748 | " \n", 749 | " \n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | " \n", 793 | " \n", 794 | " \n", 795 | " \n", 796 | " \n", 797 | " \n", 798 | " \n", 799 | " \n", 800 | " \n", 801 | " \n", 802 | " \n", 803 | " \n", 804 | " \n", 805 | " \n", 806 | " \n", 807 | " \n", 808 | " \n", 809 | " \n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | "
Unnamed: 0AgeJobCredit amountDurationRisk_NumSex_femaleSex_maleHousing_freeHousing_own...Purpose_furniture/equipmentPurpose_radio/TVPurpose_repairsPurpose_vacation/othersRisk_badRisk_goodJob_0Job_1Job_2Job_3
006721169610101...0100010010
1122259514801001...0100100010
2249120961210101...0000010100
3345278824210110...1000010010
4453248702400110...0000100010
\n", 868 | "

5 rows × 34 columns

\n", 869 | "
" 870 | ], 871 | "text/plain": [ 872 | " Unnamed: 0 Age Job Credit amount Duration Risk_Num Sex_female \\\n", 873 | "0 0 67 2 1169 6 1 0 \n", 874 | "1 1 22 2 5951 48 0 1 \n", 875 | "2 2 49 1 2096 12 1 0 \n", 876 | "3 3 45 2 7882 42 1 0 \n", 877 | "4 4 53 2 4870 24 0 0 \n", 878 | "\n", 879 | " Sex_male Housing_free Housing_own ... Purpose_furniture/equipment \\\n", 880 | "0 1 0 1 ... 0 \n", 881 | "1 0 0 1 ... 0 \n", 882 | "2 1 0 1 ... 0 \n", 883 | "3 1 1 0 ... 1 \n", 884 | "4 1 1 0 ... 0 \n", 885 | "\n", 886 | " Purpose_radio/TV Purpose_repairs Purpose_vacation/others Risk_bad \\\n", 887 | "0 1 0 0 0 \n", 888 | "1 1 0 0 1 \n", 889 | "2 0 0 0 0 \n", 890 | "3 0 0 0 0 \n", 891 | "4 0 0 0 1 \n", 892 | "\n", 893 | " Risk_good Job_0 Job_1 Job_2 Job_3 \n", 894 | "0 1 0 0 1 0 \n", 895 | "1 0 0 0 1 0 \n", 896 | "2 1 0 1 0 0 \n", 897 | "3 1 0 0 1 0 \n", 898 | "4 0 0 0 1 0 \n", 899 | "\n", 900 | "[5 rows x 34 columns]" 901 | ] 902 | }, 903 | "execution_count": 12, 904 | "metadata": {}, 905 | "output_type": "execute_result" 906 | } 907 | ], 908 | "source": [ 909 | "# Passa as variaveis Job para nossa base\n", 910 | "credit_df[\"Job_0\"] = dummy_job[\"Job 0\"]\n", 911 | "credit_df[\"Job_1\"] = dummy_job[\"Job 1\"]\n", 912 | "credit_df[\"Job_2\"] = dummy_job[\"Job 2\"]\n", 913 | "credit_df[\"Job_3\"] = dummy_job[\"Job 3\"]\n", 914 | "credit_df.head()" 915 | ] 916 | }, 917 | { 918 | "cell_type": "code", 919 | "execution_count": 13, 920 | "metadata": {}, 921 | "outputs": [], 922 | "source": [ 923 | "X_train, X_test, y_train, y_test = (train_test_split(credit_df[['Age', 'Sex_female', 'Job_0', 'Job_1', 'Job_2',\n", 924 | " 'Credit amount', 'Duration',\n", 925 | " 'Housing_free', 'Housing_own',\n", 926 | " 'Saving accounts_Null', 'Saving accounts_little', \n", 927 | " 'Saving accounts_moderate',\n", 928 | " 'Saving accounts_quite rich',\n", 929 | " 'Checking account_Null',\n", 930 | " 'Checking account_little',\n", 931 | " 'Checking account_moderate',\n", 932 | " 'Purpose_business',\n", 933 | " 'Purpose_car',\n", 934 | " 'Purpose_domestic appliances',\n", 935 | " 'Purpose_education',\n", 936 | " 'Purpose_furniture/equipment',\n", 937 | " 'Purpose_radio/TV',\n", 938 | " 'Purpose_repairs']],\n", 939 | " credit_df['Risk_Num'],\n", 940 | " random_state = 0))" 941 | ] 942 | }, 943 | { 944 | "cell_type": "code", 945 | "execution_count": 14, 946 | "metadata": {}, 947 | "outputs": [ 948 | { 949 | "data": { 950 | "text/html": [ 951 | "
\n", 952 | "\n", 965 | "\n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | " \n", 1019 | " \n", 1020 | " \n", 1021 | " \n", 1022 | " \n", 1023 | " \n", 1024 | " \n", 1025 | " \n", 1026 | " \n", 1027 | " \n", 1028 | " \n", 1029 | " \n", 1030 | " \n", 1031 | " \n", 1032 | " \n", 1033 | " \n", 1034 | " \n", 1035 | " \n", 1036 | " \n", 1037 | " \n", 1038 | " \n", 1039 | " \n", 1040 | " \n", 1041 | " \n", 1042 | " \n", 1043 | " \n", 1044 | " \n", 1045 | " \n", 1046 | " \n", 1047 | " \n", 1048 | " \n", 1049 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | "
AgeSex_femaleJob_0Job_1Job_2Credit amountDurationHousing_freeHousing_ownSaving accounts_Null...Checking account_NullChecking account_littleChecking account_moderatePurpose_businessPurpose_carPurpose_domestic appliancesPurpose_educationPurpose_furniture/equipmentPurpose_radio/TVPurpose_repairs
253350001415124010...1000000100
667271001360948010...1001000000
85291000141212010...1001000000
969400010393911010...0100100000
75660000152612100...0100100000
\n", 1115 | "

5 rows × 23 columns

\n", 1116 | "
" 1117 | ], 1118 | "text/plain": [ 1119 | " Age Sex_female Job_0 Job_1 Job_2 Credit amount Duration \\\n", 1120 | "253 35 0 0 0 1 4151 24 \n", 1121 | "667 27 1 0 0 1 3609 48 \n", 1122 | "85 29 1 0 0 0 1412 12 \n", 1123 | "969 40 0 0 1 0 3939 11 \n", 1124 | "75 66 0 0 0 0 1526 12 \n", 1125 | "\n", 1126 | " Housing_free Housing_own Saving accounts_Null ... \\\n", 1127 | "253 0 1 0 ... \n", 1128 | "667 0 1 0 ... \n", 1129 | "85 0 1 0 ... \n", 1130 | "969 0 1 0 ... \n", 1131 | "75 1 0 0 ... \n", 1132 | "\n", 1133 | " Checking account_Null Checking account_little \\\n", 1134 | "253 1 0 \n", 1135 | "667 1 0 \n", 1136 | "85 1 0 \n", 1137 | "969 0 1 \n", 1138 | "75 0 1 \n", 1139 | "\n", 1140 | " Checking account_moderate Purpose_business Purpose_car \\\n", 1141 | "253 0 0 0 \n", 1142 | "667 0 1 0 \n", 1143 | "85 0 1 0 \n", 1144 | "969 0 0 1 \n", 1145 | "75 0 0 1 \n", 1146 | "\n", 1147 | " Purpose_domestic appliances Purpose_education \\\n", 1148 | "253 0 0 \n", 1149 | "667 0 0 \n", 1150 | "85 0 0 \n", 1151 | "969 0 0 \n", 1152 | "75 0 0 \n", 1153 | "\n", 1154 | " Purpose_furniture/equipment Purpose_radio/TV Purpose_repairs \n", 1155 | "253 1 0 0 \n", 1156 | "667 0 0 0 \n", 1157 | "85 0 0 0 \n", 1158 | "969 0 0 0 \n", 1159 | "75 0 0 0 \n", 1160 | "\n", 1161 | "[5 rows x 23 columns]" 1162 | ] 1163 | }, 1164 | "execution_count": 14, 1165 | "metadata": {}, 1166 | "output_type": "execute_result" 1167 | } 1168 | ], 1169 | "source": [ 1170 | "X_train.head()" 1171 | ] 1172 | }, 1173 | { 1174 | "cell_type": "code", 1175 | "execution_count": 15, 1176 | "metadata": {}, 1177 | "outputs": [ 1178 | { 1179 | "name": "stdout", 1180 | "output_type": "stream", 1181 | "text": [ 1182 | "Accuracy of Logistic regression classifier on training set: 0.74\n", 1183 | "Accuracy of Logistic regression classifier on test set: 0.75\n" 1184 | ] 1185 | }, 1186 | { 1187 | "name": "stderr", 1188 | "output_type": "stream", 1189 | "text": [ 1190 | "/Users/andremota/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", 1191 | " FutureWarning)\n" 1192 | ] 1193 | } 1194 | ], 1195 | "source": [ 1196 | "# Roda logit\n", 1197 | "clf = LogisticRegression(C=100).fit(X_train, y_train)\n", 1198 | "# verifica acuracia\n", 1199 | "print('Accuracy of Logistic regression classifier on training set: {:.2f}'\n", 1200 | " .format(clf.score(X_train, y_train)))\n", 1201 | "print('Accuracy of Logistic regression classifier on test set: {:.2f}'\n", 1202 | " .format(clf.score(X_test, y_test)))" 1203 | ] 1204 | }, 1205 | { 1206 | "cell_type": "code", 1207 | "execution_count": null, 1208 | "metadata": {}, 1209 | "outputs": [], 1210 | "source": [] 1211 | } 1212 | ], 1213 | "metadata": { 1214 | "kernelspec": { 1215 | "display_name": "Python 3", 1216 | "language": "python", 1217 | "name": "python3" 1218 | }, 1219 | "language_info": { 1220 | "codemirror_mode": { 1221 | "name": "ipython", 1222 | "version": 3 1223 | }, 1224 | "file_extension": ".py", 1225 | "mimetype": "text/x-python", 1226 | "name": "python", 1227 | "nbconvert_exporter": "python", 1228 | "pygments_lexer": "ipython3", 1229 | "version": "3.7.1" 1230 | } 1231 | }, 1232 | "nbformat": 4, 1233 | "nbformat_minor": 2 1234 | } 1235 | -------------------------------------------------------------------------------- /regressao-logistica/german_credit_data.csv: -------------------------------------------------------------------------------- 1 | ,Age,Sex,Job,Housing,Saving accounts,Checking account,Credit amount,Duration,Purpose,Risk 2 | 0,67,male,2,own,NA,little,1169,6,radio/TV,good 3 | 1,22,female,2,own,little,moderate,5951,48,radio/TV,bad 4 | 2,49,male,1,own,little,NA,2096,12,education,good 5 | 3,45,male,2,free,little,little,7882,42,furniture/equipment,good 6 | 4,53,male,2,free,little,little,4870,24,car,bad 7 | 5,35,male,1,free,NA,NA,9055,36,education,good 8 | 6,53,male,2,own,quite rich,NA,2835,24,furniture/equipment,good 9 | 7,35,male,3,rent,little,moderate,6948,36,car,good 10 | 8,61,male,1,own,rich,NA,3059,12,radio/TV,good 11 | 9,28,male,3,own,little,moderate,5234,30,car,bad 12 | 10,25,female,2,rent,little,moderate,1295,12,car,bad 13 | 11,24,female,2,rent,little,little,4308,48,business,bad 14 | 12,22,female,2,own,little,moderate,1567,12,radio/TV,good 15 | 13,60,male,1,own,little,little,1199,24,car,bad 16 | 14,28,female,2,rent,little,little,1403,15,car,good 17 | 15,32,female,1,own,moderate,little,1282,24,radio/TV,bad 18 | 16,53,male,2,own,NA,NA,2424,24,radio/TV,good 19 | 17,25,male,2,own,NA,little,8072,30,business,good 20 | 18,44,female,3,free,little,moderate,12579,24,car,bad 21 | 19,31,male,2,own,quite rich,NA,3430,24,radio/TV,good 22 | 20,48,male,2,own,little,NA,2134,9,car,good 23 | 21,44,male,2,rent,quite rich,little,2647,6,radio/TV,good 24 | 22,48,male,1,rent,little,little,2241,10,car,good 25 | 23,44,male,2,own,moderate,moderate,1804,12,car,good 26 | 24,26,male,2,own,NA,NA,2069,10,furniture/equipment,good 27 | 25,36,male,1,own,little,little,1374,6,furniture/equipment,good 28 | 26,39,male,1,own,little,NA,426,6,radio/TV,good 29 | 27,42,female,2,rent,rich,rich,409,12,radio/TV,good 30 | 28,34,male,2,own,little,moderate,2415,7,radio/TV,good 31 | 29,63,male,2,own,little,little,6836,60,business,bad 32 | 30,36,male,2,own,rich,moderate,1913,18,business,good 33 | 31,27,male,2,own,little,little,4020,24,furniture/equipment,good 34 | 32,30,male,2,own,moderate,moderate,5866,18,car,good 35 | 33,57,male,1,rent,NA,NA,1264,12,business,good 36 | 34,33,female,3,own,little,rich,1474,12,furniture/equipment,good 37 | 35,25,male,1,own,little,moderate,4746,45,radio/TV,bad 38 | 36,31,male,2,free,little,NA,6110,48,education,good 39 | 37,37,male,2,own,little,rich,2100,18,radio/TV,bad 40 | 38,37,male,2,own,little,rich,1225,10,domestic appliances,good 41 | 39,24,male,2,own,little,moderate,458,9,radio/TV,good 42 | 40,30,male,3,own,quite rich,NA,2333,30,radio/TV,good 43 | 41,26,male,2,own,quite rich,moderate,1158,12,radio/TV,good 44 | 42,44,male,1,own,little,moderate,6204,18,repairs,good 45 | 43,24,male,2,rent,moderate,little,6187,30,car,good 46 | 44,58,female,1,free,little,little,6143,48,car,bad 47 | 45,35,female,3,own,little,NA,1393,11,car,good 48 | 46,39,male,2,own,quite rich,NA,2299,36,radio/TV,good 49 | 47,23,female,0,rent,quite rich,little,1352,6,car,good 50 | 48,39,male,1,own,little,NA,7228,11,car,good 51 | 49,28,female,2,own,moderate,NA,2073,12,radio/TV,good 52 | 50,29,male,1,own,NA,moderate,2333,24,furniture/equipment,good 53 | 51,30,male,3,own,little,moderate,5965,27,car,good 54 | 52,25,male,2,own,little,NA,1262,12,radio/TV,good 55 | 53,31,male,2,own,NA,NA,3378,18,car,good 56 | 54,57,male,2,free,little,moderate,2225,36,car,bad 57 | 55,26,male,1,own,NA,NA,783,6,car,good 58 | 56,52,male,3,own,NA,moderate,6468,12,radio/TV,bad 59 | 57,31,female,2,own,little,NA,9566,36,radio/TV,good 60 | 58,23,female,3,own,little,rich,1961,18,car,good 61 | 59,23,female,1,rent,little,little,6229,36,furniture/equipment,bad 62 | 60,27,male,2,own,little,moderate,1391,9,business,good 63 | 61,50,male,2,own,NA,moderate,1537,15,radio/TV,good 64 | 62,61,male,3,free,little,moderate,1953,36,business,bad 65 | 63,25,male,2,own,little,moderate,14421,48,business,bad 66 | 64,26,female,2,own,little,NA,3181,24,radio/TV,good 67 | 65,48,male,2,own,NA,NA,5190,27,repairs,good 68 | 66,29,female,2,own,little,NA,2171,12,radio/TV,good 69 | 67,22,male,2,own,rich,moderate,1007,12,car,good 70 | 68,37,male,2,free,little,NA,1819,36,education,bad 71 | 69,25,female,2,own,NA,NA,2394,36,radio/TV,good 72 | 70,30,female,2,own,little,NA,8133,36,car,good 73 | 71,46,male,1,rent,NA,NA,730,7,radio/TV,good 74 | 72,51,male,3,free,little,little,1164,8,vacation/others,good 75 | 73,41,female,1,own,little,moderate,5954,42,business,good 76 | 74,40,male,3,own,NA,little,1977,36,education,bad 77 | 75,66,male,3,free,little,little,1526,12,car,good 78 | 76,34,male,2,own,little,little,3965,42,radio/TV,bad 79 | 77,51,male,2,own,little,moderate,4771,11,radio/TV,good 80 | 78,39,male,1,own,NA,NA,9436,54,car,good 81 | 79,22,male,2,own,little,moderate,3832,30,furniture/equipment,good 82 | 80,44,female,2,own,NA,NA,5943,24,radio/TV,bad 83 | 81,47,male,2,own,quite rich,NA,1213,15,radio/TV,good 84 | 82,24,female,1,rent,moderate,NA,1568,18,business,good 85 | 83,58,female,1,own,little,little,1755,24,vacation/others,good 86 | 84,52,male,1,own,little,little,2315,10,radio/TV,good 87 | 85,29,female,3,own,little,NA,1412,12,business,good 88 | 86,27,female,2,own,little,moderate,1295,18,furniture/equipment,good 89 | 87,47,male,2,free,moderate,moderate,12612,36,education,bad 90 | 88,30,male,3,own,moderate,little,2249,18,car,good 91 | 89,28,male,2,own,little,little,1108,12,repairs,bad 92 | 90,56,male,2,own,little,NA,618,12,radio/TV,good 93 | 91,54,male,2,own,little,little,1409,12,car,good 94 | 92,33,female,1,own,NA,NA,797,12,radio/TV,bad 95 | 93,20,male,2,rent,NA,rich,3617,24,furniture/equipment,good 96 | 94,54,male,2,own,rich,moderate,1318,12,car,good 97 | 95,58,male,2,rent,little,moderate,15945,54,business,bad 98 | 96,61,female,2,own,NA,NA,2012,12,education,good 99 | 97,34,male,2,own,moderate,moderate,2622,18,business,good 100 | 98,36,male,2,own,little,moderate,2337,36,radio/TV,good 101 | 99,36,male,3,rent,NA,moderate,7057,20,car,good 102 | 100,41,male,1,rent,moderate,NA,1469,24,car,good 103 | 101,24,male,2,rent,little,moderate,2323,36,radio/TV,good 104 | 102,24,female,2,own,little,NA,932,6,radio/TV,good 105 | 103,35,male,2,rent,little,moderate,1919,9,furniture/equipment,good 106 | 104,26,male,2,rent,NA,NA,2445,12,car,good 107 | 105,39,male,3,own,little,moderate,11938,24,vacation/others,bad 108 | 106,39,male,3,own,little,NA,6458,18,car,bad 109 | 107,32,male,2,own,little,moderate,6078,12,car,good 110 | 108,30,female,2,own,NA,little,7721,24,furniture/equipment,good 111 | 109,35,male,2,own,quite rich,moderate,1410,14,business,good 112 | 110,31,male,2,own,moderate,moderate,1449,6,business,good 113 | 111,23,female,2,rent,little,rich,392,15,education,good 114 | 112,28,male,1,rent,little,moderate,6260,18,car,good 115 | 113,25,female,2,own,little,NA,7855,36,car,bad 116 | 114,35,male,2,own,quite rich,little,1680,12,radio/TV,good 117 | 115,47,male,2,own,NA,NA,3578,48,radio/TV,good 118 | 116,30,female,3,own,NA,little,7174,42,radio/TV,bad 119 | 117,27,female,2,rent,NA,little,2132,10,furniture/equipment,good 120 | 118,23,female,2,own,quite rich,little,4281,33,furniture/equipment,bad 121 | 119,36,male,3,own,quite rich,moderate,2366,12,car,good 122 | 120,25,female,2,own,little,little,1835,21,radio/TV,bad 123 | 121,41,female,3,rent,little,NA,3868,24,car,good 124 | 122,24,male,1,rent,little,NA,1768,12,furniture/equipment,good 125 | 123,63,male,2,free,little,rich,781,10,car,good 126 | 124,27,female,2,rent,NA,moderate,1924,18,furniture/equipment,bad 127 | 125,30,male,2,own,little,little,2121,12,car,good 128 | 126,40,male,1,own,little,little,701,12,radio/TV,good 129 | 127,30,male,2,own,little,moderate,639,12,repairs,bad 130 | 128,34,male,3,own,little,moderate,1860,12,car,good 131 | 129,29,female,2,own,little,little,3499,12,car,bad 132 | 130,24,female,2,own,NA,moderate,8487,48,car,good 133 | 131,29,male,2,own,little,little,6887,36,education,bad 134 | 132,27,male,1,own,little,NA,2708,15,furniture/equipment,good 135 | 133,47,male,2,free,little,NA,1984,18,furniture/equipment,good 136 | 134,21,female,2,own,moderate,NA,10144,60,radio/TV,good 137 | 135,38,female,2,own,NA,NA,1240,12,radio/TV,good 138 | 136,27,male,2,own,rich,NA,8613,27,car,good 139 | 137,66,male,1,own,quite rich,moderate,766,12,radio/TV,bad 140 | 138,35,male,2,own,NA,moderate,2728,15,radio/TV,good 141 | 139,44,female,1,rent,little,rich,1881,12,radio/TV,good 142 | 140,27,male,0,own,rich,rich,709,6,car,good 143 | 141,30,female,3,own,little,moderate,4795,36,radio/TV,good 144 | 142,27,male,3,own,little,little,3416,27,radio/TV,good 145 | 143,22,male,2,own,little,little,2462,18,furniture/equipment,bad 146 | 144,23,female,2,own,little,NA,2288,21,furniture/equipment,good 147 | 145,30,male,2,own,moderate,moderate,3566,48,business,good 148 | 146,39,female,2,own,little,little,860,6,car,good 149 | 147,51,female,2,own,moderate,NA,682,12,car,good 150 | 148,28,male,2,own,little,little,5371,36,furniture/equipment,good 151 | 149,46,male,2,own,rich,NA,1582,18,radio/TV,good 152 | 150,42,male,2,free,moderate,NA,1346,6,radio/TV,good 153 | 151,38,male,2,own,little,NA,1924,10,radio/TV,good 154 | 152,24,male,2,own,little,rich,5848,36,radio/TV,good 155 | 153,29,female,2,rent,rich,moderate,7758,24,car,good 156 | 154,36,male,3,rent,moderate,moderate,6967,24,business,good 157 | 155,20,female,2,rent,little,little,1282,12,furniture/equipment,bad 158 | 156,48,male,2,own,moderate,little,1288,9,repairs,good 159 | 157,45,male,1,own,little,little,339,12,education,good 160 | 158,38,male,2,own,moderate,moderate,3512,24,car,good 161 | 159,34,male,1,own,NA,NA,1898,6,radio/TV,good 162 | 160,36,male,2,own,moderate,NA,2872,24,radio/TV,good 163 | 161,30,female,2,own,little,NA,1055,18,car,good 164 | 162,36,male,2,own,quite rich,NA,1262,15,domestic appliances,good 165 | 163,70,male,3,free,little,moderate,7308,10,car,good 166 | 164,36,male,2,own,quite rich,NA,909,36,car,good 167 | 165,32,male,2,own,quite rich,NA,2978,6,furniture/equipment,good 168 | 166,33,female,2,own,little,little,1131,18,furniture/equipment,bad 169 | 167,20,female,2,own,rich,moderate,1577,11,furniture/equipment,good 170 | 168,25,female,2,rent,little,NA,3972,24,furniture/equipment,good 171 | 169,31,male,2,own,little,moderate,1935,24,business,bad 172 | 170,33,male,2,rent,little,little,950,15,car,bad 173 | 171,26,female,2,own,little,NA,763,12,furniture/equipment,good 174 | 172,34,female,3,own,little,moderate,2064,24,furniture/equipment,bad 175 | 173,33,male,2,own,little,moderate,1414,8,radio/TV,good 176 | 174,26,male,2,own,little,little,3414,21,education,bad 177 | 175,53,female,3,own,NA,NA,7485,30,car,bad 178 | 176,42,male,2,own,little,little,2577,12,furniture/equipment,good 179 | 177,52,male,2,own,quite rich,little,338,6,radio/TV,good 180 | 178,31,male,3,rent,little,NA,1963,12,radio/TV,good 181 | 179,65,male,2,own,little,little,571,21,car,good 182 | 180,28,male,2,own,little,NA,9572,36,business,bad 183 | 181,30,male,3,own,little,moderate,4455,36,business,bad 184 | 182,40,male,1,own,NA,little,1647,21,car,bad 185 | 183,50,male,2,own,rich,NA,3777,24,furniture/equipment,good 186 | 184,36,male,2,own,little,moderate,884,18,car,bad 187 | 185,31,male,2,own,little,NA,1360,15,radio/TV,good 188 | 186,74,female,3,free,little,moderate,5129,9,car,bad 189 | 187,68,male,0,free,little,moderate,1175,16,car,good 190 | 188,20,male,2,own,moderate,little,674,12,radio/TV,bad 191 | 189,33,female,2,own,little,moderate,3244,18,furniture/equipment,good 192 | 190,54,male,3,own,rich,NA,4591,24,business,bad 193 | 191,34,male,1,free,moderate,moderate,3844,48,business,bad 194 | 192,36,male,2,own,little,moderate,3915,27,business,bad 195 | 193,29,male,2,rent,little,NA,2108,6,radio/TV,good 196 | 194,21,male,2,rent,moderate,moderate,3031,45,radio/TV,bad 197 | 195,34,female,3,own,little,moderate,1501,9,education,bad 198 | 196,28,female,2,own,little,NA,1382,6,radio/TV,good 199 | 197,27,female,2,rent,moderate,moderate,951,12,furniture/equipment,bad 200 | 198,36,male,2,free,NA,moderate,2760,24,car,good 201 | 199,40,male,3,own,little,moderate,4297,18,furniture/equipment,bad 202 | 200,52,male,2,own,quite rich,NA,936,9,education,good 203 | 201,27,male,1,own,little,little,1168,12,car,good 204 | 202,26,male,2,own,little,NA,5117,27,business,good 205 | 203,21,male,2,rent,little,little,902,12,education,bad 206 | 204,38,male,1,own,little,NA,1495,12,car,good 207 | 205,38,male,3,free,little,little,10623,30,car,good 208 | 206,43,male,2,own,little,NA,1935,12,furniture/equipment,good 209 | 207,26,male,2,own,little,moderate,1424,12,domestic appliances,good 210 | 208,21,male,1,own,little,little,6568,24,business,good 211 | 209,55,male,2,own,rich,NA,1413,12,car,good 212 | 210,33,male,2,own,NA,NA,3074,9,radio/TV,good 213 | 211,45,female,1,own,NA,NA,3835,36,radio/TV,good 214 | 212,50,male,2,own,little,little,5293,27,business,bad 215 | 213,66,male,3,own,little,rich,1908,30,business,bad 216 | 214,51,male,2,own,NA,NA,3342,36,radio/TV,good 217 | 215,39,female,1,own,NA,moderate,932,6,education,good 218 | 216,31,male,2,own,little,little,3104,18,business,good 219 | 217,23,male,2,own,little,rich,3913,36,radio/TV,good 220 | 218,24,male,1,rent,little,little,3021,24,furniture/equipment,good 221 | 219,64,female,2,own,little,NA,1364,10,car,good 222 | 220,26,male,1,own,little,moderate,625,12,radio/TV,good 223 | 221,23,female,2,rent,NA,little,1200,12,education,good 224 | 222,30,male,2,own,little,NA,707,12,radio/TV,good 225 | 223,32,male,2,own,NA,NA,2978,24,business,good 226 | 224,30,male,2,own,little,NA,4657,15,car,good 227 | 225,27,male,2,own,little,NA,2613,36,repairs,good 228 | 226,27,male,2,own,rich,moderate,10961,48,radio/TV,bad 229 | 227,53,male,3,free,little,little,7865,12,furniture/equipment,bad 230 | 228,22,male,2,own,little,NA,1478,9,radio/TV,bad 231 | 229,22,male,2,free,little,little,3149,24,furniture/equipment,good 232 | 230,26,male,2,own,little,rich,4210,36,radio/TV,bad 233 | 231,51,male,1,free,quite rich,NA,2507,9,car,good 234 | 232,35,male,2,own,moderate,NA,2141,12,radio/TV,good 235 | 233,25,male,1,own,little,moderate,866,18,radio/TV,good 236 | 234,42,male,1,own,little,NA,1544,4,radio/TV,good 237 | 235,30,male,3,own,little,little,1823,24,radio/TV,bad 238 | 236,23,male,0,own,NA,moderate,14555,6,car,bad 239 | 237,61,male,1,rent,moderate,moderate,2767,21,business,bad 240 | 238,35,female,2,own,little,NA,1291,12,radio/TV,good 241 | 239,39,male,2,own,little,little,2522,30,radio/TV,good 242 | 240,29,female,2,own,NA,little,915,24,car,bad 243 | 241,51,male,2,own,little,NA,1595,6,radio/TV,good 244 | 242,24,male,2,free,little,little,4605,48,car,bad 245 | 243,27,female,2,own,little,NA,1185,12,business,good 246 | 244,35,female,1,own,quite rich,NA,3447,12,education,good 247 | 245,25,male,2,own,little,NA,1258,24,business,good 248 | 246,52,male,2,own,little,NA,717,12,radio/TV,good 249 | 247,35,male,2,rent,moderate,NA,1204,6,car,good 250 | 248,26,male,2,own,little,rich,1925,24,furniture/equipment,good 251 | 249,22,female,2,rent,little,NA,433,18,radio/TV,bad 252 | 250,39,female,1,own,rich,little,666,6,car,good 253 | 251,46,female,1,own,little,rich,2251,12,furniture/equipment,good 254 | 252,24,female,2,own,little,moderate,2150,30,car,bad 255 | 253,35,male,2,own,moderate,NA,4151,24,furniture/equipment,good 256 | 254,24,male,2,own,NA,moderate,2030,9,furniture/equipment,good 257 | 255,27,male,1,own,NA,moderate,7418,60,radio/TV,good 258 | 256,35,male,1,own,little,NA,2684,24,radio/TV,good 259 | 257,29,male,2,free,little,little,2149,12,radio/TV,bad 260 | 258,23,female,2,own,moderate,NA,3812,15,car,good 261 | 259,57,female,1,own,moderate,NA,1154,11,radio/TV,good 262 | 260,27,male,2,own,little,little,1657,12,furniture/equipment,good 263 | 261,55,female,2,own,little,little,1603,24,radio/TV,good 264 | 262,36,male,3,free,little,little,5302,18,car,good 265 | 263,57,female,1,free,little,NA,2748,12,education,good 266 | 264,32,male,1,own,little,NA,1231,10,car,good 267 | 265,37,male,2,own,little,moderate,802,15,radio/TV,bad 268 | 266,36,male,2,own,NA,NA,6304,36,business,good 269 | 267,38,female,2,own,little,NA,1533,24,radio/TV,good 270 | 268,45,male,3,own,little,little,8978,14,car,bad 271 | 269,25,male,2,own,NA,NA,999,24,radio/TV,good 272 | 270,32,male,2,own,NA,NA,2662,18,car,good 273 | 271,37,female,2,rent,quite rich,NA,1402,12,furniture/equipment,good 274 | 272,36,male,3,free,NA,moderate,12169,48,car,good 275 | 273,28,male,2,own,little,moderate,3060,48,radio/TV,bad 276 | 274,34,male,1,own,little,little,11998,30,repairs,bad 277 | 275,32,male,2,own,little,NA,2697,9,radio/TV,good 278 | 276,26,female,2,own,little,NA,2404,18,radio/TV,good 279 | 277,49,male,1,own,NA,little,1262,12,furniture/equipment,good 280 | 278,32,female,2,own,little,NA,4611,6,furniture/equipment,bad 281 | 279,29,male,3,rent,moderate,NA,1901,24,radio/TV,good 282 | 280,23,male,2,rent,rich,NA,3368,15,car,good 283 | 281,50,male,2,own,little,NA,1574,12,furniture/equipment,good 284 | 282,49,male,1,own,NA,rich,1445,18,radio/TV,good 285 | 283,63,male,2,own,NA,NA,1520,15,furniture/equipment,good 286 | 284,37,male,2,own,moderate,moderate,3878,24,car,good 287 | 285,35,female,1,own,little,little,10722,47,car,good 288 | 286,26,male,2,own,little,little,4788,48,car,good 289 | 287,31,male,3,free,moderate,moderate,7582,48,vacation/others,good 290 | 288,49,female,2,own,little,moderate,1092,12,radio/TV,good 291 | 289,48,male,2,own,little,little,1024,24,radio/TV,bad 292 | 290,26,male,2,own,little,NA,1076,12,business,good 293 | 291,28,male,3,rent,little,moderate,9398,36,car,bad 294 | 292,44,female,3,free,little,little,6419,24,car,good 295 | 293,56,male,2,free,little,rich,4796,42,car,good 296 | 294,46,male,3,own,NA,NA,7629,48,business,good 297 | 295,26,female,2,own,little,moderate,9960,48,furniture/equipment,bad 298 | 296,20,female,2,rent,NA,NA,4675,12,car,good 299 | 297,45,male,1,own,NA,NA,1287,10,car,good 300 | 298,43,male,2,own,little,NA,2515,18,furniture/equipment,good 301 | 299,32,male,2,own,rich,moderate,2745,21,furniture/equipment,good 302 | 300,54,female,0,own,little,NA,672,6,car,good 303 | 301,42,female,2,own,little,moderate,3804,36,radio/TV,bad 304 | 302,37,male,1,own,NA,rich,1344,24,car,bad 305 | 303,49,male,2,own,little,little,1038,10,car,good 306 | 304,44,male,2,free,quite rich,NA,10127,48,car,bad 307 | 305,33,male,2,own,rich,NA,1543,6,furniture/equipment,good 308 | 306,24,female,1,rent,NA,NA,4811,30,car,good 309 | 307,33,male,1,own,moderate,little,727,12,radio/TV,bad 310 | 308,24,female,2,own,little,moderate,1237,8,furniture/equipment,bad 311 | 309,22,male,1,rent,little,moderate,276,9,car,good 312 | 310,40,male,0,free,NA,moderate,5381,48,vacation/others,good 313 | 311,25,male,2,own,moderate,NA,5511,24,furniture/equipment,good 314 | 312,26,female,2,own,little,rich,3749,24,furniture/equipment,good 315 | 313,25,male,1,own,little,moderate,685,12,car,bad 316 | 314,29,male,1,own,NA,rich,1494,4,car,good 317 | 315,31,male,2,own,little,little,2746,36,furniture/equipment,bad 318 | 316,38,male,1,own,little,little,708,12,furniture/equipment,good 319 | 317,48,female,1,own,NA,moderate,4351,24,furniture/equipment,good 320 | 318,32,male,2,own,little,NA,701,12,education,good 321 | 319,27,female,1,own,little,little,3643,15,furniture/equipment,good 322 | 320,28,male,3,own,little,moderate,4249,30,car,bad 323 | 321,32,male,2,own,little,little,1938,24,radio/TV,bad 324 | 322,34,male,3,free,little,little,2910,24,car,good 325 | 323,28,male,2,own,rich,little,2659,18,furniture/equipment,good 326 | 324,36,female,2,own,little,NA,1028,18,car,good 327 | 325,39,male,1,own,little,little,3398,8,car,good 328 | 326,49,male,2,rent,NA,NA,5801,12,furniture/equipment,good 329 | 327,34,female,2,own,rich,NA,1525,24,car,good 330 | 328,31,male,2,own,little,rich,4473,36,radio/TV,good 331 | 329,28,male,2,own,little,moderate,1068,6,radio/TV,good 332 | 330,75,male,3,free,little,little,6615,24,car,good 333 | 331,30,female,2,own,moderate,NA,1864,18,education,bad 334 | 332,24,female,3,own,moderate,moderate,7408,60,car,bad 335 | 333,24,female,1,rent,moderate,NA,11590,48,car,bad 336 | 334,23,male,2,rent,little,little,4110,24,furniture/equipment,bad 337 | 335,44,male,3,rent,little,little,3384,6,furniture/equipment,bad 338 | 336,23,female,1,own,little,moderate,2101,13,radio/TV,good 339 | 337,24,female,2,rent,NA,little,1275,15,domestic appliances,bad 340 | 338,28,male,2,own,little,little,4169,24,furniture/equipment,good 341 | 339,31,male,1,own,little,moderate,1521,10,furniture/equipment,good 342 | 340,24,female,2,free,little,moderate,5743,24,education,good 343 | 341,26,female,1,rent,little,little,3599,21,furniture/equipment,good 344 | 342,25,male,2,rent,quite rich,moderate,3213,18,radio/TV,good 345 | 343,33,male,3,own,little,moderate,4439,18,business,good 346 | 344,37,male,1,own,little,rich,3949,10,car,good 347 | 345,43,female,1,own,little,NA,1459,15,radio/TV,good 348 | 346,23,male,2,own,little,moderate,882,13,radio/TV,good 349 | 347,23,female,0,rent,quite rich,moderate,3758,24,radio/TV,good 350 | 348,34,male,1,own,moderate,NA,1743,6,business,good 351 | 349,32,male,2,free,rich,moderate,1136,9,education,bad 352 | 350,23,female,2,rent,little,NA,1236,9,domestic appliances,good 353 | 351,29,female,2,own,little,moderate,959,9,furniture/equipment,bad 354 | 352,38,male,3,own,NA,NA,3229,18,car,good 355 | 353,28,male,2,rent,little,little,6199,12,radio/TV,bad 356 | 354,46,male,2,free,quite rich,NA,727,10,education,good 357 | 355,23,male,1,own,little,moderate,1246,24,car,bad 358 | 356,49,male,2,own,NA,NA,2331,12,radio/TV,good 359 | 357,26,male,3,own,little,NA,4463,36,radio/TV,bad 360 | 358,28,male,2,own,little,NA,776,12,radio/TV,good 361 | 359,23,female,2,rent,little,little,2406,30,furniture/equipment,bad 362 | 360,61,male,2,free,NA,moderate,1239,18,education,good 363 | 361,37,male,3,own,NA,rich,3399,12,radio/TV,good 364 | 362,36,female,2,own,little,rich,2247,12,car,good 365 | 363,21,male,2,rent,little,NA,1766,6,furniture/equipment,good 366 | 364,25,male,0,own,little,little,2473,18,furniture/equipment,bad 367 | 365,36,male,2,own,little,NA,1542,12,business,good 368 | 366,27,male,2,own,little,NA,3850,18,car,good 369 | 367,22,female,2,rent,little,little,3650,18,furniture/equipment,good 370 | 368,42,male,2,own,little,little,3446,36,furniture/equipment,bad 371 | 369,40,female,2,rent,little,moderate,3001,18,furniture/equipment,good 372 | 370,36,male,2,own,NA,NA,3079,36,car,good 373 | 371,33,male,2,own,little,NA,6070,18,radio/TV,good 374 | 372,23,female,2,rent,little,NA,2146,10,furniture/equipment,good 375 | 373,63,male,3,free,NA,NA,13756,60,car,good 376 | 374,60,female,3,free,moderate,moderate,14782,60,vacation/others,bad 377 | 375,37,female,2,rent,little,little,7685,48,business,bad 378 | 376,34,male,2,own,little,NA,2320,18,radio/TV,good 379 | 377,36,male,2,free,NA,NA,846,7,radio/TV,good 380 | 378,57,male,3,free,little,moderate,14318,36,car,bad 381 | 379,52,female,1,own,moderate,NA,362,6,car,good 382 | 380,39,male,2,own,NA,little,2212,20,furniture/equipment,good 383 | 381,38,female,3,free,little,moderate,12976,18,car,bad 384 | 382,25,female,2,rent,NA,NA,1283,22,car,good 385 | 383,26,male,2,own,little,rich,1330,12,car,good 386 | 384,26,male,1,own,moderate,NA,4272,30,business,good 387 | 385,25,female,2,own,little,NA,2238,18,radio/TV,good 388 | 386,21,female,2,rent,NA,NA,1126,18,radio/TV,good 389 | 387,40,male,3,own,little,moderate,7374,18,furniture/equipment,good 390 | 388,27,male,2,own,quite rich,moderate,2326,15,business,good 391 | 389,27,female,2,own,little,NA,1449,9,business,good 392 | 390,30,male,3,own,little,NA,1820,18,car,good 393 | 391,19,female,1,rent,rich,moderate,983,12,furniture/equipment,good 394 | 392,39,male,3,free,little,little,3249,36,car,good 395 | 393,31,female,2,own,little,little,1957,6,radio/TV,good 396 | 394,31,male,3,own,little,NA,2406,9,furniture/equipment,good 397 | 395,32,male,2,rent,moderate,moderate,11760,39,education,good 398 | 396,55,female,3,free,little,little,2578,12,furniture/equipment,good 399 | 397,46,male,2,own,little,little,2348,36,furniture/equipment,good 400 | 398,46,male,2,rent,little,moderate,1223,12,car,bad 401 | 399,43,female,1,own,rich,NA,1516,24,radio/TV,good 402 | 400,39,male,2,own,little,NA,1473,18,radio/TV,good 403 | 401,28,male,2,own,NA,moderate,1887,18,business,good 404 | 402,27,male,2,own,little,NA,8648,24,business,bad 405 | 403,27,male,1,own,little,NA,802,14,car,good 406 | 404,43,male,2,own,NA,moderate,2899,18,car,good 407 | 405,22,male,2,own,little,moderate,2039,24,radio/TV,bad 408 | 406,43,male,2,own,NA,NA,2197,24,car,good 409 | 407,27,male,2,own,little,little,1053,15,radio/TV,good 410 | 408,26,male,3,own,quite rich,NA,3235,24,radio/TV,good 411 | 409,28,male,2,own,quite rich,rich,939,12,car,bad 412 | 410,20,female,2,own,little,moderate,1967,24,radio/TV,good 413 | 411,35,male,3,own,little,NA,7253,33,car,good 414 | 412,42,male,3,own,little,NA,2292,12,business,bad 415 | 413,40,male,1,rent,quite rich,NA,1597,10,car,good 416 | 414,35,female,2,own,NA,little,1381,24,car,bad 417 | 415,35,male,2,own,little,NA,5842,36,car,good 418 | 416,33,male,1,own,little,little,2579,12,car,bad 419 | 417,23,female,2,rent,NA,little,8471,18,education,good 420 | 418,31,female,3,own,quite rich,NA,2782,21,car,good 421 | 419,33,female,2,own,NA,moderate,1042,18,car,bad 422 | 420,20,female,2,rent,rich,NA,3186,15,car,good 423 | 421,30,male,2,own,NA,moderate,2028,12,car,good 424 | 422,47,male,1,own,little,moderate,958,12,car,good 425 | 423,34,male,3,own,moderate,NA,1591,21,furniture/equipment,good 426 | 424,25,female,2,own,NA,moderate,2762,12,furniture/equipment,bad 427 | 425,21,male,2,rent,little,moderate,2779,18,car,good 428 | 426,29,male,2,own,little,NA,2743,28,radio/TV,good 429 | 427,46,male,2,own,rich,NA,1149,18,radio/TV,good 430 | 428,20,male,2,own,little,NA,1313,9,furniture/equipment,good 431 | 429,55,female,0,free,little,little,1190,18,repairs,bad 432 | 430,74,male,1,own,little,NA,3448,5,business,good 433 | 431,29,male,3,own,little,moderate,11328,24,vacation/others,bad 434 | 432,36,male,3,free,little,little,1872,6,furniture/equipment,good 435 | 433,33,male,2,own,little,NA,2058,24,repairs,good 436 | 434,25,male,2,own,little,little,2136,9,furniture/equipment,good 437 | 435,25,male,2,own,NA,moderate,1484,12,radio/TV,bad 438 | 436,23,male,1,rent,quite rich,NA,660,6,repairs,good 439 | 437,37,female,2,own,rich,NA,1287,24,car,good 440 | 438,65,male,0,own,little,little,3394,42,repairs,good 441 | 439,26,female,0,own,little,rich,609,12,business,bad 442 | 440,39,male,3,own,little,NA,1884,12,car,good 443 | 441,30,female,2,own,little,little,1620,12,furniture/equipment,good 444 | 442,29,male,2,own,little,moderate,2629,20,vacation/others,good 445 | 443,41,male,1,own,little,NA,719,12,education,bad 446 | 444,30,female,3,own,little,moderate,5096,48,furniture/equipment,bad 447 | 445,41,female,1,rent,NA,NA,1244,9,education,good 448 | 446,34,female,2,own,little,little,1842,36,car,bad 449 | 447,35,male,2,own,little,moderate,2576,7,radio/TV,good 450 | 448,55,female,3,own,NA,rich,1424,12,furniture/equipment,good 451 | 449,61,male,2,own,rich,moderate,1512,15,repairs,bad 452 | 450,30,male,3,own,NA,NA,11054,36,car,good 453 | 451,29,female,2,own,little,NA,518,6,radio/TV,good 454 | 452,34,male,2,own,little,NA,2759,12,furniture/equipment,good 455 | 453,35,male,3,own,little,NA,2670,24,car,good 456 | 454,31,male,2,own,little,little,4817,24,car,bad 457 | 455,29,female,3,own,little,NA,2679,24,car,good 458 | 456,36,male,2,rent,little,little,3905,11,car,good 459 | 457,35,male,2,free,little,little,3386,12,car,bad 460 | 458,27,female,2,own,little,little,343,6,domestic appliances,good 461 | 459,32,male,2,own,little,NA,4594,18,radio/TV,good 462 | 460,37,male,2,own,little,little,3620,36,furniture/equipment,good 463 | 461,36,male,2,own,little,little,1721,15,car,good 464 | 462,34,female,3,rent,little,moderate,3017,12,furniture/equipment,good 465 | 463,38,male,2,own,NA,moderate,754,12,education,good 466 | 464,34,male,2,own,little,NA,1950,18,business,good 467 | 465,63,male,2,own,little,little,2924,24,car,good 468 | 466,29,female,1,rent,little,little,1659,24,radio/TV,bad 469 | 467,32,male,2,own,NA,NA,7238,48,radio/TV,good 470 | 468,26,female,2,own,little,NA,2764,33,business,good 471 | 469,35,male,1,own,little,NA,4679,24,car,good 472 | 470,22,male,2,rent,moderate,moderate,3092,24,radio/TV,bad 473 | 471,23,female,2,own,little,little,448,6,education,bad 474 | 472,28,male,1,own,little,little,654,9,car,bad 475 | 473,36,male,3,own,NA,NA,1238,6,education,good 476 | 474,33,male,2,own,little,moderate,1245,18,radio/TV,bad 477 | 475,26,female,2,rent,little,little,3114,18,furniture/equipment,bad 478 | 476,24,male,2,own,quite rich,NA,2569,39,car,good 479 | 477,25,male,2,own,little,rich,5152,24,radio/TV,good 480 | 478,39,male,1,own,moderate,moderate,1037,12,business,good 481 | 479,44,male,2,own,little,little,1478,15,furniture/equipment,good 482 | 480,23,female,1,own,little,moderate,3573,12,radio/TV,good 483 | 481,26,male,2,own,little,moderate,1201,24,car,good 484 | 482,57,female,2,rent,rich,little,3622,30,furniture/equipment,good 485 | 483,30,female,2,own,rich,NA,960,15,furniture/equipment,good 486 | 484,44,male,2,own,quite rich,NA,1163,12,car,good 487 | 485,47,male,3,own,little,moderate,1209,6,car,bad 488 | 486,52,male,2,own,little,NA,3077,12,radio/TV,good 489 | 487,62,female,2,free,little,NA,3757,24,car,good 490 | 488,35,male,1,rent,moderate,NA,1418,10,car,good 491 | 489,26,male,2,rent,little,NA,3518,6,car,good 492 | 490,26,male,2,own,little,NA,1934,12,radio/TV,good 493 | 491,42,female,3,free,little,moderate,8318,27,business,bad 494 | 492,27,female,2,own,moderate,NA,1237,6,radio/TV,good 495 | 493,38,male,2,own,NA,moderate,368,6,radio/TV,good 496 | 494,39,male,1,rent,little,little,2122,12,car,good 497 | 495,20,male,2,own,NA,little,2996,24,furniture/equipment,bad 498 | 496,29,male,3,rent,moderate,moderate,9034,36,furniture/equipment,bad 499 | 497,40,male,2,own,little,NA,1585,24,furniture/equipment,good 500 | 498,32,male,1,own,little,moderate,1301,18,radio/TV,good 501 | 499,28,male,2,own,moderate,rich,1323,6,car,good 502 | 500,27,female,2,own,little,little,3123,24,car,bad 503 | 501,42,male,2,free,little,little,5493,36,car,good 504 | 502,49,male,2,own,moderate,rich,1126,9,radio/TV,good 505 | 503,38,male,2,own,moderate,moderate,1216,24,radio/TV,bad 506 | 504,24,female,2,rent,little,little,1207,24,car,bad 507 | 505,27,male,1,own,NA,NA,1309,10,car,bad 508 | 506,36,male,2,own,quite rich,rich,2360,15,car,good 509 | 507,34,male,3,own,moderate,moderate,6850,15,car,bad 510 | 508,28,male,2,own,little,NA,1413,24,radio/TV,good 511 | 509,45,male,3,own,moderate,NA,8588,39,car,good 512 | 510,26,male,2,own,little,little,759,12,car,bad 513 | 511,32,male,3,free,little,NA,4686,36,car,good 514 | 512,26,male,2,rent,little,rich,2687,15,business,good 515 | 513,20,male,2,rent,little,moderate,585,12,radio/TV,good 516 | 514,54,male,2,own,NA,NA,2255,24,car,good 517 | 515,37,female,2,own,little,little,609,6,car,good 518 | 516,40,male,1,own,little,little,1361,6,car,good 519 | 517,23,female,2,rent,little,NA,7127,36,furniture/equipment,bad 520 | 518,43,male,2,own,moderate,little,1203,6,car,good 521 | 519,36,male,2,free,NA,NA,700,6,radio/TV,good 522 | 520,44,male,2,free,little,NA,5507,24,repairs,good 523 | 521,24,female,2,own,little,little,3190,18,radio/TV,bad 524 | 522,53,male,2,free,little,little,7119,48,furniture/equipment,bad 525 | 523,23,female,2,own,moderate,NA,3488,24,car,good 526 | 524,26,female,1,own,little,moderate,1113,18,radio/TV,good 527 | 525,30,male,2,own,little,moderate,7966,26,car,good 528 | 526,31,female,2,own,moderate,NA,1532,15,education,good 529 | 527,42,male,1,own,little,NA,1503,4,radio/TV,good 530 | 528,31,male,2,rent,little,little,2302,36,radio/TV,bad 531 | 529,41,male,1,own,little,little,662,6,car,good 532 | 530,32,male,2,own,little,moderate,2273,36,education,good 533 | 531,28,female,2,rent,moderate,moderate,2631,15,car,bad 534 | 532,41,male,2,rent,little,NA,1503,12,car,good 535 | 533,26,male,2,own,moderate,NA,1311,24,radio/TV,good 536 | 534,25,male,2,own,NA,NA,3105,24,radio/TV,good 537 | 535,33,male,2,rent,little,rich,2319,21,education,bad 538 | 536,75,female,3,own,NA,little,1374,6,car,good 539 | 537,37,female,2,own,little,moderate,3612,18,furniture/equipment,good 540 | 538,42,male,3,free,little,little,7763,48,car,bad 541 | 539,45,female,1,own,little,rich,3049,18,furniture/equipment,good 542 | 540,23,male,2,rent,little,moderate,1534,12,radio/TV,bad 543 | 541,60,male,2,free,little,NA,2032,24,car,good 544 | 542,31,male,2,own,NA,little,6350,30,furniture/equipment,bad 545 | 543,34,male,1,own,little,rich,2864,18,furniture/equipment,bad 546 | 544,61,male,1,own,little,NA,1255,12,car,good 547 | 545,43,male,2,free,little,little,1333,24,car,bad 548 | 546,37,female,2,own,little,NA,2022,24,car,good 549 | 547,32,male,2,own,little,NA,1552,24,radio/TV,good 550 | 548,24,female,1,own,little,little,626,12,radio/TV,bad 551 | 549,35,male,2,free,NA,NA,8858,48,car,good 552 | 550,23,female,2,own,NA,NA,996,12,repairs,good 553 | 551,45,male,1,own,quite rich,NA,1750,6,radio/TV,good 554 | 552,34,male,2,own,little,little,6999,48,radio/TV,bad 555 | 553,27,male,2,own,moderate,moderate,1995,12,car,good 556 | 554,67,female,3,own,little,moderate,1199,9,education,good 557 | 555,22,male,2,own,little,moderate,1331,12,radio/TV,bad 558 | 556,28,female,2,own,moderate,moderate,2278,18,car,bad 559 | 557,29,female,2,own,NA,NA,5003,21,car,bad 560 | 558,27,male,2,own,little,little,3552,24,furniture/equipment,bad 561 | 559,31,male,1,own,little,moderate,1928,18,furniture/equipment,bad 562 | 560,49,male,2,free,NA,little,2964,24,car,good 563 | 561,24,male,1,rent,little,little,1546,24,radio/TV,bad 564 | 562,29,female,2,own,little,rich,683,6,radio/TV,good 565 | 563,37,male,2,free,NA,moderate,12389,36,car,bad 566 | 564,37,male,3,own,NA,moderate,4712,24,business,good 567 | 565,23,female,2,rent,moderate,moderate,1553,24,radio/TV,good 568 | 566,36,male,2,own,little,little,1372,12,car,bad 569 | 567,34,male,2,own,rich,NA,2578,24,radio/TV,good 570 | 568,41,male,2,own,NA,moderate,3979,48,radio/TV,good 571 | 569,31,female,2,own,little,little,6758,48,radio/TV,bad 572 | 570,23,female,1,rent,little,little,3234,24,furniture/equipment,bad 573 | 571,38,male,2,own,little,NA,5954,30,radio/TV,good 574 | 572,26,female,3,rent,NA,NA,5433,24,car,good 575 | 573,22,female,1,own,little,little,806,15,business,good 576 | 574,27,male,1,own,little,moderate,1082,9,radio/TV,good 577 | 575,24,female,2,own,little,NA,2788,15,furniture/equipment,good 578 | 576,27,female,2,own,little,moderate,2930,12,radio/TV,good 579 | 577,33,female,2,own,NA,NA,1927,24,education,good 580 | 578,27,male,2,own,little,moderate,2820,36,car,bad 581 | 579,27,male,1,own,little,NA,937,24,education,good 582 | 580,30,male,2,own,little,moderate,1056,18,car,bad 583 | 581,49,male,1,own,little,moderate,3124,12,car,good 584 | 582,26,female,2,rent,little,NA,1388,9,furniture/equipment,good 585 | 583,33,male,1,rent,little,moderate,2384,36,repairs,bad 586 | 584,52,female,3,free,NA,NA,2133,12,car,good 587 | 585,20,female,2,rent,little,little,2039,18,furniture/equipment,bad 588 | 586,36,male,2,rent,little,little,2799,9,car,good 589 | 587,21,male,1,own,little,little,1289,12,furniture/equipment,good 590 | 588,47,male,1,own,little,little,1217,18,domestic appliances,bad 591 | 589,60,male,2,own,little,little,2246,12,furniture/equipment,bad 592 | 590,58,female,1,own,little,little,385,12,radio/TV,good 593 | 591,42,female,2,rent,NA,moderate,1965,24,car,good 594 | 592,36,female,1,own,rich,NA,1572,21,business,good 595 | 593,20,female,1,rent,little,moderate,2718,24,car,bad 596 | 594,40,male,3,own,NA,little,1358,24,vacation/others,bad 597 | 595,32,female,1,own,moderate,moderate,931,6,car,bad 598 | 596,23,female,2,rent,little,little,1442,24,car,bad 599 | 597,36,male,1,own,little,moderate,4241,24,business,bad 600 | 598,31,male,2,own,little,NA,2775,18,car,bad 601 | 599,32,male,2,free,little,NA,3863,24,business,good 602 | 600,45,female,2,own,little,moderate,2329,7,radio/TV,good 603 | 601,30,female,2,own,little,moderate,918,9,furniture/equipment,bad 604 | 602,34,female,1,free,little,moderate,1837,24,education,bad 605 | 603,28,female,3,own,little,NA,3349,36,furniture/equipment,bad 606 | 604,23,female,2,own,little,rich,1275,10,furniture/equipment,good 607 | 605,22,male,2,own,quite rich,little,2828,24,furniture/equipment,good 608 | 606,74,male,3,own,little,NA,4526,24,business,good 609 | 607,50,female,2,free,moderate,moderate,2671,36,radio/TV,bad 610 | 608,33,male,2,own,little,NA,2051,18,radio/TV,good 611 | 609,45,male,2,free,NA,NA,1300,15,car,good 612 | 610,22,female,2,own,moderate,little,741,12,domestic appliances,bad 613 | 611,48,female,1,free,moderate,rich,1240,10,car,bad 614 | 612,29,female,2,own,rich,little,3357,21,radio/TV,good 615 | 613,22,female,2,rent,little,little,3632,24,car,good 616 | 614,22,female,2,own,little,NA,1808,18,furniture/equipment,bad 617 | 615,48,male,3,own,NA,moderate,12204,48,business,good 618 | 616,27,male,3,free,NA,moderate,9157,60,radio/TV,good 619 | 617,37,male,2,rent,little,little,3676,6,car,good 620 | 618,21,female,2,rent,moderate,moderate,3441,30,furniture/equipment,bad 621 | 619,49,male,1,own,little,NA,640,12,car,good 622 | 620,27,male,2,own,little,moderate,3652,21,business,good 623 | 621,32,male,2,own,little,NA,1530,18,car,bad 624 | 622,38,male,2,own,NA,NA,3914,48,business,bad 625 | 623,22,female,2,rent,little,little,1858,12,furniture/equipment,good 626 | 624,65,male,2,free,little,little,2600,18,radio/TV,bad 627 | 625,35,male,2,own,NA,NA,1979,15,radio/TV,good 628 | 626,41,male,2,own,little,rich,2116,6,furniture/equipment,good 629 | 627,29,male,2,own,moderate,moderate,1437,9,car,bad 630 | 628,36,male,2,own,quite rich,NA,4042,42,furniture/equipment,good 631 | 629,64,male,1,own,NA,NA,3832,9,education,good 632 | 630,28,female,2,own,little,little,3660,24,radio/TV,good 633 | 631,44,male,2,own,little,little,1553,18,furniture/equipment,bad 634 | 632,23,male,2,own,NA,moderate,1444,15,radio/TV,good 635 | 633,19,female,2,rent,little,NA,1980,9,furniture/equipment,bad 636 | 634,25,female,1,own,little,moderate,1355,24,car,bad 637 | 635,47,male,2,own,little,NA,1393,12,education,good 638 | 636,28,female,2,own,quite rich,NA,1376,24,radio/TV,good 639 | 637,21,male,2,own,little,NA,15653,60,radio/TV,good 640 | 638,34,female,2,own,little,NA,1493,12,radio/TV,good 641 | 639,26,male,2,own,little,little,4370,42,radio/TV,bad 642 | 640,27,female,0,own,little,little,750,18,education,bad 643 | 641,38,male,1,own,little,moderate,1308,15,repairs,good 644 | 642,40,male,3,own,moderate,NA,4623,15,education,bad 645 | 643,33,male,2,own,little,NA,1851,24,radio/TV,good 646 | 644,32,male,3,own,little,little,1880,18,radio/TV,good 647 | 645,27,male,2,rent,NA,NA,7980,36,business,bad 648 | 646,32,male,2,own,little,little,4583,30,furniture/equipment,good 649 | 647,26,female,2,own,quite rich,NA,1386,12,car,bad 650 | 648,38,male,2,free,little,rich,947,24,car,bad 651 | 649,40,male,1,rent,little,little,684,12,education,bad 652 | 650,50,male,3,free,little,little,7476,48,education,good 653 | 651,37,male,1,own,little,moderate,1922,12,furniture/equipment,bad 654 | 652,45,male,2,own,little,little,2303,24,car,bad 655 | 653,42,male,3,own,moderate,moderate,8086,36,car,bad 656 | 654,35,male,2,own,little,NA,2346,24,car,good 657 | 655,22,male,2,free,little,little,3973,14,car,good 658 | 656,41,male,1,own,little,moderate,888,12,car,bad 659 | 657,37,male,2,own,NA,NA,10222,48,radio/TV,good 660 | 658,28,female,2,own,little,moderate,4221,30,business,good 661 | 659,41,male,2,own,little,moderate,6361,18,furniture/equipment,good 662 | 660,23,male,2,rent,little,rich,1297,12,radio/TV,good 663 | 661,23,male,2,own,NA,little,900,12,car,bad 664 | 662,50,male,2,own,little,NA,2241,21,furniture/equipment,good 665 | 663,35,male,3,own,little,moderate,1050,6,furniture/equipment,good 666 | 664,50,female,1,own,little,rich,1047,6,education,good 667 | 665,27,male,3,own,little,NA,6314,24,vacation/others,good 668 | 666,34,male,2,own,rich,moderate,3496,30,furniture/equipment,good 669 | 667,27,female,2,own,little,NA,3609,48,business,good 670 | 668,43,male,2,rent,little,little,4843,12,car,bad 671 | 669,47,male,2,own,little,rich,3017,30,radio/TV,good 672 | 670,27,male,1,own,moderate,NA,4139,24,business,good 673 | 671,31,male,2,own,moderate,NA,5742,36,business,good 674 | 672,42,male,3,own,little,NA,10366,60,car,good 675 | 673,24,male,2,own,quite rich,NA,2080,6,car,good 676 | 674,41,male,1,own,quite rich,NA,2580,21,business,bad 677 | 675,26,female,3,rent,little,NA,4530,30,radio/TV,good 678 | 676,33,male,2,own,little,NA,5150,24,furniture/equipment,good 679 | 677,24,male,2,own,moderate,moderate,5595,72,radio/TV,bad 680 | 678,64,male,1,rent,little,little,2384,24,radio/TV,good 681 | 679,26,female,2,own,little,NA,1453,18,radio/TV,good 682 | 680,56,female,2,own,little,NA,1538,6,education,good 683 | 681,37,male,2,free,NA,NA,2279,12,radio/TV,good 684 | 682,33,male,2,own,little,NA,1478,15,radio/TV,good 685 | 683,47,male,2,free,little,NA,5103,24,radio/TV,good 686 | 684,31,male,1,own,moderate,moderate,9857,36,business,good 687 | 685,34,male,2,free,NA,NA,6527,60,car,good 688 | 686,27,male,2,own,NA,rich,1347,10,radio/TV,good 689 | 687,30,male,2,free,moderate,moderate,2862,36,car,good 690 | 688,35,male,2,own,moderate,NA,2753,9,radio/TV,good 691 | 689,31,male,2,own,rich,little,3651,12,car,good 692 | 690,25,male,2,own,little,little,975,15,furniture/equipment,good 693 | 691,25,female,1,own,moderate,moderate,2631,15,repairs,good 694 | 692,29,male,2,own,moderate,moderate,2896,24,radio/TV,good 695 | 693,44,male,1,own,NA,little,4716,6,car,good 696 | 694,28,male,2,own,little,NA,2284,24,radio/TV,good 697 | 695,50,male,2,rent,quite rich,NA,1236,6,car,good 698 | 696,29,male,2,own,little,moderate,1103,12,radio/TV,good 699 | 697,38,female,0,own,little,NA,926,12,car,good 700 | 698,24,male,2,own,little,NA,1800,18,radio/TV,good 701 | 699,40,male,3,rent,little,rich,1905,15,education,good 702 | 700,29,female,1,rent,quite rich,NA,1123,12,furniture/equipment,bad 703 | 701,46,male,2,free,little,little,6331,48,car,bad 704 | 702,47,female,2,free,moderate,rich,1377,24,radio/TV,good 705 | 703,41,male,2,own,moderate,moderate,2503,30,business,good 706 | 704,32,female,2,own,little,moderate,2528,27,business,good 707 | 705,35,female,2,free,quite rich,NA,5324,15,car,good 708 | 706,24,male,2,own,moderate,moderate,6560,48,car,bad 709 | 707,25,female,2,rent,little,moderate,2969,12,furniture/equipment,bad 710 | 708,25,female,2,own,little,moderate,1206,9,radio/TV,good 711 | 709,37,male,1,own,little,moderate,2118,9,radio/TV,good 712 | 710,32,male,3,own,quite rich,NA,629,18,radio/TV,good 713 | 711,35,female,2,free,little,little,1198,6,education,bad 714 | 712,46,male,3,own,NA,NA,2476,21,car,good 715 | 713,25,male,1,own,little,little,1138,9,radio/TV,good 716 | 714,27,male,3,own,little,moderate,14027,60,car,bad 717 | 715,63,male,2,own,NA,NA,7596,30,car,good 718 | 716,40,male,2,own,NA,NA,3077,30,radio/TV,good 719 | 717,32,male,3,free,little,NA,1505,18,radio/TV,good 720 | 718,31,male,2,own,NA,rich,3148,24,radio/TV,good 721 | 719,31,male,2,own,moderate,moderate,6148,20,car,good 722 | 720,34,male,3,own,little,rich,1337,9,radio/TV,bad 723 | 721,24,female,2,rent,rich,moderate,433,6,education,bad 724 | 722,24,female,1,own,little,little,1228,12,car,bad 725 | 723,66,female,1,own,quite rich,moderate,790,9,radio/TV,good 726 | 724,21,female,2,rent,little,NA,2570,27,car,bad 727 | 725,41,female,1,own,rich,NA,250,6,car,good 728 | 726,47,male,1,own,quite rich,NA,1316,15,radio/TV,good 729 | 727,25,female,2,rent,little,little,1882,18,radio/TV,bad 730 | 728,59,female,2,rent,little,moderate,6416,48,business,bad 731 | 729,36,male,2,own,rich,rich,1275,24,business,good 732 | 730,33,male,2,own,little,moderate,6403,24,radio/TV,good 733 | 731,21,male,1,rent,little,little,1987,24,radio/TV,bad 734 | 732,44,female,1,own,little,moderate,760,8,radio/TV,good 735 | 733,28,female,2,rent,rich,NA,2603,24,car,good 736 | 734,37,female,2,own,little,NA,3380,4,car,good 737 | 735,29,female,0,own,NA,moderate,3990,36,domestic appliances,good 738 | 736,23,female,3,rent,little,moderate,11560,24,car,bad 739 | 737,35,male,1,own,moderate,little,4380,18,car,good 740 | 738,45,male,3,own,little,NA,6761,6,car,good 741 | 739,26,female,1,rent,moderate,moderate,4280,30,business,bad 742 | 740,32,male,2,own,moderate,little,2325,24,car,good 743 | 741,23,male,1,own,little,moderate,1048,10,radio/TV,good 744 | 742,41,male,2,own,NA,NA,3160,21,radio/TV,good 745 | 743,22,male,2,own,quite rich,little,2483,24,furniture/equipment,good 746 | 744,30,male,3,own,NA,little,14179,39,furniture/equipment,good 747 | 745,28,male,1,own,little,little,1797,13,business,good 748 | 746,23,female,2,rent,little,little,2511,15,car,good 749 | 747,37,female,1,own,little,little,1274,12,car,bad 750 | 748,26,male,2,own,NA,NA,5248,21,car,good 751 | 749,33,male,2,own,little,NA,3029,15,car,good 752 | 750,49,female,2,own,little,little,428,6,furniture/equipment,good 753 | 751,23,female,1,own,little,little,976,18,car,bad 754 | 752,23,female,1,rent,moderate,moderate,841,12,business,good 755 | 753,25,female,2,own,little,NA,5771,30,radio/TV,good 756 | 754,55,male,2,free,rich,NA,1555,12,repairs,bad 757 | 755,32,female,2,rent,NA,little,1285,24,car,bad 758 | 756,74,male,0,own,little,rich,1299,6,car,good 759 | 757,39,male,2,free,NA,rich,1271,15,radio/TV,bad 760 | 758,31,male,2,own,little,NA,1393,24,car,good 761 | 759,35,male,2,own,little,little,691,12,car,bad 762 | 760,59,female,2,own,NA,NA,5045,15,car,good 763 | 761,24,female,2,rent,little,little,2124,18,furniture/equipment,bad 764 | 762,24,male,1,own,little,little,2214,12,radio/TV,good 765 | 763,30,male,3,free,NA,NA,12680,21,car,bad 766 | 764,27,male,2,own,moderate,NA,2463,24,car,good 767 | 765,40,male,1,own,little,moderate,1155,12,radio/TV,good 768 | 766,31,male,1,own,little,little,3108,30,furniture/equipment,bad 769 | 767,31,female,2,rent,NA,NA,2901,10,car,good 770 | 768,28,male,2,rent,little,moderate,3617,12,furniture/equipment,good 771 | 769,63,male,1,own,little,NA,1655,12,radio/TV,good 772 | 770,26,female,2,rent,NA,little,2812,24,car,good 773 | 771,25,female,3,own,little,little,8065,36,education,bad 774 | 772,36,male,3,own,little,NA,3275,21,car,good 775 | 773,52,male,2,own,moderate,NA,2223,24,radio/TV,good 776 | 774,66,male,0,free,quite rich,rich,1480,12,car,good 777 | 775,25,female,2,rent,NA,little,1371,24,car,bad 778 | 776,37,male,2,own,little,NA,3535,36,car,good 779 | 777,25,female,2,own,little,little,3509,18,radio/TV,good 780 | 778,38,male,3,own,rich,NA,5711,36,car,good 781 | 779,67,female,2,own,little,moderate,3872,18,repairs,good 782 | 780,25,male,2,own,little,moderate,4933,39,radio/TV,bad 783 | 781,60,male,2,own,rich,NA,1940,24,car,good 784 | 782,31,male,1,own,little,moderate,1410,12,education,good 785 | 783,23,female,1,own,moderate,moderate,836,12,car,bad 786 | 784,60,male,3,own,NA,moderate,6468,20,car,good 787 | 785,35,male,1,own,rich,moderate,1941,18,business,good 788 | 786,40,male,2,own,quite rich,NA,2675,22,radio/TV,good 789 | 787,38,male,2,own,NA,NA,2751,48,car,good 790 | 788,50,male,2,free,little,moderate,6224,48,education,bad 791 | 789,27,male,2,own,little,little,5998,40,education,bad 792 | 790,39,female,2,own,little,moderate,1188,21,business,bad 793 | 791,41,male,3,own,NA,NA,6313,24,car,good 794 | 792,27,male,2,own,NA,NA,1221,6,furniture/equipment,good 795 | 793,51,male,2,free,little,rich,2892,24,furniture/equipment,good 796 | 794,32,male,2,rent,quite rich,NA,3062,24,furniture/equipment,good 797 | 795,22,female,2,rent,moderate,NA,2301,9,furniture/equipment,good 798 | 796,51,male,2,free,NA,little,7511,18,car,bad 799 | 797,22,female,1,rent,little,NA,1258,12,furniture/equipment,good 800 | 798,54,male,2,own,NA,NA,717,24,car,good 801 | 799,35,male,0,own,NA,moderate,1549,9,car,good 802 | 800,54,male,2,free,little,NA,1597,24,education,good 803 | 801,48,female,1,rent,little,moderate,1795,18,radio/TV,good 804 | 802,24,female,2,own,little,little,4272,20,furniture/equipment,good 805 | 803,35,male,2,own,NA,NA,976,12,radio/TV,good 806 | 804,24,female,0,rent,NA,moderate,7472,12,car,good 807 | 805,24,male,2,own,little,little,9271,36,car,bad 808 | 806,26,male,1,own,little,moderate,590,6,radio/TV,good 809 | 807,65,male,2,own,NA,NA,930,12,radio/TV,good 810 | 808,55,male,3,free,little,moderate,9283,42,car,good 811 | 809,26,female,0,rent,little,moderate,1778,15,car,bad 812 | 810,26,male,2,own,little,moderate,907,8,business,good 813 | 811,28,male,1,own,little,moderate,484,6,radio/TV,good 814 | 812,24,male,2,own,little,little,9629,36,car,bad 815 | 813,54,male,2,own,little,little,3051,48,domestic appliances,bad 816 | 814,46,male,2,free,little,little,3931,48,car,bad 817 | 815,54,female,2,rent,little,moderate,7432,36,car,good 818 | 816,62,male,2,own,quite rich,NA,1338,6,domestic appliances,good 819 | 817,24,female,2,rent,little,NA,1554,6,radio/TV,good 820 | 818,43,male,3,own,little,little,15857,36,vacation/others,good 821 | 819,26,male,2,own,little,little,1345,18,radio/TV,bad 822 | 820,27,male,2,own,little,NA,1101,12,car,good 823 | 821,24,male,2,own,little,rich,3016,12,radio/TV,good 824 | 822,41,male,2,own,little,little,2712,36,furniture/equipment,bad 825 | 823,47,male,1,own,little,little,731,8,car,good 826 | 824,35,male,3,own,little,NA,3780,18,furniture/equipment,good 827 | 825,30,male,2,own,little,little,1602,21,car,good 828 | 826,33,female,2,rent,little,little,3966,18,car,bad 829 | 827,36,male,2,own,little,NA,4165,18,business,bad 830 | 828,47,male,2,free,NA,little,8335,36,car,bad 831 | 829,38,male,2,free,NA,moderate,6681,48,business,good 832 | 830,44,male,2,own,quite rich,NA,2375,24,business,good 833 | 831,23,female,2,rent,little,little,1216,18,car,bad 834 | 832,29,male,2,rent,little,little,11816,45,business,bad 835 | 833,42,female,2,own,NA,moderate,5084,24,radio/TV,good 836 | 834,25,female,1,own,little,rich,2327,15,radio/TV,bad 837 | 835,48,male,2,own,little,little,1082,12,car,bad 838 | 836,21,female,2,own,NA,NA,886,12,radio/TV,good 839 | 837,23,female,1,rent,little,NA,601,4,furniture/equipment,good 840 | 838,63,male,2,own,little,little,2957,24,car,good 841 | 839,46,male,2,own,little,NA,2611,24,radio/TV,good 842 | 840,29,male,2,own,little,little,5179,36,furniture/equipment,bad 843 | 841,28,male,1,own,little,NA,2993,21,car,good 844 | 842,23,female,2,own,little,NA,1943,18,repairs,bad 845 | 843,50,male,2,own,little,NA,1559,24,business,good 846 | 844,47,male,2,own,little,NA,3422,18,furniture/equipment,good 847 | 845,35,male,2,own,NA,moderate,3976,21,furniture/equipment,good 848 | 846,68,male,2,rent,NA,NA,6761,18,car,bad 849 | 847,28,male,2,own,little,NA,1249,24,car,good 850 | 848,59,male,2,own,little,little,1364,9,radio/TV,good 851 | 849,57,male,1,own,little,little,709,12,radio/TV,bad 852 | 850,33,male,2,rent,little,little,2235,20,car,bad 853 | 851,43,male,2,own,NA,NA,4042,24,car,good 854 | 852,35,male,2,free,little,NA,1471,15,radio/TV,good 855 | 853,32,male,1,free,little,little,1442,18,car,bad 856 | 854,45,male,2,own,little,NA,10875,36,car,good 857 | 855,33,male,2,own,moderate,NA,1474,24,car,good 858 | 856,40,female,2,own,NA,NA,894,10,education,good 859 | 857,28,male,2,free,little,NA,3343,15,furniture/equipment,good 860 | 858,29,female,2,own,little,little,3959,15,car,bad 861 | 859,26,male,2,rent,moderate,NA,3577,9,car,good 862 | 860,27,male,2,own,rich,NA,5804,24,car,good 863 | 861,28,male,2,own,little,NA,2169,18,business,bad 864 | 862,35,female,2,own,little,little,2439,24,radio/TV,bad 865 | 863,32,male,1,own,rich,NA,4526,27,furniture/equipment,good 866 | 864,25,male,1,rent,little,NA,2210,10,furniture/equipment,bad 867 | 865,20,female,2,rent,quite rich,NA,2221,15,furniture/equipment,good 868 | 866,27,female,2,own,little,little,2389,18,radio/TV,good 869 | 867,42,male,2,own,little,NA,3331,12,furniture/equipment,good 870 | 868,37,male,2,own,NA,NA,7409,36,business,good 871 | 869,24,female,2,rent,little,little,652,12,furniture/equipment,good 872 | 870,40,female,2,own,quite rich,NA,7678,36,furniture/equipment,good 873 | 871,46,male,2,own,little,rich,1343,6,car,good 874 | 872,26,male,2,own,moderate,little,1382,24,business,good 875 | 873,24,female,2,own,NA,NA,874,15,domestic appliances,good 876 | 874,29,male,1,own,little,little,3590,12,furniture/equipment,good 877 | 875,40,female,2,own,rich,moderate,1322,11,car,good 878 | 876,36,male,3,free,little,little,1940,18,radio/TV,good 879 | 877,28,male,2,own,little,NA,3595,36,radio/TV,good 880 | 878,27,male,3,free,little,little,1422,9,car,bad 881 | 879,36,male,2,own,NA,NA,6742,30,radio/TV,good 882 | 880,38,male,3,own,little,NA,7814,24,car,good 883 | 881,48,male,2,free,NA,NA,9277,24,car,good 884 | 882,36,male,2,own,NA,moderate,2181,30,car,good 885 | 883,65,female,0,own,little,NA,1098,18,radio/TV,good 886 | 884,43,male,2,own,little,moderate,4057,24,furniture/equipment,bad 887 | 885,53,female,2,own,little,little,795,12,education,bad 888 | 886,34,male,2,own,NA,moderate,2825,24,business,good 889 | 887,23,male,2,own,little,moderate,15672,48,business,bad 890 | 888,34,male,3,own,little,NA,6614,36,car,good 891 | 889,40,male,2,rent,NA,NA,7824,28,car,good 892 | 890,43,male,3,own,little,little,2442,27,business,good 893 | 891,46,male,2,own,little,NA,1829,15,radio/TV,good 894 | 892,38,male,1,own,little,little,2171,12,car,good 895 | 893,34,male,2,own,little,moderate,5800,36,car,good 896 | 894,29,male,2,own,NA,NA,1169,18,radio/TV,good 897 | 895,31,male,3,own,NA,NA,8947,36,car,good 898 | 896,28,female,3,rent,little,little,2606,21,radio/TV,good 899 | 897,35,female,2,own,rich,NA,1592,12,furniture/equipment,good 900 | 898,33,female,1,rent,NA,NA,2186,15,furniture/equipment,good 901 | 899,42,male,2,own,little,little,4153,18,furniture/equipment,bad 902 | 900,43,male,2,rent,little,little,2625,16,car,bad 903 | 901,44,male,2,own,NA,NA,3485,20,car,good 904 | 902,42,male,2,free,NA,NA,10477,36,car,good 905 | 903,40,male,2,rent,NA,NA,1386,15,radio/TV,good 906 | 904,36,male,3,own,little,NA,1278,24,radio/TV,good 907 | 905,20,male,3,rent,little,little,1107,12,radio/TV,good 908 | 906,24,male,1,own,NA,little,3763,21,car,good 909 | 907,27,male,2,own,NA,moderate,3711,36,education,good 910 | 908,46,female,1,own,little,NA,3594,15,car,good 911 | 909,33,female,1,own,NA,moderate,3195,9,car,good 912 | 910,34,female,2,own,little,NA,4454,36,radio/TV,good 913 | 911,25,female,1,own,little,moderate,4736,24,furniture/equipment,bad 914 | 912,25,female,2,own,NA,moderate,2991,30,radio/TV,good 915 | 913,28,male,2,own,rich,NA,2142,11,business,good 916 | 914,31,male,2,rent,little,little,3161,24,business,bad 917 | 915,32,female,3,own,little,moderate,18424,48,vacation/others,bad 918 | 916,32,male,2,own,moderate,NA,2848,10,car,good 919 | 917,68,male,3,own,little,little,14896,6,car,bad 920 | 918,33,male,2,own,moderate,little,2359,24,furniture/equipment,bad 921 | 919,39,male,3,rent,little,little,3345,24,furniture/equipment,bad 922 | 920,28,female,2,own,little,NA,1817,18,furniture/equipment,good 923 | 921,37,male,3,own,quite rich,NA,12749,48,radio/TV,good 924 | 922,22,female,2,rent,little,little,1366,9,radio/TV,bad 925 | 923,30,male,2,rent,little,moderate,2002,12,car,good 926 | 924,55,male,2,own,little,little,6872,24,furniture/equipment,bad 927 | 925,46,male,2,own,little,little,697,12,car,bad 928 | 926,21,female,2,rent,little,little,1049,18,furniture/equipment,good 929 | 927,39,male,2,free,little,little,10297,48,car,bad 930 | 928,58,male,2,own,NA,NA,1867,30,radio/TV,good 931 | 929,43,male,1,own,little,little,1344,12,car,good 932 | 930,24,male,1,own,little,little,1747,24,furniture/equipment,good 933 | 931,22,female,2,own,little,moderate,1670,9,radio/TV,bad 934 | 932,30,male,2,own,little,NA,1224,9,car,good 935 | 933,42,male,2,own,quite rich,NA,522,12,radio/TV,good 936 | 934,23,female,2,own,little,little,1498,12,radio/TV,good 937 | 935,30,male,3,own,moderate,moderate,1919,30,radio/TV,bad 938 | 936,28,female,1,own,little,rich,745,9,radio/TV,bad 939 | 937,30,male,3,rent,little,moderate,2063,6,radio/TV,good 940 | 938,42,male,2,free,little,moderate,6288,60,education,bad 941 | 939,46,male,3,own,NA,NA,6842,24,car,good 942 | 940,45,male,3,own,NA,NA,3527,12,car,good 943 | 941,31,male,1,own,little,NA,1546,10,car,good 944 | 942,31,male,2,own,NA,NA,929,24,furniture/equipment,good 945 | 943,42,male,1,own,little,NA,1455,4,car,good 946 | 944,46,female,2,rent,little,little,1845,15,furniture/equipment,good 947 | 945,30,female,2,own,quite rich,moderate,8358,48,car,good 948 | 946,30,male,2,free,quite rich,little,3349,24,furniture/equipment,bad 949 | 947,38,male,3,own,NA,NA,2859,12,car,good 950 | 948,43,male,1,own,little,NA,1533,18,furniture/equipment,bad 951 | 949,31,male,2,own,moderate,NA,3621,24,radio/TV,bad 952 | 950,40,male,0,own,little,moderate,3590,18,business,good 953 | 951,24,male,2,own,little,little,2145,36,business,bad 954 | 952,28,female,2,rent,quite rich,moderate,4113,24,car,bad 955 | 953,26,female,3,own,little,NA,10974,36,furniture/equipment,bad 956 | 954,29,female,2,own,little,little,1893,12,car,good 957 | 955,57,female,3,rent,rich,little,1231,24,radio/TV,good 958 | 956,49,male,1,own,NA,rich,3656,30,radio/TV,good 959 | 957,37,male,1,own,little,moderate,1154,9,radio/TV,good 960 | 958,45,male,1,own,little,little,4006,28,car,bad 961 | 959,30,male,2,free,moderate,moderate,3069,24,furniture/equipment,good 962 | 960,30,male,2,rent,little,NA,1740,6,radio/TV,good 963 | 961,47,male,2,own,little,moderate,2353,21,car,good 964 | 962,29,male,2,own,NA,NA,3556,15,car,good 965 | 963,35,male,2,own,quite rich,NA,2397,24,radio/TV,bad 966 | 964,22,male,1,own,little,moderate,454,6,repairs,good 967 | 965,26,female,2,own,NA,moderate,1715,30,radio/TV,good 968 | 966,23,male,1,own,quite rich,moderate,2520,27,radio/TV,bad 969 | 967,54,female,3,rent,little,NA,3568,15,radio/TV,good 970 | 968,29,male,2,rent,NA,NA,7166,42,radio/TV,good 971 | 969,40,male,1,own,little,little,3939,11,car,good 972 | 970,22,male,2,own,moderate,moderate,1514,15,repairs,good 973 | 971,43,male,1,own,little,NA,7393,24,car,good 974 | 972,29,female,0,rent,little,little,1193,24,car,bad 975 | 973,36,male,2,rent,little,little,7297,60,business,bad 976 | 974,33,female,2,own,little,NA,2831,30,radio/TV,good 977 | 975,57,female,1,own,quite rich,rich,1258,24,radio/TV,good 978 | 976,64,female,2,own,little,moderate,753,6,radio/TV,good 979 | 977,42,male,2,own,NA,moderate,2427,18,business,good 980 | 978,47,male,1,own,little,NA,2538,24,car,bad 981 | 979,25,male,2,rent,moderate,moderate,1264,15,car,bad 982 | 980,49,male,2,own,little,moderate,8386,30,furniture/equipment,bad 983 | 981,33,male,3,rent,little,NA,4844,48,business,bad 984 | 982,28,female,3,own,moderate,rich,2923,21,car,good 985 | 983,26,male,2,own,little,little,8229,36,car,bad 986 | 984,30,male,1,own,little,NA,2028,24,furniture/equipment,good 987 | 985,25,female,2,rent,little,little,1433,15,furniture/equipment,good 988 | 986,33,male,2,own,little,rich,6289,42,business,good 989 | 987,64,female,2,own,moderate,NA,1409,13,radio/TV,good 990 | 988,29,male,3,free,little,little,6579,24,car,good 991 | 989,48,male,1,own,little,moderate,1743,24,radio/TV,good 992 | 990,37,male,1,own,NA,NA,3565,12,education,good 993 | 991,34,male,1,own,moderate,NA,1569,15,radio/TV,good 994 | 992,23,male,1,rent,NA,little,1936,18,radio/TV,good 995 | 993,30,male,3,own,little,little,3959,36,furniture/equipment,good 996 | 994,50,male,2,own,NA,NA,2390,12,car,good 997 | 995,31,female,1,own,little,NA,1736,12,furniture/equipment,good 998 | 996,40,male,3,own,little,little,3857,30,car,good 999 | 997,38,male,2,own,little,NA,804,12,radio/TV,good 1000 | 998,23,male,2,free,little,little,1845,45,radio/TV,bad 1001 | 999,27,male,2,own,moderate,moderate,4576,45,car,good 1002 | --------------------------------------------------------------------------------