From 9011f9c47c4c2e1366732c1c1845e7b51eb4ae46 Mon Sep 17 00:00:00 2001
From: LIU-HONGYANG <1664698982@qq.com>
Date: Wed, 1 Jan 2020 14:53:31 +0800
Subject: [PATCH] Logistic regression
---
.../Sample data for Logistic Regression.csv | 28 ++
.../logistic regression.ipynb | 248 ++++++++++++++++++
2 files changed, 276 insertions(+)
create mode 100644 project/Logistic regression/Sample data for Logistic Regression.csv
create mode 100644 project/Logistic regression/logistic regression.ipynb
diff --git a/project/Logistic regression/Sample data for Logistic Regression.csv b/project/Logistic regression/Sample data for Logistic Regression.csv
new file mode 100644
index 0000000..e278ef9
--- /dev/null
+++ b/project/Logistic regression/Sample data for Logistic Regression.csv
@@ -0,0 +1,28 @@
+age,bought_insurance
+22,0
+25,0
+47,1
+52,0
+46,1
+56,1
+55,0
+60,1
+62,1
+61,1
+18,0
+28,0
+27,0
+29,0
+49,1
+55,1
+25,1
+58,1
+19,0
+18,0
+21,0
+26,0
+40,1
+45,1
+50,1
+54,1
+23,0
\ No newline at end of file
diff --git a/project/Logistic regression/logistic regression.ipynb b/project/Logistic regression/logistic regression.ipynb
new file mode 100644
index 0000000..1d6bf7f
--- /dev/null
+++ b/project/Logistic regression/logistic regression.ipynb
@@ -0,0 +1,248 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Implementation of Logisric regression"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "from matplotlib import pyplot as plt\n",
+ "%matplotlib inline\n",
+ "df = pd.read_csv(\"Sample data for Logistic Regression.csv\")\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.model_selection import train_test_split\n",
+ "X_train, X_test, y_train, y_test = train_test_split(df[[\"age\"]],df.bought_insurance,train_size=0.9)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " age | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 10 | \n",
+ " 18 | \n",
+ "
\n",
+ " \n",
+ " 26 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 62 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " age\n",
+ "10 18\n",
+ "26 23\n",
+ "8 62"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "X_test"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.linear_model import LogisticRegression\n",
+ "model = LogisticRegression()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/Users/liuhongyang/anaconda3/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
+ " FutureWarning)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
+ " intercept_scaling=1, l1_ratio=None, max_iter=100,\n",
+ " multi_class='warn', n_jobs=None, penalty='l2',\n",
+ " random_state=None, solver='warn', tol=0.0001, verbose=0,\n",
+ " warm_start=False)"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "model.fit(X_train,y_train)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "