## 基础函数库 import numpy as np ## 导入画图库 import matplotlib.pyplot as plt import seaborn as sns ## 导入逻辑回归模型函数 from sklearn.linear_model import LogisticRegression 123456789
鸢尾花的各个特征如下表所示:
##我们利用sklearn中自带的iris数据作为数据载入,并利用Pandas转化为DataFrame格式 from sklearn.datasets import load_iris data = load_iris() #得到数据特征 iris_target = data.target #得到数据对应的标签 iris_features = pd.DataFrame(data=data.data, columns=data.feature_names) #利用Pandas转化为DataFrame格式 ##利用.info()查看数据的整体信息 iris_features.info(); 1234567
Out:
RangeIndex: 150 entries, 0 to 149
Data columns (total 4 columns):
Column Non-Null Count Dtype
0 sepal length (cm) 150 non-null float64
1 sepal width (cm) 150 non-null float64
2 petal length (cm) 150 non-null float64
3 petal width (cm) 150 non-null float64
dtypes: float64(4)
memory usage: 4.8 KB
##对于特征进行一些统计描述 iris_features.describe() 123
iris_all = iris_features.copy() ##进行深拷贝,防止对于原始数据的修改
iris_all[‘target’] = iris_target
sns.pairplot(data=iris_all,diag_kind=‘hist’, hue= ‘target’)
plt.show()
从上图可以发现,在2D情况下不同的特征组合对于不同类别的花的散点分布,以及大概的区分能力。
##为了正确评估模型性能,将数据划分为训练集和测试集,并在训练集上训练模型,在测试集上验证模型性能。 from sklearn.model_selection import train_test_split ##选择其类别为0和1的样本(不包括类别为2的样本) iris_features_part123