def fenye(request,page=1):
users = User.objects.all()
# 产生分页器
paginator = Paginator(users,10)
# 分页对象
# page表示当前页
pager = paginator.page(page)
for user in paginator.object_list:
print(user,type(user))
return render(request,"userlist.html",locals())
分页封装:
<tr>
<td>用户名</td>
<td>密码</td>
</tr>
{% for user in pager.object_list %}
<tr>
<td>{{ user.username }}</td>
<td>{{ user.password }}</td>
</tr>
{% endfor %}
</table>
<div>
{# paginator.page_range 页码列表 #}
{% for page in paginator.page_range %}
<a href="{% url 'App02:page' page=page %}">{{ page }}</a>
{% endfor %}
K近邻分类:;
决策树:自顶向下递归的方法,熵值不断下降过程;(贪心)
优点:可以自学习,不需要使用者了解过多背景知识。
关键:在当前状态下,选择什么属性作为分类的依据;
信息增益: 得到特征A的信息而使得类X的信息的不确定度减小的程度;
g(D,A) = H(D)-H(D|A),就是训练数据D和特征A的互信息。
选择信息增益最大的作为特征,不确定性变为确定性的能力。
信息增益率:C4.5
基尼系数: CART
ID3: 信息增益,f庞大且深度很浅的树;
缺点:易过拟合,泛化能力弱;
Bagging:重采样重复选择出n个样本,对所有属性进行分类器选择(ID3、C4.5、CART、SVM、Logistic回归),投票结果。
boosting:属性选择、权重;
随机森林:Bootstrap采样选出n个样本;随机选择k个属性,重复m次,投票;