0%

1,机器学习
用大量数据进行训练,获取到 一个数据模型,预测就是应用训练的模型,来解决一个未知的问题

2,knn实现流程
收集相关的数据
选择合适的feature和label
如果不知道如何选择feature可以先单独每个feature计算与label的相关度
选取合适的k
使用数据集进行新的预测

3,分类和回归的区别(classification和regression)
回归是求topk的value求平均值
分类是求topk中出现最多的 类别

4,标准化和归一化的选择
知道数据范围用归一化
不知道数据范围,数据变化可能很大,用标准化

5,数据归一化
压缩样本数据到0~1之间,让向量之间的欧式距离变为标准欧式距离

6,线性回归和knn的区别
knn必须需要有全套数据集,每次预测都要重新计算整套数据集
线性回归,数据集用完后,其实可以丢弃。 线性回归是算一个
模型。
knn可以理解成是数学统计学的方法研究问题
线性回归,是一种总结规律,总结模型的解决问题的方法。

7,线性回归就是求线性函数的参数的值的过程

8,梯度下降算法原理
随机选取m和b
分别对mse 求m和b的偏导
如果m和b的偏导都很小(接近0),就成功
根据学习速率计算出修改的值
b和m 分别减去要修改的值

9,线性回归和逻辑回归的区别
线性回归:预测的数据是连续的
逻辑回归:预测的是分类的问题

10,人脸识别操作
安装百度api
pip install -U baidu-api

阅读全文 »

uwsgi的安装:
pip install uwsgi

创建配置文件:
uwsgi8001.ini

uwsgi启动:
uwsgi –ini uwsgi8001.ini

uwsgi重启:
uwsgi –reload uwsgi8001.pid

uwsgi停止:
uwsgi –stop uwsgi8001.pid

uwsgi.ini 配置文件内容

[uwsgi]
#直接做web服务器使用,Django程序所在服务器地址
http=127.0.0.1:8001
#项目目录
chdir=/home/parallels/Desktop/meiduo_mall
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=meiduo_mall/wsgi.py
进程数

processes=2
线程数

threads=2
是否开启master进程

master=True
存放进程编号的文件

阅读全文 »

总结
有关数据库的DDL操作
- SHOW DATABASES;
-CREATE DATABASES 数据库名;
-DROP DATABASES [IF EXISTS]数据库名;
-USE 数据库名;

有关数据表的DDL操作
-SHOW TABLES;
-DESC 表名;
-CREATE TABLES 表名(......);
-DROP TABLE 表名;
-ALTER TABLE  表名;

数据表的列类型
-数值类型:INT,FLOAT
-日期类型:DATE,TIME
-字符串类型:CHAR,VARCHAR,TEXT

一,
库操作
①show databases; 查询当前用户下所有数据库

②create database 数据库名; 创建数据库

③use 数据库名; 打开库(包括切换其他数据库)

④show tables; 显示当前数据库下所有的数据表

⑤drop database 数据库名; 删除数据库

⑥desc 表名;(dos下) 显示表结构

float(7,2)——-整数部分99999 99999.99

char(4): 不可变字符串长度3位
varchar(4),可变数据长度

阅读全文 »

1, mysql索引
mysql索引的详细说明
普通索引:
是最基本的索引,没有任何限制
唯一索引:
索引列的值必须唯一,但允许有空值,如果是组合索引,则列值的组合必须唯一
主键索引:
一个表只能有一个主键,不允许有空值,一般在建表的同时创建主键索引
组合索引:
指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用.使用组合索引时遵循最左前缀集合
全文索引:
主要是用来查找文本中的关键字,而不是直接与索引中的值相比较.

2, 数据库优化
①,如有条件,数据可以存放于redis,读取速度快,
②,建立索引,外键等
③使用联合来代替手动创建的临时表
④使用事物
⑤使用锁定表
⑥选取合适的字段属性
⑦使用连接代替子查询

3,创建数据库的四大原则?
答:
事物: 是数据库操作的最小工作单元,是一组不可再分割的操作集合
原子性: 整个程序中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节
一致性: 倘若事物操作失败,则回滚事物时,与原状态一致.
隔离性: 当在进行事物操作时, 其他事物的操作不可能影响当前事物操作,事物与事物之间是隔离的,互不干扰,干完再整合.
持久性: 事物的操作具有持久性, 事物结果一旦写入数据库,在不改动的情况下,数据库一直都是这个数据.

4,orm数据库?
orm数据库:称为对象–关系映射,主要实现模型对象到关系数据库数据的映射,把数据表中的每一条记录映射为一个模型对象,

5,数据表student有id,name,score,city字段,其中name中的名字可有重复,需消除重复行,请写sql语句
答:select distinct name from student;

6, 表合并

