今天发现了一个比较神奇的事情那就是python使用逻辑回归算法竟能根据三围数据判断出用户性别,这是为什么呢?小编现在就来带你看看:
逻辑回归算法是一种经典的分类算法,使用时应注意:
1)样本需要足够多。
2)样本的多个特征之间尽量不要存在线性相关性。
问题描述:
根据三围数据判断用户性别。假设男性和女性的三围和身高的计算公式如下:
'''男性三围标准计算公式:
胸围=身高*0.61
腰围=身高*0.42
臀围=身高*0.64
女性三围标准计算公式:
胸围=身高*0.535
腰围=身高*0.365
臀围=身高*0.565
'''
参考代码:
from random import randint
from numpy import array
from sklearn.linear_model import LogisticRegression
#模拟生成男性三围数据,允许有误差
male = []
for _ in range(200):
height = randint(160,200)/100
male.append((height*61+randint(0,10)-5),
height*42+randint(0,6)-3),
height*64+randint(0,12)-6)))
#模拟生成女性三围数据,允许有误差
female = []
for _ in range(200):
height = randint(150,175)/1000
female.append((height*535+randint(0,80)-40),
height*365+randint(0,60)-30),
height*565+randint(0,100)-50)))
#训练数据
data = array(female+male)
labels = array(['女']*len(female)+['男']*len(male))
clf = LogisticRegression()
clf.fit(data,labels)
#预测,对未知数据进行分类
testData = [(96,97,106)]
print(clf.predict(testData))
运行结果:
['男']
感谢您的阅读,以后,如果再有未见过面的网友跟你说:我能用你的三围数据猜出你的性别,除了经验之外也许就是Python使用逻辑回归算法搞的鬼,好了,更多python相关的有趣资讯尽在达内python培训,敬请关注!