Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」监督学习下的分类模型,主要运用sklearn实践kNN分类器kNN分类器决策树决策树朴素贝叶斯朴素贝叶斯实战一:预测股市涨跌实战一:预测股市涨跌实战二:通过运动传感器采集的数据分析运

大家好,又见面了,我是你们的朋友全栈君。

  • 监督学习下的分类模型,主要运用sklearn实践
  • kNN分类器

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

 

Python机器学习-分类「建议收藏」

  • 决策树

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

  • 朴素贝叶斯

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

Python机器学习-分类「建议收藏」

 Python机器学习-分类「建议收藏」

 

  •  实战一:预测股市涨跌

# -*- coding: utf-8 -*-
"""
Created on Mon Aug 28 15:42:55 2017

@author: Administrator
"""

# unit4 classify

#数据介绍:
#网易财经上获得的上证指数的历史数据,爬取了20年的上证指数数据。
#实验目的:
#根据给出当前时间前150天的历史数据,预测当天上证指数的涨跌。

import pandas as pd
import numpy as np
from sklearn import svm
from sklearn import cross_validation

fpath='F:\RANJIEWEN\MachineLearning\Python机器学习实战_mooc\data\classify\stock\
# -*- coding: utf-8 -*- """ Created on Mon Aug 28 15:42:55 2017 @author: Administrator """ # unit4 classify #数据介绍: #网易财经上获得的上证指数的历史数据,爬取了20年的上证指数数据。 #实验目的: #根据给出当前时间前150天的历史数据,预测当天上证指数的涨跌。 import pandas as pd import numpy as np from sklearn import svm from sklearn import cross_validation fpath='F:\RANJIEWEN\MachineLearning\Python机器学习实战_mooc\data\classify\stock\\000777.csv' data=pd.read_csv(fpath,encoding='gbk',parse_dates=[0],index_col=0) data.sort_index(0,ascending=True,inplace=True) dayfeature=150 featurenum=5*dayfeature x=np.zeros((data.shape[0]-dayfeature,featurenum+1)) y=np.zeros((data.shape[0]-dayfeature)) for i in range(0,data.shape[0]-dayfeature): x[i,0:featurenum]=np.array(data[i:i+dayfeature] \ [[u'收盘价',u'最高价',u'最低价',u'开盘价',u'成交量']]).reshape((1,featurenum)) x[i,featurenum]=data.ix[i+dayfeature][u'开盘价'] for i in range(0,data.shape[0]-dayfeature): if data.ix[i+dayfeature][u'收盘价']>=data.ix[i+dayfeature][u'开盘价']: y[i]=1 else: y[i]=0 clf=svm.SVC(kernel='rbf') result = [] for i in range(5): x_train, x_test, y_train, y_test = \ cross_validation.train_test_split(x, y, test_size = 0.2) clf.fit(x_train, y_train) result.append(np.mean(y_test == clf.predict(x_test))) print("svm classifier accuacy:") print(result)
0777.csv
' data=pd.read_csv(fpath,encoding='gbk',parse_dates=[0],index_col=0) data.sort_index(0,ascending=True,inplace=True) dayfeature=150 featurenum=5*dayfeature x=np.zeros((data.shape[0]-dayfeature,featurenum+1)) y=np.zeros((data.shape[0]-dayfeature)) for i in range(0,data.shape[0]-dayfeature): x[i,0:featurenum]=np.array(data[i:i+dayfeature] \ [[u'收盘价',u'最高价',u'最低价',u'开盘价',u'成交量']]).reshape((1,featurenum)) x[i,featurenum]=data.ix[i+dayfeature][u'开盘价'] for i in range(0,data.shape[0]-dayfeature): if data.ix[i+dayfeature][u'收盘价']>=data.ix[i+dayfeature][u'开盘价']: y[i]=1 else: y[i]=0 clf=svm.SVC(kernel='rbf') result = [] for i in range(5): x_train, x_test, y_train, y_test = \ cross_validation.train_test_split(x, y, test_size = 0.2) clf.fit(x_train, y_train) result.append(np.mean(y_test == clf.predict(x_test))) print("svm classifier accuacy:") print(result)
  • 实战二:通过运动传感器采集的数据分析运行状态