#sql union 不允许重复的值
select 字段名 from 表名 union select 字段名2 from 表名2

#sql union all 允许重复的值
elect 字段名 from 表名 union all select 字段名2 from 表名2


insert into 表1 select * from 表2

7,数据库优化查询方法
答:外键,索引,联合查询,选择特定字段等等

8,写5条常用sql语句
答:show databases;
show tables;
desc tb_name;
select * from tb_name
delete from tb_name where id = 5;
update tb_name set name=’xue’,age=23 where id = 5;

阅读全文 »

window下mongodb的使用:

MongoDB数据库:(两种方式一般使用第二种方便快捷)
管理员
一 ,使用流程:
1,启动服务器(连接):在bin目录下:mongod –dbpath “data目录”
2,访问(打开): http://localhost:27017/
3,在bin目录下输入mongo,进入数据库
3,进入:use admin (use进入,创建,切换)
3,db.shutdownServer() :关闭数据库(关闭)
3,访问(打开 ): http://localhost:27017/
{手动}

{自动}
也可直接打开:
二 ,升级为系统服务:
1, 解压zip到MongoDB64文件夹下 –> 创建data和log文件夹 –>在log文件夹下创建MongoDB.log文件–> 进入bin目录 –> 输入 mongod –dbpath “data目录” –logpath “MongoDB.log目录及名称” –install -serviceName “MongoDB”
将服务手动启动:net start MongoDB/net stop MongoDB
2,在bin目录下输入mongo,进入数据库
3,use 数据库名 :切换/创建数据库
4,db:查看当前所在的数据库
5,show dbs:查看当前MongoDB数据库中的所有数据库
6,在数据库中创建一个集合(表)movie并插入一条记录
db.movie(表名).insert({name:”mymovie01”})(记录)
7,当数据库中没有数据库对象(数据)时,show dbs 不会显示
8,删除数据库:db.dropDatabase():删除当前所在的数据库
9,集合的创建(数据表的创建)(与上述区别,没插入数据)
db.createCollection(name)
10,show collections:显示所有集合
11,索引的元信息存储在每个数据库的system.indexes集合中,不能插入删除
12,集合的删除操作db.集合名.drop()
13,数据类型:
String:字符串(utf8)
Integer:整数
Boolean:布尔型:(true/false)
Double:浮点型(小数)
Min/Max keys:最低和最高值比较
Arrays:多个值放到一个key中
Timestamp:时间戳
Object:此数据类型用于嵌入式文件(1 v 1,1 v多,多 v 1, 多 v 多)
Null:空值
Symbol:通常保留给特定符号类型的语言,此数据类型用于字符串相同
Date:日期
Object ID:文档(表,集合)ID
Binary data :二进制数据
Code:用于存储到文档中的js代码
Regular expression:正则表达式

文档对象的增查更删:
增加:
①db.文档名.insert([{k1:v1},{k2:v2}])
②var docs = [{k1:v1},{k2:v2}]
db.文档名.insert(docs)
查看文件结构:db.文档名.find()

查:
db.集合名.find() :查询所有
db.集合名.findOne() :返回集合中的第一条文档数据
db.集合名.find().pretty() :结构化显示数据
条件查询:
db.集合名.find(k:”v”).pretty()
小于:$lt 小于等于:$lte
大于: $gt 大于等于:$gte
不等于:$ne
db.集合名.find({k:{$ne:v}}).pretty()

AND/OR
AND
db.集合名.find({k1:”v1”,k2:”v2”}).pretty()
OR
db.集合名.find({$or:[{k1:”v1”},{k2:”v2”}]}).pretty()
大于并且..或..
db.集合名.find({k1:{$gt:v1},$or:[{k2:”v2”},{k3:”v3”}]}).pretty()

更新(修改):
Criteria:更新操作条件,类似sql语句中的where子句
ObjNEW:更新的操作符::(如$,$inc…),也可以理解为sql update查询内set后面的
Upsert:如果不存在update的记录,是否插入objNEW,true为插入,默认是false,不插入
Multi:默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来
多条记录全部更新
db.集合名.update({k1:”v1”},{$set:{k2:”要修改的值”}},false,true)

删除:
remove:db.infos.remove({k1:”v1”})
deletion criteria(可选):
justOne(可选):
投影(不显示0,1显示):db.infos.find({},{k1:0,k2:0,k3:0}).pretty()

限制记录limit()
只显示n个记录:db.infos.find().limit(n)
先跳过m条记录,然后显示n条记录:db.infos.find().limit(n).skip(m)

组合使用(限制记录+分页处理):n –> 显示文档个数 m –> 文档个数(页数 - 1)
Skip()+Limit():分页显示
db.infos.find().limit(n).skip(m)

阅读全文 »