内容简介:Python + ?(带你尝甜点)前段时间咱们聊过一次 Python,不知道大家是否还有印象,再稍微提一提。
01. 聊啥
Python + ?(带你尝甜点)
前段时间咱们聊过一次 Python,不知道大家是否还有印象,再稍微提一提。
Python 是一种胶水语言,可以粘很多家伙,例如:Python + 网站开发、Python + 自动化测试、Python + 自动化运维、Python + AI、Python + 数据分析 ... ...
一眼看上去 Python 确实能干很多,但是掌握 Python 固然重要,往往最重要的还是如何掌握 Python + 后面的家伙,如果只会 Python,那么也就只能写点小工具,小打小闹、满足一下自己一时的求知欲而已。
AI 为业务赋能的实践(带你吃大餐)
从事金融的,尤其是做过金融风控的都知道,如果能提前定位贷款客户是否为坏客户?如果能提前预测贷款客户下个月还款是否会逾期?那么将会把风险降低,平台也止损。
面对诸如此类的业务场景,机器学习能做什么呢?其实近期我一直在摸索,用机器学习去解决业务场景,小有成果。下面简单总结一下摸索的过程,我自己也做个总结,同时也预防你们掉坑,顺道也给聪明的小白们,填补填补大脑认知的空白。
吃个核桃,坐稳,扶好,我们开始。
02. 开聊
站在高处看,一览无余
结合近期的亲自实践,简单画了个图,主要分五大步完成信贷逾期风控模型。
数据处理。 主要是获取完成信贷逾期风控模型,所需要的表对应的数据,实践中全部保存成 csv 文件;然后进行单个表数据清洗操作,去除重复、没有意义的字段,清洗完成后存储为一系列的 xx_clean.csv 文件。
数据合并。 主要是采用 python 提供的 pandas 来完成一系列的 xx_clean.csv 的 join 关联合并,形成一张数据表,存储为xx_merge.csv 文件,并针对关联之后的文件去除重复的字段。
特征处理。 这一步应该是最难的,因为需要靠经验值来筛选哪些字段进行参与模型训练,如果有经验的人士,筛选出特征字段,那么接下来就进行特征字段的缺失值、异常值处理;然后优先按照最优分箱进行数据分箱,如果最优的分的不够理想,那么就选择等距进行分箱( 看不懂没关系,下次再提这个词,知道在一猿小讲听过就算成功 )。
模型训练。 首先把数据按照三、七分成测试集、训练集,接着把数据集代入模型去训练,为了找出最优模型,实践的时候把所有模型都跑了一下。
模型评估。 针对模型跑出的结果进行评估,为了让产品以及 BOSS 一眼能看懂,采用 matplotlib.pyplot 进行画图。
用到了哪些技术
Pandas是 Python 的一个数据分析包。在项目中主要用于读写 csv 文件;两个DataFrame之间的合并、分组等等。其实用起来,类似 SQL 的操作,但是用起来超级简单,功能却比较强大、效果超级震撼。如果你有数据相关的操作,不妨拿去一用。
Sklearn是机器学习中常用的第三方模块,对常用的机器学习方法进行了高级封装,能够让我们跳出数学的梦魇进行机器学习实践,大家都可以选择它作为入门的跳板。
NumPy是 Python 语言的一个扩展程序库,提供强大的N维数组及相关操作的库。
Matplotlib是 Python 的绘图库,可以说分分钟画出高大尚的图,让你的实现结果不单调,更直观的分析。如果你平时有画图的场景需求,不妨也尝试一下,因为之前的监控项目也是用这个画的,确实也很强大的。
如果上面的都没有看懂,也没有跟上,一切都没有关系,因为下面我将带你们一起“入门”机器学习。 一切技术栈都是纸老虎,而打破纸老虎的方式莫过于亲身实践。
03. 鸢尾花, 带你迈入机器学习之门
“鸢” 这个字怎么读( )?
鸢尾花可以被分为 setosa、versicolor、virginica 三个品种,现在跟着我的思路,一步一步来实现:输入特定数据判定花是属于哪一类。
第一步: 获取数据
from sklearn.datasets import load_iris
iris_data = load_iris()
第二步: 拆分数据集
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(iris_data['data'],iris_data['target'], random_state=0)
第三步: 构建模型
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(x_train, y_train)
第四步: 模型训练评估,输出准确率
y_pred = knn.predict(x_test)
print("准确率为: {:.2f}".format(knn.score(x_test, y_test)))
输出结果为:
准确率为: 0.97
第五步: 预测,四个数据分别代表:花萼长度、宽度,花瓣长度、宽度
newIRIS = [[4,1.0,2,1.0]]
pred = knn.predict(newIRIS)
print("花的品种为: {}".format(iris_data['target_names'][pred]))
预测结果为:
花的品种为: ['setosa']
到这,你们也一只脚迈进了机器学习的门槛,也不再是小白啦。
其实细心的你们可以发现,python 代码其实很简练,其实代码也不复杂,主要都是类库的使用,所以一切技术都是纸老虎,你们莫怕莫怕。
04. 写在最后
技术用啥语言实现不重要,重要的是思想、重要的是思想、重要的是思想(重要的事说三遍)。
还是那句话:技术不要逐个深入,但是要了解。尤其是从事技术管理者,在决策技术实现方案的时候肯定会有大帮助。
如果你是 python 小白,也不用惧怕,偶尔跳出日常忙碌的系统,站在系统之外,了解一下新思想,也未尝不可。
最后如果你也从事相关的工作,不妨按照实现思路落地一下,说不定领导会很喜欢,升职加薪指日可待。
人工智能时代,终身学习也是必然的,只要不停下学习的脚步,只要勤浇水,梦想终会长大。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 机器学习业务实践之路:如何通过机器学习算法快速解决实际业务
- 中台之上(一):重视业务架构,不要让“业务的归业务、技术的归技术”
- 小程序多业务线融合【完整分包业务接入】
- 抱歉,请不要把 “业务逻辑层” 理解为 “业务中台”
- 入职一家大公司,应该选择新业务还是老业务?
- 业务稳定性守门员:有赞业务对账平台的探索与实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
突破——程序员如何练就领导力
刘朋 / 电子工业出版社 / 2018-8-31 / 55.00元
内容简介: 在今日中国如雨后春笋般出现的各种新兴的互联网和软件公司中,有越来越多的技术达人凭借在技术上的优异表现而被晋升为技术团队的管理者和领导者。然而,从技术到管理——从单枪匹马的个人贡献者到一呼百应的技术团队领导者——注定是“惊险的一跃”。对于刚走上技术团队管理岗位的技术专家,你一定遇到过和本书作者当年一样的各种困惑和不适“症状”: ——我能处理好人“机”关系,但是如何处理好人际关......一起来看看 《突破——程序员如何练就领导力》 这本书的介绍吧!