基于python机器学习人脸自动补全

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression,Ridge,Lasso
from sklearn.neighbors import KNeighborsRegressor
from sklearn.ensemble import ExtraTreesRegressor
from sklearn.datasets import fetch_olivetti_faces
faces=fetch_olivetti_faces()
data=faces[‘data‘]
target=faces[‘target‘]
#data.shape
#人脸补全
#人脸数据一分为二,上半部分作为数据,下半部分作为target
face_up,face_down=data[:,:2048],data[:,2048:]
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(face_up,face_down,test_size=0.1)

#5个算法分别识别
estimators={‘knn‘:KNeighborsRegressor(),
           ‘LinearRe‘:LinearRegression(),
          ‘Ridge‘:Ridge(alpha=0.1),
          ‘Lasso‘:Lasso(alpha=0.5),
          ‘ExtraTree‘:ExtraTreesRegressor()}

#face_down[2048]
result_ = {}

for key,estimator in estimators.items():
     estimator.fit(x_train,y_train)
     y_ = estimator.predict(x_test)
     result_[key] = y_
plt.figure(figsize=(2*6,10*2))
for i in range(10):
    if i :
        axes=plt.subplot(10,6,i*6+1)
    else:
        axes=plt.subplot(10,6,1,title=‘True Face‘)
    axes.axis(‘off‘)

    face_up=x_test[i]
    face_down=y_test[i]
    face_full=np.hstack((face_up,face_down))
    face_image=face_full.reshape((64,64))
    axes.imshow(face_image,cmap=‘gray‘)

    for j,key in enumerate(result_):
        if i :
            axes=plt.subplot(10,6,i*6+2+j)
        else:

            axes=plt.subplot(10,6,2+j,title=key)
        face_up=x_test[i]
        y_=result_[key]
        face_down_predict=y_[i]
        face_full_predict=np.hstack((face_up,face_down_predict))
        face_image_predict=face_full_predict.reshape((64,64))
        axes.imshow(face_image_predict,cmap=‘gray‘)

原文地址:https://www.cnblogs.com/momo521/p/8537384.html

时间: 2024-10-02 04:18:16

基于python机器学习人脸自动补全的相关文章

python的tab自动补全

很久不写blog了. 最近发现python的自动补全是个好东西. 分享一下. 参考了:http://www.cnblogs.com/allenblogs/archive/2011/04/21/2023288.html 和 软件手册 下载地址:http://vim.sourceforge.net/scripts/script.php?script_id=850 直接粘贴了. ------------------------------ vim编辑器中 #mkdir -p ~/.vim/after/

linux 下写python脚本实现自动补全( 我51论坛也有)

以前都是在windows下开发,但是对于玩linux的人来说,能够在linux下实现python脚本的自动补全的话,那是相当不错的,而我一般是使用的vim作为编辑器,且linux一般选择最小化安装,没有图形界面,参考了下网上的很多方法也没有适合自己,最后自己去看代码的帮助来实现了这个功能,废话不说,现在开始代码下载地址:http://vim.sourceforge.net/scripts/download_script.php?src_id=21842 文件名:pydiction-1.2.3.z

windows下Python shell代码自动补全

Unix下实现如题功能用下面的代码: import rlcompleter, readline readline.parse_and_bind('tab: complete') 但readline不能在win中用,需要为windows编译好的pyreadline pip install pyreadline import rlcompleter, pyreadline a=Readline() a.parse_and_bind('tab: complete') windows下Python sh

Python基础 (tab自动补全)

Python 自动补全 1.添加python自动补全的脚本 vim ~/.pythonstartup #添加如下 #!/usr/bin/python import sys import readline import rlcompleter import atexit import os # tab completion readline.parse_and_bind('tab: complete') # history file histfile = os.path.join(os.envir

(转) python vim编辑器自动补全插件安装

自动补全插件:pydiction 可以实现下面的python代码自动补全: 1.简单python关键词补全 2.python函数补全带括号 3.python模块补全 4.python模块内置函数,变量补全 5.form module import sub-module 补全 安装插件 wget https://github.com/rkulla/pydiction/archive/master.zip unzip -q master mv pydiction-master pydiction m

Python添加tab自动补全及命令历史功能。

1. 新建Python环境变量配置文件: vim ~/.pystartup # Add auto-completion and a stored history file of commands to your Python # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is # bound to the Esc key by default (you can change it - see rea

为python添加tab自动补全功能

fedora ~ $ python Python 2.7.8 (default, Nov 10 2014, 08:19:18) [GCC 4.9.2 20141101 (Red Hat 4.9.2-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sys        

Python建立Tab自动补全的脚本

1 #!/usr/bin/python 2 #python steup file 3 import sys 4 import readline 5 import rlcompleter 6 import atexit 7 import os 8 # tab completion 9 readline.parse_and_bind('tab: complete') 10 #history file 11 histfile = os.path.join(os.environ['HOME'], '.p

vim 创建Python脚本时候自动补全解释器和编码方法

在用户家目录下创建vimrc文件,然后将如下内容添加进来: function HeaderPython() call setline(1, "#!/usr/bin/env python") call append(1, "#-*- coding:utf8 -*-") normal G normal o normal o endf autocmd bufnewfile *.py call HeaderPython() 保存退出即可 比如我用的是root用户,那么我创建