分类学习####

分类算法各有不同

knn

naivebyes

regression

dnn

sklearn.linear_modlel 线性函数

sklearn.preprocessing 非线性函数

分类##

基本分类模型###

knn####

sklearn.neighbors.KNeighborsClassifier

n_neighbors

weights 设置选择k个点对分类效果的影响权重

uniform,distance

algothrim 计算临近点的方法 ball_tree kd_tree brute auto

...

  • 实例介绍

    neigh=KNeightborsClassifier(neigh)

    neigh.fit(X,y)

    neigh.predict([[1.1]])

决策树####

构造好的分类决策树

sklearn.tree.DecisionTreeClassifier

criterion : 用于选择属性的准侧,可以传入gini代表基尼系数,entropy代表信息增益

max_features: 表示节点分裂时,从所少个特征中选择最优特征,可以设定固定数木,百分比,或其他个数,默认是所有特征

人体姿态预测###

这个数据集好偏啊,运行效果并不好。

# -*- coding: utf-8 -*-
"""
Created on Wed May 24 17:41:04 2017 @author: sfzyk
"""
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.preprocessing import Imputer
from sklearn.model_selection 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
import os def load_dataset(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 是一个Imputer实例 用于预处理数据
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__': os.chdir(r"D:\mechine_learning\mooc_data\bodydata")
feature_paths=['A.feature','B.feature','C.feature','D.feature','E.feature',] #label_paths=['A.label','B.label','C.label']
#x_train,y_train=load_dataset(feature_paths[:2],label_paths[:2])
#x_test,y_test=load_dataset(feature_paths[2:],label_paths[2:])
label_paths=['A.label','B.label','C.label','D.label','E.label',]
x_train,y_train=load_dataset(feature_paths[:4],label_paths[:4])
x_test,y_test=load_dataset(feature_paths[4:],label_paths[4:])
x_train,x_,y_train,y_=train_test_split(x_train,y_train,test_size=0.0) '''
mask=np.random.permutation(x_test.shape[0])[0:10000]
x_test=x_test[mask,:]
y_test=y_test[mask]
x_train,y_train=x_train[0:100000,:],y_train[0:100000]
''' #只是随机打乱
'''
print("Start training knn")
knn=KNeighborsClassifier(algorithm='kd_tree')
knn.fit(x_train,y_train,)
print("begin predic")
answer_knn=knn.predict(x_test)
print("knn are done") print("DT are training")
DT=DecisionTreeClassifier()
DT.fit(x_train,y_train)
print("begin predic")
answer_DT=DT.predict(x_test)
print("DT are done") print("naive bayes are training")
nb=GaussianNB()
nb.fit(x_train,y_train)
print("begin predic")
answer_nb=nb.predict(x_test)
print("naive nb are done!")
print("knn")
print(classification_report(y_test,answer_knn)) print("DT")
print(classification_report(y_test,answer_DT)) print("nb")
print(classification_report(y_test,answer_nb))
'''

股票涨跌预测###

也是一个效果微乎其微的预测

就算只是预测单天是涨是跌,也只能做到53%左右的准确度。

# -*- coding: utf-8 -*-
"""
Created on Fri May 26 18:59:17 2017 @author: sfzyk
"""
import pandas as pd
import numpy as np
from sklearn import svm
from sklearn import cross_validation
import os
os.chdir("D:\mechine_learning\mooc_data\stock") data=pd.read_csv("000777.csv",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][['收盘价','最低价','最高价','开盘价','成交量']]).reshape((1,featurenum))
x[i,featurenum]=data.ix[i+dayfeature]['开盘价'] for i in range(0,data.shape[0]-dayfeature):
if data.ix[i+dayfeature]['收盘价']>=data.ix[i+dayfeature]['开盘价']:
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)))

