夜曲编程的python坑

Python017

夜曲编程的python坑,第1张

不坑。

夜曲编程就初学者入门而言是很不错的,主要有几个优势:课程设计:总体设计由浅入深,学习路径清晰,容易坚持。采用的是卡片模式,每日学习一课,只需花费20来分钟。且页面自带记忆卡片,复杂概念简单化。

偶然在网上发现了夜曲编程这个软件。试着跟着学了一下,先是学习的免费课程。第一次学习的时候,这个教程惊艳了我。首先,夜曲编程的教程都是图文形式的教程,交互式的教学方法让学习的效率有了很大的提高。夜曲编程出自百词斩旗下,它通过卡片的形式将一些编程的知识点放入其中,一定程度上可以增进编程的学习效果。

python是什么编程的高级语言?

Python是一种面相对象、解释型的计算机程序语言,并已成为学习数据科学、虚拟现实和人工智能的首选编程语言,其设计哲学是“优雅”,“明确”,“简单”。易上手,及时反馈的特点成了很多入门编程世界的首选。同时Python也是一种相当高级的语言,拥有丰富和强大的第三库,可引用各种模块并很轻松的连接在一起。众多社交网站如Reddit, 豆瓣,知乎,Dropbox, YouTube,果壳等都是由Python完成。

最初对python的印象是在纪录片《互联网之子》中Aaron Swartz从MIT的图书馆截取的那些文件资料用的程序就是用python写的,当时对python心生荡漾,但很快就灰飞烟灭,因为没有后续联接和交集。

个把月前我看到一个python基础班,当时还不知道Python是什么样的编程语言(即使到现在也还不完全了解Python具体可以做啥),从哪里来要去哪里,完全不了解的情况下按了报名键。我自认为的优点是尽力为自己的行为买单,且只能是默默的,不可让一时冲动太声张,也不能恬不知耻的说那是epiphany,而是尽量去探询已成事实的一二。

培训班不上课,没有讲义和资料,只分配任务和引导卡片,刚开始也会心有戚戚焉,在白纸上乱画我还得知道怎么握笔呢,可是在键盘上乱敲肯定不会有惊喜,错误提示都看不懂,别说去修Bug。程序装了卸,卸了装,操作也是胡乱使用添加,电脑最终无法忍受这样的主就自动瘫痪装死,只得我重装系统又如获新生,也算如实贯彻了打小的信念“生命在于折腾”。厚着脸皮长大的人是天生被上帝眷顾着的,基本不会心生‘不好意思’的念头,不懂就问同学嘛!一个不行换另一个,哪怕被认为问了“愚蠢”的问题。匍匐着向前,只要方向对了,那也是进步吧!

就像学外语着得把身处周围的环境变量调整过来,让自己置身在那个世界中去感受和徜徉,身上细胞的张合大小,呼吸的进出频率也慢慢跟上节奏。除了Python本家,编译程序(Windows上我使用Atom, MAC使用TextWrangler)和运行终端(Windows PowerShell 或Terminal)外,接触最多的就是 Github, Google 还有新欢Markdown (MOU)。

——-Github 是世界上最大的代码存放网站和开源社区,副名是:最大的同性交友网站,因其界面设计很容易对号入座。尽管那原是Geek的天地,如今越来越多的其他门派弟子也加入其中,大家都带着灵敏的嗅觉,看哪好就往里钻。他是协作项目最好的实现平台,支持异地,不同电脑的项目更新,特别是不同动作之前的区别和个别动静的比较清晰可见,操作人性化。很多人在上面写书,协作翻译,项目管理、设计资料库、科研项目数据及个人简历都放上面,还有人把自己的健身记录也放上面。据说有公司招聘还需要看应聘者的github账号。最最重要的是一切都是免费,只要你想。(尽管有收费的,那是针对个别私人想要数据保密的公司)。之前在别处看到github这个词就当是熟悉的陌生人,熟悉“github"这6个字母组成的单词,但完全不知道那是什么样的世界。现只是轻轻推移了那扇门,门缝里漏出的光都觉足够耀眼并思忖着想探寻更多。

-——Google 本不需要多提,原来也是每天在使用。可Google貌似与Python有真感情,每次搜索打Python开头的关键字,出来的第一条结果往往就是正确答案且出自Google自家,比Python的官方文件还显情真意切。

-——Markdown 人称写作神奇,是我刻意关注并想收入囊中的工具,想让她陪伴着我写下去,目前还有待开发。

如他程序Python基本命令零容错,标点符号,大小字母,缩进都有严格的规定,更别提逻辑关系,循环迭代,有一处不对就报错。对小白来说修Bug的时间会比写程序的时间还长,修复一个bug,报出新的bug已经算是一种进步了。在编程时,若习惯了这些严苛的标准到不是非常难,错一次磕一下头,同一个错多犯几次,就多磕几次,即使擦破头皮反正不至于亡命天涯,总归能牢记于心。当从程序世界抽离自己回到现实世界,真感觉对待其他事是不是太随意了。至少我打这些文字的时候根本没注意“的”和“地”的区别,逗号和句号看心情而定,习惯了新段落前不空两格。工作中仔细的程度没法用尺衡量,也不会有程序直接报错,免不了能略就略,可以将就过去就不愿多费心思,短期可能没有意外,总归长久不了,埋下的地基是作为将来向上的支撑。自从学习编程以来,已开始反思,虽还没改进多少,可像颗钉子被扎着总觉不适,不时提醒自己。

