# 【Python机器学习】实验04 多分类实践(基于逻辑回归)2

#### 1.6 评估模型

np.argmax(multi_pred.values,axis=1)==data_y.ravel()
array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True, False,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True, False, False,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True, False,  True,  True,  True, False,  True,
True,  True,  True,  True,  True,  True,  True,  True,  True,
True,  True,  True,  True,  True,  True])

np.sum(np.argmax(multi_pred.values,axis=1)==data_y.ravel())
145
np.sum(np.argmax(multi_pred.values,axis=1)==data_y.ravel())/len(data)
0.9666666666666667

#### 1.7 试试sklearn

from sklearn.linear_model import LogisticRegression
#建立第一个模型
clf1=LogisticRegression()
clf1.fit(data1_x,data1_y)
#建立第二个模型
clf2=LogisticRegression()
clf2.fit(data2_x,data2_y)
#建立第三个模型
clf3=LogisticRegression()
clf3.fit(data3_x,data3_y)

LogisticRegression()
y_pred1=clf1.predict(data_x)
y_pred2=clf2.predict(data_x)
y_pred3=clf3.predict(data_x)
#可视化各模型的预测结果
multi_pred=pd.DataFrame(zip(y_pred1,y_pred2,y_pred3),columns=["模型1","模糊2","模型3"])
multi_pred

 模型1 模糊2 模型3
 0 1 0 0 1 1 0 0 2 1 0 0 3 1 0 0 4 1 0 0 ... ... ... ... 145 0 0 1 146 0 1 1 147 0 0 1 148 0 0 1 149 0 0 1

150 rows × 3 columns

#判断预测结果
np.argmax(multi_pred.values,axis=1)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,
0, 1, 1, 1, 2, 0, 1, 1, 0, 0, 0, 2, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1,
0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2,
2, 2, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2,
2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2], dtype=int64)

data_y.ravel()

array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])

#计算准确率
np.sum(np.argmax(multi_pred.values,axis=1)==data_y.ravel())/data.shape[0]
0.7333333333333333

### 实验：请动手完成你们第一个多分类问题，祝好运！完成下面代码

#### 1. 数据读取

data_x,data_y=datasets.make_blobs(n_samples=200, n_features=6,  centers=4,random_state=0)
data_x.shape,data_y.shape
((200, 6), (200,))

|
21天前
|

【人工智能】机器学习、分类问题和逻辑回归的基本概念、步骤、特点以及多分类问题的处理方法

19 1
|
28天前
|

【python】python化妆品销售logistic逻辑回归预测分析可视化（源码+课程论文+数据集）【独一无二】
【python】python化妆品销售logistic逻辑回归预测分析可视化（源码+课程论文+数据集）【独一无二】
25 1
|
1月前
|

【机器学习】简单解释贝叶斯公式和朴素贝叶斯分类？(面试回答)

45 1
|
11天前
|

19 0
|
16天前
|

10 0
|
27天前
|

【python】python心理健康医学数据分析与逻辑回归预测（源码+数据集+论文）【独一无二】
【python】python心理健康医学数据分析与逻辑回归预测（源码+数据集+论文）【独一无二】
38 0
|
1月前
|

【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–4 机器学习LGB 方案

21 0
|
2月前
|

Python基于逻辑回归模型进行电影评论情感分析项目实战
Python基于逻辑回归模型进行电影评论情感分析项目实战
40 1
|
2月前
|

Keras是一个高层神经网络API，由Python编写，并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验，能够用最少的代码实现想法，并且能够方便地在CPU和GPU上运行。
Keras是一个高层神经网络API，由Python编写，并能够在TensorFlow、Theano或CNTK之上运行。Keras的设计初衷是支持快速实验，能够用最少的代码实现想法，并且能够方便地在CPU和GPU上运行。
44 0
|
3月前
|

【6月更文挑战第28天】在机器学习项目中，选择算法涉及问题类型识别（如回归、分类、聚类、强化学习）、数据规模与特性（大数据可能适合分布式算法或深度学习）、性能需求（准确性、速度、可解释性）、资源限制（计算与内存）、领域知识应用以及实验验证（交叉验证、模型比较）。迭代过程包括数据探索、模型构建、评估和优化，结合业务需求进行决策。
38 0

DDNS