第二周<导学/分类>的更多相关文章

  1. 第二周<线性回归>

    可行性分析 略 sklearn.linear_model.linear_regression() 一些参数 fit_intercept 布尔型参数,表示是否计算该模型的截距 normalize 布尔型 ...

  2. Surprise团队第二周项目总结

    Surprise团队第二周项目总结 项目进展 已实现五子棋人人模式部分 人人模式: 基本方式:采取黑棋先行,黑白交替的下棋顺序. 模式:通过鼠标点击相应棋盘中的"交叉点",在lay ...

  3. python课程第二周重点记录

    python课程第二周重点记录 1.元组的元素不可被修改,元组的元素的元素可以被修改(字典在元组中,字典的值可以被修改) 2.个人感觉方便做加密解密 3.一些方法的使用 sb = "name ...

  4. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  5. 20145304 刘钦令 Java程序设计第二周学习总结

    20145304 <Java程序设计>第2周学习总结 教材学习内容总结 java可区分基本类型和类类型(即参考类型)两大类型系统. 基本类型主要可区分为整数.字节.浮点数.字符与布尔. 整 ...

  6. 20145330孙文馨 《Java程序设计》第二周学习总结

    20145330孙文馨第二周学习总结 第二周相比于第一周对java语言有了深一点的了解,也意识到多敲代码才是学习计算机语言的最好方法. 教材内容总结 类型.变量与运算符 *基本类型 整数(short. ...

  7. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  8. Linux内核设计第二周——操作系统工作原理

    Linux内核设计第二周 ——操作系统工作原理 作者:宋宸宁(20135315) 一.实验过程 图1 执行效果 从图中可以看出,每执行my_ start_ kernel函数两次或一次,my_ time ...

  9. 20169212《Linux内核原理与分析》第二周作业

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

  10. 20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)

    第三周学习笔记 学习计时:共8小时 读书:1 代码:5 作业:1 博客:7 一.学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 ...

随机推荐

  1. 5行代码怎么实现Hadoop的WordCount?

    初学编程的人,都知道hello world的含义,当你第一次从控制台里打印出了hello world,就意味着,你已经开始步入了编程的大千世界,这和第一个吃螃蟹的人的意义有点类似,虽然这样比喻并不恰当 ...

  2. [POI2017]Sabota【观察+树形Dp】

    Online Judge:Bzoj4726 Label:观察,树形Dp,水题 题目描述 某个公司有n个人, 上下级关系构成了一个有根树.公司中出了个叛徒(这个人不知道是谁). 对于一个人, 如果他下属 ...

  3. Linux实现自动登录

    使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: #!/usr/b ...

  4. c++ stream操作杂记

    包含简单的读写文件,供初学者入门,stream目前包含三种,终端,文件,内存,注意宽字节. ) ; ) ; ] ; } pasting

  5. CentOS 6.5 usb安装

    我只说一下将CentOS安装作为服务器的情况,但是适用于普遍的CentOS安装过程,首先下载CentOS的安装镜像文件,有这么几种:CentOS-6.5-x86_64-LiveCD.CentOS-6. ...

  6. python-基础-面向对象2-异常-模块工厂模式

    1 工厂模式和单例模式 1简单工厂模式 1.1.使用函数实现 # 定义伊兰特车类 class YilanteCar(object): # 定义车的方法 def move(self): print(&q ...

  7. --1.plsql中学习job

    --1.plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job val ...

  8. 数字统计类题目的非数位DP解法

    ZJOI2010 数字统计 上题题意为求[l,r]区间中每个数字(0~9)出现的次数 一般的做法为将区间当成[0,r]-[0,l-1],然后进行数位DP 但事实上将区间当成[0,r]-[0,l-1]后 ...

  9. 使用Python的requests库作接口测试——请求对象与响应对象

    任何时候调用requests.*()操作接口时,我们都在做两件事情: 1.构建一个Request对象,该对象被发送到服务器去请求或查询一些资源: 2.一旦requests得到一个从服务器返回的响应,就 ...

  10. apk反编译(6)用ProGuard 混淆、压缩代码,压缩资源。

    1.android官方文档 https://developer.android.com/studio/build/shrink-code  主要内容如下: 1.1 压缩代码 混淆生成的文件:<m ...