机器学习-逻辑回归

数据说明

以下为数据集

User IDGenderAgeEstimatedSalaryPurchased
15624510Male19190000
15810944Male35200000
15668575Female26430000
15603246Female27570000
15804002Male19760000
15728773Male27580000
15598044Female27840000
15694829Female321500001
15600575Male25330000
15727311Female35650000
15570769Female26800000
15606274Female26520000
15746139Male20860000
15704987Male32180000
15628972Male18820000
15697686Male29800000
15733883Male47250001
15617482Male45260001
15704583Male46280001
15621083Female48290001
15649487Male45220001
15736760Female47490001
15714658Male48410001
15599081Female45220001
15705113Male46230001
15631159Male47200001
15792818Male49280001
15633531Female47300001
15744529Male29430000
15669656Male31180000
15581198Male31740000
15729054Female271370001
15573452Female21160000
15776733Female28440000
15724858Male27900000
15713144Male35270000
15690188Female33280000
15689425Male30490000
15671766Female26720000
15782806Female27310000
15764419Female27170000
15591915Female33510000
15772798Male351080000
15792008Male30150000
15715541Female28840000
15639277Male23200000
15798850Male25790000
15776348Female27540000
15727696Male301350001
15793813Female31890000
15694395Female24320000
15764195Female18440000
15744919Female29830000
15671655Female35230000
15654901Female27580000
15649136Female24550000
15775562Female23480000
15807481Male28790000
15642885Male22180000
15789109Female321170000
15814004Male27200000
15673619Male25870000
15595135Female23660000
15583681Male321200001
15605000Female59830000
15718071Male24580000
15679760Male24190000
15654574Female23820000
15577178Female22630000
15595324Female31680000
15756932Male25800000
15726358Female24270000
15595228Female20230000
15782530Female331130000
15592877Male32180000
15651983Male341120001
15746737Male18520000
15774179Female22270000
15667265Female28870000
15655123Female26170000
15595917Male30800000
15668385Male39420000
15709476Male20490000
15711218Male35880000
15798659Female30620000
15663939Female311180001
15694946Male24550000
15631912Female28850000
15768816Male26810000
15682268Male35500000
15684801Male22810000
15636428Female301160000
15809823Male26150000
15699284Female29280000
15786993Female29830000
15709441Female35440000
15710257Female35250000
15582492Male281230001
15575694Male35730000
15756820Female28370000
15766289Male27880000
15593014Male28590000
15584545Female32860000
15675949Female331490001
15672091Female19210000
15801658Male21720000
15706185Female26350000
15789863Male27890000
15720943Male26860000
15697997Female38800000
15665416Female39710000
15660200Female37710000
15619653Male38610000
15773447Male37550000
15739160Male42800000
15689237Male40570000
15679297Male35750000
15591433Male36520000
15642725Male40590000
15701962Male41590000
15811613Female36750000
15741049Male37720000
15724423Female40750000
15574305Male35530000
15678168Female41510000
15697020Female39610000
15610801Male42650000
15745232Male26320000
15722758Male30170000
15792102Female26840000
15675185Male31580000
15801247Male33310000
15725660Male30870000
15638963Female21680000
15800061Female28550000
15578006Male23630000
15668504Female20820000
15687491Male301070001
15610403Female28590000
15741094Male19250000
15807909Male19850000
15666141Female18680000
15617134Male35590000
15783029Male30890000
15622833Female34250000
15746422Female24890000
15750839Female27960001
15749130Female41300000
15779862Male29610000
15767871Male20740000
15679651Female26150000
15576219Male41450000
15699247Male31760000
15619087Female36500000
15605327Male40470000
15610140Female31150000
15791174Male46590000
15602373Male29750000
15762605Male26300000
15598840Female321350001
15744279Male321000001
15670619Male25900000
15599533Female37330000
15757837Male35380000
15697574Female33690000
15578738Female18860000
15762228Female22550000
15614827Female35710000
15789815Male291480001
15579781Female29470000
15587013Male21880000
15570932Male341150000
15794661Female261180000
15581654Female34430000
15644296Female34720000
15614420Female23280000
15609653Female35470000
15594577Male25220000
15584114Male24230000
15673367Female31340000
15685576Male26160000
15774727Female31710000
15694288Female321170001
15603319Male33430000
15759066Female33600000
15814816Male31660000
15724402Female20820000
15571059Female33410000
15674206Male35720000
15715160Male28320000
15730448Male24840000
15662067Female19260000
15779581Male29430000
15662901Male19700000
15689751Male28890000
15667742Male34430000
15738448Female30790000
15680243Female20360000
15745083Male26800000
15708228Male35220000
15628523Male35390000
15708196Male49740000
15735549Female391340001
15809347Female41710000
15660866Female581010001
15766609Female47470000
15654230Female551300001
15794566Female521140000
15800890Female401420001
15697424Female46220000
15724536Female48960001
15735878Male521500001
15707596Female59420000
15657163Male35580000
15622478Male47430000
15779529Female601080001
15636023Male49650000
15582066Male40780000
15666675Female46960000
15732987Male591430001
15789432Female41800000
15663161Male35910001
15694879Male371440001
15593715Male601020001
15575002Female35600000
15622171Male37530000
15795224Female361260001
15685346Male561330001
15691808Female40720000
15721007Female42800001
15794253Female351470001
15694453Male39420000
15813113Male401070001
15614187Male49860001
15619407Female381120000
15646227Male46790001
15660541Male40570000
15753874Female37800000
15617877Female46820000
15772073Female531430001
15701537Male421490001
15736228Male38590000
15780572Female50880001
15769596Female561040001
15586996Female41720000
15722061Female511460001
15638003Female35500000
15775590Female571220001
15730688Male41520000
15753102Female35970001
15810075Female44390000
15723373Male37520000
15795298Female481340001
15584320Female371460001
15724161Female50440000
15750056Female52900001
15609637Female41720000
15794493Male40570000
15569641Female58950001
15815236Female451310001
15811177Female35770000
15680587Male361440001
15672821Female551250001
15767681Female35720000
15600379Male48900001
15801336Female421080001
15721592Male40750000
15581282Male37740000
15746203Female471440001
15583137Male40610000
15680752Female431330000
15688172Female59760001
15791373Male60420001
15589449Male391060001
15692819Female57260001
15727467Male57740001
15734312Male38710000
15764604Male49880001
15613014Female52380001
15759684Female50360001
15609669Female59880001
15685536Male35610000
15750447Male37700001
15663249Female52210001
15638646Male481410000
15734161Female37930001
15631070Female37620000
15761950Female481380001
15649668Male41790000
15713912Female37780001
15586757Male391340001
15596522Male49890001
15625395Male55390001
15760570Male37770000
15566689Female35570000
15725794Female36630000
15673539Male42730001
15705298Female431120001
15675791Male45790000
15747043Male461170001
15736397Female58380001
15678201Male48740001
15720745Female371370001
15637593Male37790001
15598070Female40600000
15787550Male42540000
15603942Female511340000
15733973Female471130001
15596761Male361250001
15652400Female38500000
15717893Female42700000
15622585Male39960001
15733964Female38500000
15753861Female491410001
15747097Female39790000
15594762Female39750001
15667417Female541040001
15684861Male35550000
15742204Male45320001
15623502Male36600000
15774872Female521380001
15611191Female53820001
15674331Male41520000
15619465Female48300001
15575247Female481310001
15695679Female41600000
15713463Male41720000
15785170Female42750000
15796351Male361180001
15639576Female471070001
15693264Male38510000
15589715Female481190001
15769902Male42650000
15587177Male40650000
15814553Male57600001
15601550Female36540000
15664907Male581440001
15612465Male35790000
15810800Female38550000
15665760Male391220001
15588080Female531040001
15776844Male35750000
15717560Female38650000
15629739Female47510001
15729908Male471050001
15716781Female41630000
15646936Male53720001
15768151Female541080001
15579212Male39770000
15721835Male38610000
15800515Female381130001
15591279Male37750000
15587419Female42900001
15750335Female37570000
15699619Male36990001
15606472Male60340001
15778368Male54700001
15671387Female41720000
15573926Male40710001
15709183Male42540000
15577514Male431290001
15778830Female53340001
15768072Female47500001
15768293Female42790000
15654456Male421040001
15807525Female59290001
15574372Female58470001
15671249Male46880001
15779744Male38710000
15624755Female54260001
15611430Female60460001
15774744Male60830001
15629885Female39730000
15708791Male591300001
15793890Female37800000
15646091Female46320001
15596984Female46740000
15800215Female42530000
15577806Male41870001
15749381Female58230001
15683758Male42640000
15670615Male48330001
15715622Female441390001
15707634Male49280001
15806901Female57330001
15775335Male56600001
15724150Female49390001
15627220Male39710000
15672330Male47340001
15668521Female48350001
15807837Male48330001
15592570Male47230001
15748589Female45450001
15635893Male60420001
15757632Female39590000
15691863Female46410001
15706071Male51230001
15654296Female50200001
15755018Male36330000
15594041Female49360001

