{"metadata":{"kernelspec":{"name":"ir","display_name":"R","language":"R"},"language_info":{"name":"R","codemirror_mode":"r","pygments_lexer":"r","mimetype":"text/x-r-source","file_extension":".r","version":"4.0.5"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-05-07T17:16:11.198133Z","iopub.execute_input":"2022-05-07T17:16:11.200080Z","iopub.status.idle":"2022-05-07T17:16:11.248138Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Vectors**","metadata":{}},{"cell_type":"code","source":"subject_name <- c(\"John Dort\", \"Jane Air\", \"Steve Rogers\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"temperature <- c(98.12, 99.6, 102.5)\nflu_status <- c(FALSE, FALSE, TRUE)\n\ntemperature [2]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"temperature [2:3]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"temperature [-2]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"temperature [c(TRUE, TRUE, FALSE)]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Factors**","metadata":{}},{"cell_type":"code","source":"gender <- factor (c (\"MALE\", \"FEMALE\", \"MALE\"))\ngender","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"blood <- factor (c (\"O\", \"AB\", \"A\"),\n                 levels = c(\"A\", \"B\", \"AB\", \"O\"))\nblood","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"symptoms <- factor (c (\"SEVERE\", \"MILD\", \"MODERATE\"),\n                   levels = c(\"MILD\", \"MODERATE\", \"SEVERE\"),\n                   ordered = TRUE)\nsymptoms","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"symptoms > \"MODERATE\"","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"subject_name [1]\ntemperature [1]\nflu_status [1]\ngender [1]\nblood [1]\nsymptoms [1]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"subject1 <- list (fullname = subject_name [1],\n                temperature = temperature [1],\n                flu_status = flu_status [1],\n                gender = gender [1],\n                blood = blood [1],\n                symptoms = symptoms [1])\nsubject1","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"subject1 [2]","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:16:11.295810Z","iopub.execute_input":"2022-05-07T17:16:11.297806Z","iopub.status.idle":"2022-05-07T17:16:11.614467Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"subject1 [[2]]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"subject1$temperature","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"subject1 [c(\"temperature\", \"flu_status\")]$temperature","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"flu_status","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data <- data.frame (subject_name, temperature,\n                      flu_status, gender, blood, symptoms,\n                      stringAsFactors = FALSE)\npt_data","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data$subject_name","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [c(\"temperature\", \"flu_status\")]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [1, 2]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [c (1, 3), c (2, 4)]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [, 1]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [1, ]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [ , ]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [c (1, 3), c (\"temperature\", \"gender\")]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data [-2, c (-1, -3, -5, -6)]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pt_data$temp_c <- (pt_data$temperature - 32) * (5 / 9)\npt_data [c (\"temperature\", \"temp_c\")]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Matrices and arrays**","metadata":{}},{"cell_type":"code","source":"m <- matrix (c(1, 2, 3, 4), nrow = 2)\nm","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m <- matrix (c(1, 2, 3, 4), ncol = 2)\nm","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2)\nm","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m <- matrix (c(1, 2, 3, 4, 5, 6), ncol = 2)\nm","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m[1, ]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"m [, 1]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Exploring and understanding data**","metadata":{}},{"cell_type":"code","source":"usedcars <- read.csv (\"../input/usedcarscatalog/cars.csv\")\nstr(usedcars)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (usedcars$year_produced)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (usedcars[c(\"price_usd\", \"odometer_value\")])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Measuring the central tendency - mean and median**","metadata":{}},{"cell_type":"code","source":"(33500 + 52800 + 78300) / 3","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"mean (c(33500, 52800, 78300))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"median (c(33500, 52800, 78300))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Measuring spread - quartiles and the five-number summary**","metadata":{}},{"cell_type":"code","source":"range (usedcars$price_usd)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"diff (range (usedcars$price_usd))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"IQR (usedcars$price_usd)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"quantile(usedcars$price_usd)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"quantile (usedcars$price_usd, probs = c(0.01, 0.99))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"quantile (usedcars$price_usd, seq(from = 0, to = 1, by = 0.20))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Visualizing numeric variables - boxplots**","metadata":{}},{"cell_type":"code","source":"boxplot (usedcars$price_usd, main = \"Boxplot of Used Car Prices\",\n        ylab= \"Price ($)\")\nboxplot (usedcars$odometer_value, main = \"Boxplot of Used Car Mileage\",\n        ylab = \"Odometer (mi.)\" )","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Histograms**","metadata":{}},{"cell_type":"code","source":"hist (usedcars$price_usd, main = \"Histogram of Used Car Prices\",\n     xlab = \"Price ($)\")\nhist (usedcars$odometer_value, main = \"Histigram of Used Car Mileage\",\n     xlab = \"Odometer (mi.)\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Variance and standard deviation**","metadata":{}},{"cell_type":"code","source":"var (usedcars$price_usd)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sd (usedcars$price_usd)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"var (usedcars$odometer_value)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sd (usedcars$odometer_value)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Categorical variables**","metadata":{}},{"cell_type":"code","source":"table (usedcars$year_produced)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"table (usedcars$model_name)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"table (usedcars$color)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model_table <- table (usedcars$model_name)\nprop.table (model_table)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"color_table <- table (usedcars$color)\ncolor_pct <- prop.table (color_table) * 100\nround (color_pct, digits = 1)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Scatterplots**","metadata":{}},{"cell_type":"code","source":"plot (x = usedcars$odometer, y = usedcars$price_usd,\n     main = \"Scattterplot of Price vs. mileage\",\n     xlab = \"Used Car Odometer (mi.)\",\n     ylab = \"Used Car Price ($)\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Two-way cross-tabulations**","metadata":{}},{"cell_type":"code","source":"usedcars$conservative <-\nusedcars$color %in% c(\"black\", \"gray\", \"silver\", \"white\")\ntable (usedcars$conservative)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"table (x = usedcars$model_name, y = usedcars$conservative)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Exploring and preparing the data**","metadata":{}},{"cell_type":"code","source":"wbcd <- read.csv ('../input/breast-cancer-wisconsin-data/data.csv')\nstr (wbcd)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Drop the id feature**","metadata":{}},{"cell_type":"code","source":"wbcd <- wbcd [-1]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Explore the diagnosis variable**","metadata":{}},{"cell_type":"code","source":"library (gmodels)\n\nCrossTable (wbcd$diagnosis)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Label encoding**","metadata":{}},{"cell_type":"code","source":"wbcd$diagnosis <- factor (wbcd$diagnosis, levels = c(\"B\", \"M\"),\n                         labels = c (\"Benign\", \"Malignant\"))\n\nround (prop.table (table (wbcd$diagnosis)) * 100, digits = 1)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (wbcd [c(\"radius_mean\", \"area_mean\", \"smoothness_mean\")])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Normalize numeric data**","metadata":{}},{"cell_type":"code","source":"normalize <- function (x){\n    return ((x - min (x)) / (max (x) - min (x)))\n}\nnormalize (c (1, 2, 3, 4, 5))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"wbcd_n <- as.data.frame (lapply (wbcd [2:31], normalize))\nsummary (wbcd_n$radius_mean)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Create a training and test dataset**","metadata":{}},{"cell_type":"code","source":"library (class)\n\nwbcd_train <- wbcd_n [1:469, ]\nwbcd_test <- wbcd_n [470:569,]\n\nwbcd_train_labels <- wbcd [1:469, 1]\nwbcd_test_labels <- wbcd [470:569, 1]\n\nwbcd_test_pred <- knn (train = wbcd_train, test = wbcd_test,\n                      cl = wbcd_train_labels, k = 21)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Evaluate model performance**","metadata":{}},{"cell_type":"code","source":"library (gmodels)\n\nCrossTable (x = wbcd_test_labels, y = wbcd_test_pred,\n           prop.chisq = FALSE)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Z-score transformation**","metadata":{}},{"cell_type":"code","source":"wbcd_z <- as.data.frame (scale (wbcd [-1]))\nsummary (wbcd_z$area_mean)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"wbcd_train <- wbcd_z [1:410, ]\nwbcd_test <- wbcd_z [410:510, ]\nwbcd_train_labels <- wbcd [1:410, 1]\nwbcd_test_labels <- wbcd [410:510, 1]\nwbcd_test_pred <- knn (train = wbcd_train, test = wbcd_test,\n                      cl = wbcd_train_labels, k = 21)\nCrossTable (x = wbcd_test_labels, y = wbcd_test_pred,\n           prop.chisq = FALSE)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Naive Bayes classificator**","metadata":{}},{"cell_type":"code","source":"sms_raw <- read.csv (\"../input/spam-ham-sms-dataset/sms_spam.csv\", stringsAsFactors = FALSE)\nstr (sms_raw)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_raw$text <- factor (sms_raw$text)\nstr (sms_raw$text)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"table (sms_raw$type)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Data preparation**","metadata":{}},{"cell_type":"code","source":"library (NLP)\nlibrary (tm)\n\nsms_corpus <- VCorpus (VectorSource (sms_raw$text))\nprint (sms_corpus)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"inspect (sms_corpus[1:2])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"as.character (sms_corpus[[1]])","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"lapply (sms_corpus [1:2], as.character)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"sms_corpus_clean <- tm_map (sms_corpus, \n                           content_transformer (tolower))\nas.character (sms_corpus [[1]])\nas.character (sms_corpus_clean [[1]])\nsms_corpus_clean <- tm_map (sms_corpus_clean, removeNumbers)","metadata":{"execution":{"iopub.status.busy":"2022-04-18T18:34:36.480236Z","iopub.execute_input":"2022-04-18T18:34:36.482033Z","iopub.status.idle":"2022-04-18T18:34:36.504851Z"}}},{"cell_type":"code","source":"sms_corpus_clean <- tm_map (sms_corpus,removeWords, stopwords ())\nsms_corpus_clean <- tm_map (sms_corpus, removePunctuation)\nremovePunctuation (\"hello...world\")","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"replacePunctuation <- function (x) {gsub (\"[[:punct:]] +\", \" \", x)}","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"library(SnowballC)\nwordStem (c(\"learn\", \"learned\", \"learning\", \"learns\"))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_corpus_clean <- tm_map (sms_corpus, stemDocument)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_corpus_clean <- tm_map (sms_corpus, stripWhitespace)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_dtm <- DocumentTermMatrix(sms_corpus_clean)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_dtm2 <- DocumentTermMatrix (sms_corpus, control = list (\ntolower = TRUE,\nremoveNumbers = TRUE,\nstopwords = TRUE,\nremovePunctuation = TRUE,\nstemming = TRUE))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_dtm","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_dtm2","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"stopwords = function (x) { removeWords (x, stopwords ())}","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Create training and test datasets**","metadata":{}},{"cell_type":"code","source":"sms_dtm_train <- sms_dtm [1:4169, ]\nsms_dtm_test <- sms_dtm [4170:5559, ]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_train_labels <- sms_raw [1:4169, ]$type\nsms_test_labels <- sms_raw [4170:5559, ]$type\nprop.table (table (sms_train_labels))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"prop.table (table (sms_test_labels))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Word clouds - visualizing text data**","metadata":{}},{"cell_type":"code","source":"library (wordcloud)\nlibrary (RColorBrewer)\n\nwordcloud (sms_corpus_clean, min.freq = 50, random.order = FALSE)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"spam <- subset (sms_raw, type == \"spam\")\nham <- subset (sms_raw, type == \"ham\")\n\nwordcloud (spam$text, max.words = 40, scale = c(4, 0.5))\nwordcloud (ham$text, max.words = 40, scale = c(4, 0.5))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Creating indicator features for frequent words**","metadata":{}},{"cell_type":"code","source":"findFreqTerms (sms_dtm_train, 5)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_freq_words <- findFreqTerms (sms_dtm_train, 5)\nstr (sms_freq_words)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"sms_dtm_freq_train <- sms_dtm_train [ , sms_freq_words]\nsms_dtm_freq_test <- sms_dtm_test [ , sms_freq_words]\nconvert_counts <- function (x){ x <- ifelse (x > 0, \"Yes\", \"No\")}\n\nsms_train <- apply (sms_dtm_freq_train, MARGIN = 2, convert_counts)\nsms_test <- apply (sms_dtm_freq_test, MARGIN = 2, convert_counts)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Training a model on the data**","metadata":{}},{"cell_type":"code","source":"library (e1071)\n\nsms_classifier <- naiveBayes (sms_train, sms_train_labels)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Evaluating model performance**","metadata":{}},{"cell_type":"code","source":"sms_test_pred <- predict (sms_classifier, sms_test)","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:16:31.398986Z","iopub.execute_input":"2022-05-07T17:16:31.400923Z","iopub.status.idle":"2022-05-07T17:16:31.424668Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"library (gmodels)\n\nCrossTable (sms_test_pred, sms_test_labels,\n           prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,\n           dnn = c('predicted', 'actual'))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Improving model performance**","metadata":{}},{"cell_type":"code","source":"sms_classifier2 <- naiveBayes (sms_train, sms_train_labels, laplace = 1)\nsms_test_pred2 <- predict (sms_classifier2, sms_test)\n\nCrossTable (sms_test_pred2, sms_test_labels,\n           prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,\n           dnn = c ('predicted', 'actual'))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Decision trees**","metadata":{}},{"cell_type":"code","source":"# calculate entropy\n- 0.60 * log2 (0.60) - 0.40 * log2(0.40)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# visualize entropy\ncurve (-x * log2 (x) - (1 - x) * log2 (1- x),\n      col = \"red\", xlab = \"x\", ylab = \"Entropy\", lwd = 4)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Pruning the decision tree**","metadata":{}},{"cell_type":"code","source":"# exploring and preparing the data\n\ncredit <- read.csv ('../input/credit-risk-dataset/credit_risk_dataset.csv')\nstr (credit)","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:16:37.658464Z","iopub.execute_input":"2022-05-07T17:16:37.660542Z","iopub.status.idle":"2022-05-07T17:16:37.863978Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"table (credit$person_income)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (credit$person_age)\n# value 144 is error","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (credit$person_income)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"table (credit$cb_person_default_on_file)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Creating random training and test datasets**","metadata":{}},{"cell_type":"code","source":"RNGversion (\"3.5.2\"); set.seed (123)\ntrain_sample <- sample (1000, 900)\nstr (train_sample)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"credit_train <- credit [train_sample, ]\ncredit_test <- credit [-train_sample, ]\n\nprop.table (table (credit_train$cb_person_default_on_file))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"credit_train$cb_person_default_on_file <- as.factor(credit_train$cb_person_default_on_file)\nstr(credit_train$cb_person_default_on_file)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"prop.table (table (credit_test$cb_person_default_on_file))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Training a model on the data**","metadata":{}},{"cell_type":"code","source":"library (C50)\n?C5.0Control","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"library (C50)\n\ncredit_model <- C5.0 (x = credit_train [1:900, -17], \n                      y = credit_train$cb_person_default_on_file [1:900],\n                     control = C5.0Control (winnow = TRUE))\ncredit_model","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (credit_model)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Evaluating model performance**","metadata":{}},{"cell_type":"code","source":"credit_pred <- predict (credit_model, credit_test)\n\nlibrary (gmodels)\nCrossTable (credit_test$cb_person_default_on_file, credit_pred,\n           prop.chisq = FALSE, prop.c = FALSE, prop.r = FALSE,\n           dnn = c ('actual dafault', 'predicted default'))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Boosting the accuracy of decision trees**","metadata":{}},{"cell_type":"code","source":"credit_boost10 <- C5.0 (credit_train [-17], credit_train$cb_person_default_on_file,\n                       trials = 10)\ncredit_boost10","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (credit_boost10)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"credit_boost_pred10 <- predict (credit_boost10, credit_test)\nCrossTable (credit_test$cb_person_default_on_file, credit_boost_pred10,\n           prop_chisq = FALSE, prop.c = FALSE, prop.r = FALSE,\n           dnn = c('actual default', 'predicted default'))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"matrix_dimensions <- list (c(\"no\", \"yes\"), c(\"no\", \"yes\"))\nnames (matrix_dimensions) <- c(\"predicted\", \"actual\")\nmatrix_dimensions","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"error_cost <- matrix(c(0, 1, 4, 0), nrow = 2, dimnames = matrix_dimensions)\nerror_cost","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"summary (credit_train$cb_person_default_on_file)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Exploring and preparing the data on mushrooms dataset**","metadata":{}},{"cell_type":"code","source":"mushrooms <- read.csv ('../input/mushroom-classification/mushrooms.csv', stringsAsFactors = TRUE)\n\nmushrooms$veil_type <- NULL\n\ntable (mushrooms$class)","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:16:43.968319Z","iopub.execute_input":"2022-05-07T17:16:43.970362Z","iopub.status.idle":"2022-05-07T17:16:44.070542Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Training a model on the data**","metadata":{}},{"cell_type":"code","source":"library (OneR)\nmushroom_1R <- OneR (class ~ ., data = mushrooms)\nmushroom_1R","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:16:47.161555Z","iopub.execute_input":"2022-05-07T17:16:47.163500Z","iopub.status.idle":"2022-05-07T17:16:47.262442Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Evaluating model performance**","metadata":{}},{"cell_type":"code","source":"mushroom_1R_pred <- predict (mushroom_1R, mushrooms)\ntable (actual = mushrooms$class, predicted = mushroom_1R_pred)","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:16:50.162594Z","iopub.execute_input":"2022-05-07T17:16:50.164353Z","iopub.status.idle":"2022-05-07T17:16:50.237696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Ordinary least squares estimation**","metadata":{}},{"cell_type":"code","source":"# read the dataset\nlaunch <- read.csv ('../input/spacex-launches-data/SpaceX_Launches_Data.csv')\n\nb <- cov (launch$PayloadMass, launch$ReusedCount) / var (launch$PayloadMass)\nb","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:56:31.826850Z","iopub.execute_input":"2022-05-07T17:56:31.835424Z","iopub.status.idle":"2022-05-07T17:56:31.864114Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"a <- mean (launch$ReusedCount) - b * mean (launch$PayloadMass)\na","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:56:48.101143Z","iopub.execute_input":"2022-05-07T17:56:48.103144Z","iopub.status.idle":"2022-05-07T17:56:48.126652Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Correlation**","metadata":{}},{"cell_type":"code","source":"r <- cov (launch$ReusedCount, launch$PayloadMass) /\n(sd(launch$ReusedCount) * sd (launch$PayloadMass))\nr","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:57:43.339287Z","iopub.execute_input":"2022-05-07T17:57:43.341401Z","iopub.status.idle":"2022-05-07T17:57:43.373031Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cor (launch$PayloadMass, launch$ReusedCount)","metadata":{"execution":{"iopub.status.busy":"2022-05-07T17:57:58.002953Z","iopub.execute_input":"2022-05-07T17:57:58.004950Z","iopub.status.idle":"2022-05-07T17:57:58.027241Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Multiple linear regression**","metadata":{}},{"cell_type":"code","source":"reg <- function (y, x) {\n    x <- as.matrix (x)\n    x <- cbind (Intercept = 1, x)\n    b <- solve (t(x) %*% x) %*% t(x) %*% y\n    colnames (b) <- \"estimate\"\n    print (b)\n}","metadata":{"execution":{"iopub.status.busy":"2022-05-07T18:00:42.816075Z","iopub.execute_input":"2022-05-07T18:00:42.817916Z","iopub.status.idle":"2022-05-07T18:00:42.830375Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"str (launch)","metadata":{"execution":{"iopub.status.busy":"2022-05-07T18:01:53.345275Z","iopub.execute_input":"2022-05-07T18:01:53.347566Z","iopub.status.idle":"2022-05-07T18:01:53.392084Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"reg (y = launch$ReusedCount, x = launch [4])","metadata":{"execution":{"iopub.status.busy":"2022-05-07T18:03:45.734378Z","iopub.execute_input":"2022-05-07T18:03:45.736343Z","iopub.status.idle":"2022-05-07T18:03:45.811633Z"},"trusted":true},"execution_count":null,"outputs":[]}]}