网站的建设的公司出名,wordpress 模板层级,大型房产网站模板,温州网站维护工作Sklearn学习-逻辑回归#xff08;iris数据集#xff09; 使用load_iris加载数据集#xff0c;查看包含的keys查看数据的列名#xff0c;分类目标的名称获取data和target#xff0c;并打印各自的shape拆分训练集和测试集使用逻辑回归训练。在测试集上计算准确率在测试集上实… Sklearn学习-逻辑回归iris数据集 使用load_iris加载数据集查看包含的keys查看数据的列名分类目标的名称获取data和target并打印各自的shape拆分训练集和测试集使用逻辑回归训练。在测试集上计算准确率在测试集上实现预测输出和理解混淆矩阵输出和理解分类报告 使用load_iris加载数据集查看包含的keys 知识点 sklearn的数据集在datasets模块自带的数据集以load_开头 加载的iris数据集是可以字典类型使用 对应的Keys包含 [‘data’, ‘target’, ‘frame’, ‘target_names’, ‘DESCR’, ‘feature_names’, ‘filename’] from sklearn.datasets import load_iris# 1-load_iris加载数据集
iris load_iris()# 查看包含的keys
iris.keys()dict_keys([data, target, frame, target_names, DESCR, feature_names, filename])iris[filename]D:\\Anaconda3\\lib\\site-packages\\sklearn\\datasets\\data\\iris.csv查看数据的列名分类目标的名称 “feature_names”:表示数据data每列的特征值的名称 “target_names”:分类目标对应的名称 # 查看数据的列名分类目标的名称
iris[feature_names][sepal length (cm),sepal width (cm),petal length (cm),petal width (cm)]# DataFrame
import pandas as pdpd.DataFrame(datairis[data],columnsiris[feature_names])sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)05.13.51.40.214.93.01.40.224.73.21.30.234.63.11.50.245.03.61.40.2...............1456.73.05.22.31466.32.55.01.91476.53.05.22.01486.23.45.42.31495.93.05.11.8
获取data和target并打印各自的shape 通过字典的键值可以直接获取到对应的数据 data和target对应的数据类型是numpy的ndarry类型可以用shape获取其大小 # 分类目标的名称
iris[target_names]array([setosa, versicolor, virginica], dtypeU10)# 获取data和target并打印各自的shapedata iris[data]
print(type(data),data.shape)
target iris[target]
print(type(target),target.shape)class numpy.ndarray (150, 4)
class numpy.ndarray (150,)拆分训练集和测试集 在model_selection模块中使用train_test_split对数据集进行训练集和测试集的划分 from sklearn.model_selection import train_test_split第一个参数数据集
第二个参数目标集
第三个参数测试集所占比例data_train,data_test,target_train,target_test \
train_test_split(data,target,test_size0.3)data_train.shape(105, 4)使用逻辑回归训练。在测试集上计算准确率 使用模型linear_modeld的LogisticRegression 步骤 导入模块linear_modeld.LogisticRegression初始化模型 LogisticRegression()训练fit()查看分数效果score() from sklearn.linear_model import LogisticRegressionmodel LogisticRegression(max_iter1000) # 定义最大迭代次数model.fit(data_train,target_train) # 进行训练LogisticRegression(max_iter1000)# 查看在训练集上评分
model.score(data_train,target_train)0.9619047619047619# 查看在测试集上的评分
model.score(data_test,target_test)0.9555555555555556在测试集上实现预测 预测使用模型提供的predict方法执行预测 LogisticRegression(max_iter1000)
target_predict model.predict(data_test)import pandas as pd
df pd.DataFrame(target_predict,columns[预测结果])df[实际结果] target_test
df.shape #(45, 2)输出和理解混淆矩阵 衡量预测结果的好坏 使用metrics.confusion_matrix from sklearn.metrics import confusion_matrix# 输出混淆矩阵
confusion_matrix(target_test,target_predict)array([[13, 0, 0],[ 0, 14, 1],[ 0, 1, 16]], dtypeint64)# 查看分类错误的数据
df.loc[df[实际结果]0]预测结果实际结果00020011001300180020002200250031003300390040004400
输出和理解分类报告
from sklearn.metrics import classification_report# 输出混淆矩阵
print(classification_report(target_test,target_predict,target_namesiris[target_names]))precision recall f1-score supportsetosa 1.00 1.00 1.00 13versicolor 0.93 0.93 0.93 15virginica 0.94 0.94 0.94 17accuracy 0.96 45macro avg 0.96 0.96 0.96 45
weighted avg 0.96 0.96 0.96 45