根据您的历史偏好为tinder构建个性化的机器学习模型
tindetheus的Python项目详细描述
廷德修斯
基于您的 使用python的历史偏好。
这有三个部分:1。一个建立数据库的函数 记录所有你喜欢和不喜欢的个人资料。2.一个 函数将模型训练到数据库。三。使用 训练模型,自动喜欢和不喜欢新的配置文件
工作原理
经过面部分类训练的cnn的最后一层可以用作 描述个人面部的特征集只是碰巧 这个特征集与面部吸引力有关
tindetheus让我们根据 喜欢和不喜欢然后你可以训练一个分类模型 数据库。模型训练首先使用一个mtcnn来检测 数据库中的面然后在面上运行一个facenet模型 提取嵌入(cnn的最后一层)。逻辑回归 然后将模型拟合到嵌入中。logistic回归模型是 保存,并且在自动化中重复此过程以自动 喜欢和不喜欢的个人资料基于你的历史偏好。
讲解Tindetheus的视觉帮助
这个blog post 对tindetheus的工作原理有一个简短的描述。
有关如何以及为什么这样做的更详细描述,请参见 https://arxiv.org/abs/1803.04347
示例用法
tindetheus browse
通过喜欢和不喜欢tinder上的配置文件来构建数据库。这个 数据库以numpy数组的形式包含所有配置文件信息,而 配置文件图像保存在其他文件夹中。
tindetheus browse --distance=20
默认情况下,tindetheus以5英里半径开始,但您可以指定 通过指定–distance搜索距离上面的例子是 搜索半径20英里。重要的是要注意当你跑步的时候 在附近的用户中,tindethesus会问你是否愿意增加 搜索距离是5英里。
tindetheus train
使用机器学习建立一个你喜欢的人的个性化模型 不喜欢基于你的数据库。你浏览的个人资料越多, 你的模特会更好。
tindetheus like
使用您的个性化模型自动喜欢和不喜欢的个人资料。 您自动喜欢和不喜欢的配置文件将被存储 在al_数据库中。默认情况下,搜索半径为5英里, 增加5英里直到你用了100个喜欢的你可以改变 使用的默认搜索半径
tindetheus like --distance=20
从20英里的搜索半径开始
安装和入门
安装和入门指南现在存储在 GETTING_STARTED.md
配置文件
现在可以将所有默认可选参数存储在config.txt中! 这意味着你可以设定你的起跑距离,喜欢的次数,和 无需每次手动指定选项的图像批大小这个 是一个示例config.txt文件:
facebook_token = XXXXXXX # your facebook token hash # alternatively you can use the XAuthToken # XAuthToken = xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx model_dir = 20170512-110547 # the location of your facenet model directory # see https://github.com/davidsandberg/facenet#pre-trained-models for other # pretrained facenet models image_batch = 1000 # number of images to load in a batch during train # the larger the image_batch size, the faster the training process, at the # cost of additional memory. A 4GB machine may struggle with 1000 images. distance = 5 # Set the starting distance in miles likes = 100 # set the number of likes you want to use # note that free Tinder users only get 100 likes in 24 hours
在不同的数据集上使用validate函数
从0.4.0版开始,tindetheus现在包含一个validate函数这个 验证函数在 外部图像集。如果图像中有一张脸,模型将 预测你是喜欢还是不喜欢这张脸。结果是 保存在validation.csv中。有关验证的详细信息 函数read this
变更日志
所有更改现在存储在 CHANGELOG.md
关于名字
Tindetheus是Tinder(流行的在线约会)的组合 应用程序)和希腊巨人: Prometheus和 Epimetheus。 普罗米修斯的意思是“先入为主”,而他的兄弟厄庇墨修斯的意思是 “事后思考”在协同作用下,它们有助于改善您的火药体验。
Epimetheus根据您查看的所有配置文件创建数据库 导火线。
普罗米修斯从你的历史偏好中学习到 新的火药档案