【我的python机器学习之路·4】逻辑回归与购买意向预测

本系列日记GitHub:

https://github.com/zhengyuv/MyPyMLRoad

欢迎follow和star。

        逻辑回归(Logistic Regression)其实并不是一个回归类的模型,它主要用于处理二分类问题。对于这个模型“分类”或是“回归”的理解,感觉一个知乎答主讲的比较好:

【我的python机器学习之路·4】逻辑回归与购买意向预测_第1张图片

       逻辑回归用到的逻辑函数又叫做sigmoid函数,它是一个S型曲线,可以实现将任意真实值映射到0-1范围内。公式和函数图像如下:

【我的python机器学习之路·4】逻辑回归与购买意向预测_第2张图片

        逻辑回归与通常意义上的线性回归的最大区别在于,逻辑回归的输出结果是离散的,而线性回归输出的结果是连续的。关于逻辑回归更详细的讲解可参考:https://blog.csdn.net/yingfengfeixiang/article/details/79631638、https://blog.csdn.net/u010159842/article/details/46426909。

        逻辑回归的主要用途有预测(如预测用户购买意向)、判别(如判别某人是否会患胃癌)等。今天使用逻辑回归做了个购买意向的预测。数据集如下(共400条数据,4个特征,这里我们不使用ID和性别,只使用年龄和收入两个特征):

【我的python机器学习之路·4】逻辑回归与购买意向预测_第3张图片

代码如下:

# -*- coding: utf-8 -*-
"""
Created on Thu Sep  6 18:39:01 2018

@author: zhengyuv
"""

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
#import matplotlib.pyplot as plt
from sklearn.metrics import accuracy_score

dataset = pd.read_csv('Social_Network_Ads.csv')
X = dataset.iloc[ : ,2:4].values
Y = dataset.iloc[ : ,4].values

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2)

sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test )

classifier = LogisticRegression()
classifier.fit(X_train, Y_train)

y_pred = classifier.predict(X_test)

acc = accuracy_score(Y_test, y_pred)
print("准确率为:", acc)

运行结果如下:

准确率为: 0.85

你可能感兴趣的:(学习日记,我的python机器学习之路)