"""
案例:获取鸢尾花数据集
在scikit-learn中对于小数据集在安装时已经下载了,比如鸢尾花数据集
"""
from sklearn.datasets import load_iris,fetch_20newsgroups
from sklearn.model_selection import train_test_split
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 1、数据集获取
# 1.1 小数据集获取
iris = load_iris()
# print(iris)
# 1.2 大数据集获取
# news = fetch_20newsgroups()
# print(news)
# 2、数据集属性描述
# print("数据集中特征值为:\n",iris.data)
# print("数据集中目标值为:\n",iris["target"])
# print("数据集中特征值名字为:\n",iris.feature_names)
# print("数据集中目标值名字为:\n",iris.target_names)
# print("数据集的描述为:\n",iris.DESCR)
"""
对鸢尾花数据进行可视化
"""
# 1、数据类型转换
iris_data = pd.DataFrame(data=iris.data,
columns=[iris.feature_names[0],iris.feature_names[1],
iris.feature_names[2],iris.feature_names[3]])
iris_data["target"] = iris.target
# print(iris_data)
# 2、定义画图函数
def iris_plot(data,col1,col2):
sns.lmplot(col1,col2,data=data,hue="target",fit_reg=False)
plt.title("鸢尾花数据展示",fontsize=16)
plt.xlabel(col1)
plt.ylabel(col2)
plt.show()
# iris_plot(iris_data,iris.feature_names[0],iris.feature_names[3])
"""
数据集的划分
"""
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
# print("训练集的特征值为:\n",x_train)
# print("测试集的特征值为:\n",x_test)
# print("训练集的目标值为:\n",y_train)
# print("测试集的目标值为:\n",y_test)
print("训练集的特征值形状:\n",x_train.shape)
print("测试集的特征值形状:\n",x_test.shape)