sklearn基础应用和机器学习流程概览

众所周知sklearn是一个机器学习的集大成框架

机器学习的流程

1.获取数据,没数据肯定没法学习

from sklearn import datasets
import numpy as np
import pandas as pd
#从数据里面看这就是一个分类的问题,因为答案只有0,1,2三个,一般机器学习不能识别字符之类的,用0,1,2表示三个数据
#比如判断是否是一个女神,可以从大量的脸部数据,身材数据进行判断,那么需要的是答案,0不是女神,1是女神
#脸部和身材数据肯定也有特征,比如三围,胸围,腰围,臀围,那么这三个值就是一个特征,而具体数值就是数据,0,1就是答案代表是否美女
iris = datasets.load_iris() #获取数据,特征和答案
datas =  iris['data']         #获取数据
target = iris['target']       #获取答案
feature = iris['feature_names'] #获取特征
print(feature)              #看一下特征
print(feature.count)        #看一下特征的数目
print(datas)                #看一下具体数据
print(datas.shape)          #看一下数据的纬度
print(target)               #看一下答案
print(target.shape)         #看一下有多少答案

2.获取完数据,进行数据拆分,因为不可能都给机器学,总还得留点练习题

d_train,d_test,t_train,t_test = train_test_split(datas,target,test_size=0.2)   #test_size为拆分比例,具体多少用来训练,多少用来测试,这是训练0.8测试0.2
print(d_train.shape)

3.数据的预处理,压缩

#练习集压缩
scaler1 = preprocessing.StandardScaler().fit(d_train) #创建一个幅度缩放的对象
d_train = scaler1.transform(d_train)    #进行幅度缩放,就是把所有数据压缩到很小,【-3:3】大概这个范围
print(d_train)
#同样测试集也需要同样操作
scaler2 = preprocessing.StandardScaler().fit(d_test)
d_test = scaler1.transform(d_test)
4.创建模型开始训练,模型是根据项目需求来的,这就是一个k临近分类算法
m_n = neighbors.KNeighborsClassifier(n_neighbors=5)
m_n.fit(d_train,t_train)

5.测试完成得到正确率

#测试一下训练的咋样
y_result = m_n.predict(d_test)
res = y_result == t_test   #用预测结果和实际结果比较
print(res)
right_rate = sum(y_result)/t_test.shape[0]   #求正确率
print(right_rate)   #还可以,有0.87

再贴下完整的代码,略微有点改进,以完整代码为准

from sklearn import datasets,preprocessing,neighbors
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from  sklearn.metrics import accuracy_score
import numpy as np
import pandas as pd
#从数据里面看这就是一个分类的问题,因为答案只有0,1,2三个,一般机器学习不能识别字符之类的,用0,1,2表示三个数据
#比如判断是否是一个女神,可以从大量的脸部数据,身材数据进行判断,那么需要的是答案,0不是女神,1是女神
#脸部和身材数据肯定也有特征,比如三围,胸围,腰围,臀围,那么这三个值就是一个特征,而具体数值就是数据,0,1就是答案代表是否美女
iris = datasets.load_iris() #获取数据,特征和答案
datas =  iris['data']         #获取数据
target = iris['target']       #获取答案
feature = iris['feature_names'] #获取特征
# print(feature)              #看一下特征
# print(feature.count)        #看一下特征的数目
# print(datas)                #看一下具体数据
# print(datas.shape)          #看一下数据的纬度
# print(target)               #看一下答案
# print(target.shape)         #看一下有多少答案
#数据拿到后进行训练集,测试集拆分
d_train,d_test,t_train,t_test = train_test_split(datas,target,test_size=0.2)   #test_size为拆分比例,具体多少用来训练,多少用来测试,这是训练0.8测试0.2
# print(d_train.shape)
#数据压缩
#练习集压缩
scaler1 = preprocessing.StandardScaler().fit(d_train) #创建一个幅度缩放的对象
d_train = scaler1.transform(d_train)    #进行幅度缩放,就是把所有数据压缩到很小,【-3:3】大概这个范围,为毛要这么干我也不太清楚
print(d_train)
#同样测试集也需要同样操作
scaler2 = preprocessing.StandardScaler().fit(d_test)
d_test = scaler1.transform(d_test)
#创建模型,开始训练
m_n = neighbors.KNeighborsClassifier(n_neighbors=5)
m_n.fit(d_train,t_train)
#训练完毕
#测试一下训练的咋样
def get_rr(obj):
    y_result = obj.predict(d_test)
    res = y_result == t_test   #用预测结果和实际结果比较
    print(accuracy_score(y_result,t_test))
get_rr(m_n)
#分类问题有很多模型,比如还可以用决策树分类算法
d_tree = DecisionTreeClassifier(max_depth=2) #创建一个决策树模型,详细属性看决策树算法
d_tree.fit(d_train,t_train)
#训练完毕
get_rr(d_tree)

明白流程和sklearn的一些基础用法就行,




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值