龙空技术网

基于Python逻辑回归模型的用户广告点击分析

DataTalking 1748

前言:

当前咱们对“python逻辑回归模型训练”可能比较注意,兄弟们都需要分析一些“python逻辑回归模型训练”的相关内容。那么小编也在网络上汇集了一些有关“python逻辑回归模型训练””的相关内容,希望我们能喜欢,看官们一起来学习一下吧!

在这个项目中,我将使用广告数据集,指示特定的互联网用户是否点击了广告。我将尝试创建一个模型,以预测他们是否会点击广告基于该用户的功能。

此数据集包含以下功能:

Daily Time Spent on Site': consumer time on site in minutes(1)每日现场消耗时间:消费者在现场的时间,以分钟为单位Age: cutomer age in years(2)年龄:消费者的年龄Area Income': Avg. Income of geographical area of consumer(3)区域收入:消费者地理区域的平均收入Daily Internet Usage': Avg. minutes a day consumer is on the internet(4)每日互联网使用:平均每天消费者在互联网上Ad Topic Line: Headline of the advertisement(5)广告主题线:广告标题City: City of consumer(6)城市:消费者城市Male': Whether or not consumer was male(7)男性:消费者是否为男性Country': Country of consumer(8)国家:消费者国家Timestamp: Time at which consumer clicked on Ad or closed window(9)时间戳 :消费者点击广告或关闭窗口的时间Clicked on Ad': 0 or 1 indicated clicking on Ad(10)点击广告:0或1表示点击广告先对数据集进行描述性统计

#导入模块import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as plt#设置图形风格背景%matplotlib inlinesns.set_style('darkgrid')sns.set_palette('viridis_r')#导入数据ad_data = pd.read_csv('advertising.csv')#查看表的结构ad_data.head()
#查看数据的基本信息print(ad_data.info()) <class 'pandas.core.frame.DataFrame'>RangeIndex: 1000 entries, 0 to 999Data columns (total 10 columns):Daily Time Spent on Site 1000 non-null float64Age 1000 non-null int64Area Income 1000 non-null float64Daily Internet Usage 1000 non-null float64Ad Topic Line 1000 non-null objectCity 1000 non-null objectMale 1000 non-null int64Country 1000 non-null objectTimestamp 1000 non-null objectClicked on Ad 1000 non-null int64dtypes: float64(3), int64(3), object(4)memory usage: 78.2+ KBNone#对Number格式的列进行描述性统计 std :一列数据的均方差;25% 代表前25%数的平均数ad_data.describe()
探索性分析
#查看年龄的分布情况sns.distplot(ad_data['Age'],kde=True,bins=30,color='blue')
#创建一个显示面积收入与年龄的联合图。sns.jointplot(data=ad_data,x='Age',y='Area Income',color='orange') #这是分析两个变量之间的分布关系
创建一个联合图,显示在网站上花费的每日时间与年龄的kde分布sns.jointplot(kind='kde',data=ad_data,x='Age',y='Area Income',color='red')
#创建“每日网站停留时间”与“每日互联网使用情况”的联合图sns.jointplot(data=ad_data,x='Daily Time Spent on Site',y='Daily Internet Usage')
#最后,使用“点击广告”列功能定义的色调创建配对图。sns.pairplot(data=ad_data,hue='Clicked on Ad',palette='bwr')
逻辑回归
from sklearn.model_selection import train_test_splitad_data.columnsX=ad_data[['Daily Time Spent on Site', 'Age', 'Area Income', 'Daily Internet Usage', 'Male']]y=ad_data['Clicked on Ad']X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=101)from sklearn.linear_model import LogisticRegressionlogml = LogisticRegression()logml.fit(X_train,y_train)LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, intercept_scaling=1, max_iter=100, multi_class='warn', n_jobs=None, penalty='l2', random_state=None, solver='warn', tol=0.0001, verbose=0, warm_start=False)
预测与评估
pred = logml.predict(X_test)# 分类报告from sklearn.metrics import classification_reportprint(classification_report(pred,y_test)) precision recall f1-score support 0 0.95 0.91 0.93 164 1 0.90 0.94 0.92 136 micro avg 0.92 0.92 0.92 300 macro avg 0.92 0.92 0.92 300weighted avg 0.92 0.92 0.92 300

标签: #python逻辑回归模型训练