当前位置:文档之家› 06 项目六 鸢尾花分类[20页]

06 项目六 鸢尾花分类[20页]


X = df[['SepalLengthCm', 'SepalWidthCm', 'PetalLengthCm', 'PetalWidthCm']]
Y = df[['Cluster','Species']]
# 可视化展现
grr=pd.plotting.scatter_matrix(X,c=np.squeeze(Y[[' Cluster']]),figsize=(8,8),marker="o",hist_kwds={'bins ':20},s=60,alpha=.8,cmap=plt.cm.Paired) plt.show()
二、使用随机森林对鸢尾花进行分类
模型训练过程
1、初始化分类器
3、预测predict
2、拟合fit
4、准确性评估
from sklearn.ensemble import RandomForestClassifier
#随机森林分类预测
clf = RandomForestClassifier(n_jobs=3)
预测准确度:0.97
Prediction 0 1 2
Actual Values
0
15 0 0
1
0 11 1
2
0 0 11
上机时间:20min
• 数据读取 • 模型训练 • 模型评估 • 实验报告步骤1
二、使用随机森林对鸢尾花进行分类
随机森林就是集成学习思想下的产物,其实质是将bagging方法与决策树相结合,将决 策树作为基准估计量,然后采用bagging技术训练一大堆小决策树,最后将这些小决策 树组合起来,这样就得到了一片森林(随机森林),并合起来用来预测最终结果。
项目六 鸢尾花分类
陈清华
知识回顾:机器学习的方法
机器学习算法
监督学习
无监督学习
分类 预测
回归 分析
聚类 分析
关联 规则
半监督学习
强化学习
时间差 Q-learning 学习
知识回顾:分类(Classification)
项目:使用身高、体重数据进行性别、肥胖程度分类 ✓ Logistic Regression: 逻辑回归 ✓ Bayes: 朴素贝叶斯 ✓ Decision Tree: 决策树 ✓ SVM: 支持向量机 学习目标:了解各种方法及其使用
y_pred=knn.predict(x_test)
# 模型评估结果
print("预测准确度 :{:.2f}".format(knn.score(x_test,y_test[['Cluster']]))) print(pd.crosstab(y_test['Cluster'], y_pred, rownames=['Actual Values'], colnames=['Prediction']))
#coding:utf-8 import pandas as pd
df= pd.read_csv('iris.csv', delimiter=',') df.head()
一、使用K近邻对鸢尾花进行分类
• 2 数据准备 种类 • 标签映射
from sklearn import preprocessing
维吉尼亚鸢尾(virginica)
P4
一、使用K近邻对鸢尾花进行分类
K近邻方法的核心思想是:在特征空间中,如果一个样本的K个最相邻的样本的大多 数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
一、使用K近邻对鸢尾花进行分类
• 1 数据读取
• 花萼长度(spepal length) • 花萼宽度(spepal width) • 花瓣长度(petal length) • 花瓣宽度(petal width)
clf.fit(x_train, y_train[['Cluster']] .values.ravel()) y_pred=clf.predict(x_test)
print("预测准确度 :{:.2f}".format(clf.score(x_test,y_test[['Cluster']]))) print(pd.crosstab(y_test['Cluster'], y_pred, rownames=['Actual Values'], colnames=['Prediction']))
主要教学内容
监督学习
– K近邻 – 随机森林 – 神经网络
项目:鸢尾花分类
– 数据读取 – 数据准备 – 数据可视化 – 模型训练 – 模型评估
重点:
了解不同分类算法的概念及应用 了解sklearn中相应算法的使用
难点:
对不同分类算法的理解及调参
山鸢尾(setosa) 变色鸢尾(versicolor)
# 对类别进行数值化处理
le = belEncoder() df['Cluster'] = le.fit_transform(df['Species'])
df.head()
一、使用K近邻对鸢尾花进行分类
• 3 数据展现
• 四个特征值相关性
import numpy as np import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei&rediction 0 1 2
Actual Values
0
13 0 0
1
0 15 0
2
0 28
二、使用随机森林对鸢尾花进行分类
# KNN近邻分类预测
knn = KNeighborsClassifier(n_neighbors=5) knn.fit(x_train,np.squeeze(y_train[['Cluster']])) y_pred=knn.predict(x_test)
一、使用K近邻对鸢尾花进行分类
• 6 模型评估
一、使用K近邻对鸢尾花进行分类
• 4 数据集切分
from sklearn.model_selection import train_test_split x_train, x_test,y_train, y_test=train_test_split(X,Y)
• 5 模型训练 from sklearn.neighbors import KNeighborsClassifier
相关主题