作为一门高级语言,灵活性和包容性对第三方库有着无限的吸引力。据说C++用200行命令,Java的40行而Python只需20行可实现同样的功能。虽然基本命令的严苛像个固执的老学究,但若掌握了要领,成了武林高手,各种技巧灵活运用,自由发挥,盖世武功尽情发挥。只要有本事,任你翻云覆雨,去到‘风所到达的地方’。

Python的一大特点是代码只在命令运行时才会被检查执行,即使隐藏了错误,若没运行到,永远发现不了。很像身体或任何世间体制内的事,大家只关心呵护眼见为实,真实的隐藏只被激发时才被注意到。为了扫清后顾之忧,我们使用‘及时反馈’策略,就是码几行程序,马上print出来,看效果如何,而不是等敲完所有的程序,才发现一团乱麻却不知如何进行手术。这是平时学习很好借鉴的地方,走一段路得停一下检查是不是在正确的道上,一方面可及时调整姿态,重要的是用小小的可见成果作为的漫漫前方道路的鼓励。

如果我的回答对您有所帮助,记得点亮采纳哦,谢谢啦!

import pandas as pd

import numpy as np

from sklearn import linear_model

# 读取数据

sports = pd.read_csv(r'C:\Users\Administrator\Desktop\Run or Walk.csv')

# 提取出所有自变量名称

predictors = sports.columns[4:]

# 构建自变量矩阵

X = sports.ix[:,predictors]

# 提取y变量值

y = sports.activity

# 将数据集拆分为训练集和测试集

X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size = 0.25, random_state = 1234)

# 利用训练集建模

sklearn_logistic = linear_model.LogisticRegression()

sklearn_logistic.fit(X_train, y_train)

# 返回模型的各个参数

print(sklearn_logistic.intercept_, sklearn_logistic.coef_)

# 模型预测

sklearn_predict = sklearn_logistic.predict(X_test)

# 预测结果统计

pd.Series(sklearn_predict).value_counts()

-------------------------------------------------------------------------------------------------------------------------------------------

# 导入第三方模块

from sklearn import metrics

# 混淆矩阵

cm = metrics.confusion_matrix(y_test, sklearn_predict, labels = [0,1])

cm

Accuracy = metrics.scorer.accuracy_score(y_test, sklearn_predict)

Sensitivity = metrics.scorer.recall_score(y_test, sklearn_predict)

Specificity = metrics.scorer.recall_score(y_test, sklearn_predict, pos_label=0)

print('模型准确率为%.2f%%:' %(Accuracy*100))

print('正例覆盖率为%.2f%%' %(Sensitivity*100))

print('负例覆盖率为%.2f%%' %(Specificity*100))

-------------------------------------------------------------------------------------------------------------------------------------------

# 混淆矩阵的可视化

# 导入第三方模块

import seaborn as sns

import matplotlib.pyplot as plt

# 绘制热力图

sns.heatmap(cm, annot = True, fmt = '.2e',cmap = 'GnBu')

plt.show()

------------------------------------------------------------------------------------------------------------------------------------------

# 绘制ROC曲线

# 计算真正率和假正率

fpr,tpr,threshold = metrics.roc_curve(y_test, sm_y_probability)

# 计算auc的值 

roc_auc = metrics.auc(fpr,tpr)

# 绘制面积图

plt.stackplot(fpr, tpr, color='steelblue', alpha = 0.5, edgecolor = 'black')

# 添加边际线

plt.plot(fpr, tpr, color='black', lw = 1)

# 添加对角线

plt.plot([0,1],[0,1], color = 'red', linestyle = '--')

# 添加文本信息

plt.text(0.5,0.3,'ROC curve (area = %0.2f)' % roc_auc)

# 添加x轴与y轴标签

plt.xlabel('1-Specificity')

plt.ylabel('Sensitivity')

plt.show()

-------------------------------------------------------------------------------------------------------------------------------------------

#ks曲线   链接:https://www.jianshu.com/p/b1b1344bd99f  风控数据分析学习笔记(二)Python建立信用评分卡 -

fig, ax = plt.subplots()

ax.plot(1 - threshold, tpr, label='tpr')# ks曲线要按照预测概率降序排列,所以需要1-threshold镜像

ax.plot(1 - threshold, fpr, label='fpr')

ax.plot(1 - threshold, tpr-fpr,label='KS')

plt.xlabel('score')

plt.title('KS Curve')

plt.ylim([0.0, 1.0])

plt.figure(figsize=(20,20))

legend = ax.legend(loc='upper left')

plt.show()