# -*- coding: utf-8 -*- """ Created on Mon Aug 28 19:41:21 2017 @author: Administrator """ ''' 现在收集了来自 A,B,C,D,E 5位用户的可穿戴设备上的传感器数据, 每位用户的数据集包含一个特征文件(a.feature)和一个标签文件 (a.label) 特征文件中每一行对应一个时刻的所有传感器数值,标签文件中每行记录了 和特征文件中对应时刻的标记过的用户姿态,两个文件的行数相同,相同行 之间互相对应 标签文件内容如图所示,每一行代表与特征文件中对应行的用户姿态类别。 总共有0-24共25种身体姿态,如,无活动状态,坐态、跑态等。标签文件作为 训练集的标准参考准则,可以进行特征的监督学习。 假设现在出现了一个新用户,但我们只有传感器采集的数据,那么该如何得到 这个新用户的姿态呢? 或者对同一用户如果传感器采集了新的数据,怎么样根据新的数据判断当前 用户处于什么样的姿态呢? ''' import pandas as pd import numpy as np from sklearn.preprocessing import Imputer from sklearn.cross_validation import train_test_split from sklearn.metrics import classification_report from sklearn.neighbors import KNeighborsClassifier from sklearn.tree import DecisionTreeClassifier from sklearn.naive_bayes import GaussianNB def load_datasets(feature_paths,label_paths): feature=np.ndarray(shape=(0,41)) label=np.ndarray(shape=(0,1)) for file in feature_paths: df=pd.read_table(file,delimiter=',',na_values='?',header=None) imp=Imputer(missing_values='NaN',strategy='mean',axis=0) imp.fit(df) df=imp.transform(df) feature=np.concatenate((feature,df)) for file in label_paths: df=pd.read_table(file,header=None) label=np.concatenate((label,df)) label=np.ravel(label) return feature,label if __name__ == '__main__': ''' 数据路径 ''' fpath='F:/RANJIEWEN/MachineLearning/Python机器学习实战_mooc/data/classify/dataset/' featurePaths = [fpath+'A/A.feature',fpath+'B/B.feature',fpath+'C/C.feature',fpath+'D/D.feature',fpath+'E/E.feature'] labelPaths = [fpath+'A/A.label',fpath+'B/B.label',fpath+'C/C.label',fpath+'D/D.label',fpath+'E/E.label'] ''' 读入数据 ''' x_train,y_train = load_datasets(featurePaths[:4],labelPaths[:4]) x_test,y_test = load_datasets(featurePaths[4:],labelPaths[4:]) x_train, x_, y_train, y_ = train_test_split(x_train, y_train, test_size = 0.0) print('Start training knn') knn = KNeighborsClassifier().fit(x_train, y_train) print('Training done') answer_knn = knn.predict(x_test) print('Prediction done') print('Start training DT') dt = DecisionTreeClassifier().fit(x_train, y_train) print('Training done') answer_dt = dt.predict(x_test) print('Prediction done') print('Start training Bayes') gnb = GaussianNB().fit(x_train, y_train) print('Training done') answer_gnb = gnb.predict(x_test) print('Prediction done') print('\n\nThe classification report for knn:') print(classification_report(y_test, answer_knn)) print('\n\nThe classification report for DT:') print(classification_report(y_test, answer_dt)) print('\n\nThe classification report for Bayes:') print(classification_report(y_test, answer_gnb))
  • result

Python机器学习-分类「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156059.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 什么叫大数据 大数据的概念

    什么叫大数据 大数据的概念1、大数据定义 对于“大数据”(Bigdata)研究机构Gartner给出了定义,“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工

  • 阿里-中间件团队博客「建议收藏」

    阿里-中间件团队博客「建议收藏」阿里中间件团队博客地址:http://jm.taobao.org/截至2019-03-15日已发布的博客列表:2017双11专题10 2018广东云栖大会1 ACM3 AHAS1 APM1 ARMS8 AlibabaCloudToolkit1 Aliware1 ApacheRocketMQ1 BCP1 CNCF1 Docker1 Dubbo10 Dubbo…

  • 需求规格说明书是给谁看的(需求规格说明书是谁写的)

    写在前面如果你明确清晰知道需求规格说明书是什么,则可以忽略此文章。如果你不清晰,建议还是阅读一下本文,不然也许早晚会碰钉子。转载请标明出处:http://blog.csdn.net/ouyida3/article/details/46045261本文出自:【ouyida3的博客】起因最近在做项目时,根据项目计划,在用户输出了《需求书》后,需要我在2天编写出《需求规格说明书》,但是就这个说明

  • 2022 pycharm 激活码【2022最新】2022.03.10

    (2022 pycharm 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1…

  • 《架构之美》笔记_印象笔记如何创建目录

    《架构之美》笔记_印象笔记如何创建目录美是创造矛盾并解决矛盾。架构的多关注点(例如业务逻辑、系统扩展性、持久、并发)和简洁性就是一种矛盾,美丽的架构能解决这种矛盾,使人内心产生愉悦;随着关注点的增加,架构也在不断演进;术:分层、组件化、服务化、标准化、缓存、分离、队列、复制、冗余、代理;道:如何恰到好处地使用术,例如顿悟变化的道理、博弈中寻找平衡、相对与绝对的奥秘、开放的心态;爱因斯坦说:『让它尽可能简单,但不要过于简单』,美

  • 在总线周期的t1,t2,t3,t4状态,cpu_计算机组成原理总线带宽怎么算

    在总线周期的t1,t2,t3,t4状态,cpu_计算机组成原理总线带宽怎么算大家好,我是小黄鸭,又来更新了,应小伙伴的需要,该实验也过了。实验所用的软件资源/测试电路也全部开放,地址在MOOC中国大学为:https://www.icourse163.org/learn/HUST-1205809816#/learn/announce附带实验测试,地址在Educode上为:https://www.educoder.net/shixuns/ckff6yv9/challenges光是给的Excel自生成电路表格就上了7个,再加上密密麻麻的电路图,各自安好吧整体框架该实验

    2022年10月13日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号