一、实验目的

1.复习python的使用

2.掌握逻辑回归的基本概念

二、实验内容

(一)具体实现步骤

1.数据预处理

(1)导入库

(2)导入数据

(3)将数据集分成训练集和测试集

2.逻辑回归模型

3.预测结果

4.评估预测结果

5.可视化结果展示

三、运行与测试

代码:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# 导入数据
dataset = pd.read_csv('C:\\Users\\十一\\Desktop\\Social_Network_Ads.csv')
X = dataset.iloc[:, [2, 3]].values
Y = dataset.iloc[:, 4].values
# 将数据集分成训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.25, random_state=0)
# 特征缩放
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
# 逻辑回归模型
from sklearn.linear_model import LogisticRegression
classifier = LogisticRegression()
classifier.fit(X_train, Y_train)
# 预测结果
Y_pred = classifier.predict(X_test)
from matplotlib.colors import ListedColormap
# 1.训练集可视化
X_set, y_set = X_train, Y_train
x = np.arange(start=X_set[:, 0].min()-1, stop=X_set[:, 0].max()+1, step=0.01)
y = np.arange(start=X_set[:, 1].min()-1, stop=X_set[:, 1].max()+1, step=0.01)
# 把x,y绑定为网格的形式
X1, X2 = np. meshgrid(x, y)
plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
             alpha=0.75, cmap=ListedColormap(('red', 'green')))
plt.xlim(X1.min(), X1.max())
plt.ylim(X2.min(), X2.max())
for i, j in enumerate(np.unique(y_set)):
    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c=ListedColormap(('red', 'green'))(i), label=j)
plt. title(' LOGISTIC(Training set)')
plt. xlabel(' Age')
plt. ylabel(' Estimated Salary')
plt. legend()
plt. show()
# 2.测试集可视化X_set,y_set=X_test,Y_test
x = np.arange(start=X_set[:, 0].min()-1, stop=X_set[:, 0].max()+1, step=0.01)
y = np.arange(start=X_set[:, 1].min()-1, stop=X_set[:, 1].max()+1, step=0.01)
# 把x,y绑定为网格的形式
X1, X2 = np. meshgrid(x, y)
plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape),
             alpha=0.75, cmap=ListedColormap(('red', 'green')))
plt.xlim(X1.min(), X1.max())
plt.ylim(X2.min(), X2.max())
for i, j in enumerate(np.unique(y_set)):
    plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], c=ListedColormap(('red', 'green'))(i), label=j)
plt. title(' LOGISTIC(Test set)')
plt. xlabel(' Age')
plt. ylabel(' Estimated Salary')
plt. legend()
plt. show()

运行截图:

四、总结与心得

1.逻辑回归是什么?

简单来说, 逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。

逻辑回归是为了解决分类问题,根据一些已知的训练集训练好模型,再对新的数据进行预测属于哪个类。

逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。(这部分暂时了解了即可)

2. 逻辑回归与线性回归的区别是什么?

 线性回归是一个用于预测的算法,而逻辑回归是一个能用于分类,再进行预测的算法,广义线性回归模型中(如下),只需要寻找一个单调可微函数将分类任务的标记与线性模型的预测值联系起来即可。例如,老师在给学生进行评分时,需要计算学生的各项成绩组成得分,然后对不同分数段的学生进行分类是同理的。

y=g-1(wTx + b)

线性回归:x -> y 的一种映射

逻辑回归:x -> z -> y 的映射,其中z为线性模型产生的预测值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值