| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 使用sklearn.linear_model.SGDClassifier增量模型进行学习的记录 -> 正文阅读 |
|
[人工智能]使用sklearn.linear_model.SGDClassifier增量模型进行学习的记录 |
数据集下载链接是Human Activity Recognition Using Smartphones ? train、test文件夹中分别包含训练和测试的文件,这里使用train中的数据进行增量学习模型,test中的数据用来测试 import numpy as np from sklearn.linear_model import SGDClassifier import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei']? # 指定默认字体 plt.rcParams['axes.unicode_minus'] = False? # 解决保存图像是负号'-'显示为方块的问题 x_train=[] f=open(r'./X_train.txt','r') for i in f.readlines(): ??? i=i.strip() ??? temp=i.split(' ') ??? while '' in temp: ??????? temp.remove('') ??? x_train.append(temp) f.close() x_train=np.array(x_train) x_test=[] f=open(r'./X_test.txt','r') for i in f.readlines(): ??? i=i.strip() ??? temp=i.split(' ') ??? while '' in temp: ??????? temp.remove('') ??? x_test.append(temp) f.close() x_test=np.array(x_test) y_train=[] f = open(r'./y_train.txt', 'r') for i in f.readlines(): ??? i = i.strip() ??? y_train.append(i) f.close() y_test=[] f = open(r'./y_test.txt', 'r') for i in f.readlines(): ??? i = i.strip() ??? y_test.append(i) f.close() print(x_train.shape,end=' ') print(x_test.shape,end=' ') print(len(y_train),len(y_test),set(y_train+y_test)) 输出结果为: (7352, 561) (2947, 561) 7352 2947 {'4', '5', '3', '1', '2', '6'} 开始增量训练: x_train=x_train.astype(np.float32) x_test=x_test.astype(np.float32) classes=np.unique(y_train+y_test) interval=100 start=0 sgd_clf = SGDClassifier() x_axis=[] y_axis=[] for i in np.arange(1,(x_train.shape[0]//interval+1),1): ??? end=min([i*interval,x_train.shape[0]]) ??? X=x_train[start:end] ??? Y=y_train[start:end] ??? sgd_clf.partial_fit(X,Y,classes=classes) # ??? start=end ??? # print("{} time".format(i))? # 当前次数 ??? score=sgd_clf.score(x_test, y_test) ??? # print("{} score".format(score))? # 在测试集上看效果 ??? x_axis.append(i) ??? y_axis.append(score) 0.3505259586019681 score 绘制迭代次数-score图: plt.figure() plt.plot(x_axis,y_axis) plt.xlabel('迭代的次数') plt.ylabel('score') plt.tight_layout() plt.savefig('./score.png',bbox_inches='tight') plt.show()
参考内容: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 10:39:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |