Full Code of rayc2020/LessonPythonCode for AI

main 9e74460ae060 cached
166 files
136.5 MB
24.5M tokens
10 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (98,150K chars total). Download the full file to get everything.
Repository: rayc2020/LessonPythonCode
Branch: main
Commit: 9e74460ae060
Files: 166
Total size: 136.5 MB

Directory structure:
gitextract_ocl48bix/

├── Lesson-24-bank-additional-names.txt
├── Lesson1-Python Installation安装.ipynb
├── Lesson1-Python序言及安装.docx
├── Lesson10-Classes, Variables, Methods and Objects.ipynb
├── Lesson100-Naive Bayes (Classifier)算法特征.ipynb
├── Lesson101-SVM算法特征.ipynb
├── Lesson102-One-Vs-Rest and One-Vs-One Multi-Class Classification.ipynb
├── Lesson103-LinearSVC or SVC of SVM.ipynb
├── Lesson104-SVM Kernels 及手工验证实现Polynomial Kernels.ipynb
├── Lesson105-Imbalanced Data对于SVM影响以及C的作用.ipynb
├── Lesson106-Imbalanced Data对于算法的影响.ipynb
├── Lesson107-ANN Activation, Kernel_initialize, Optimizer, Loss, Output总结.ipynb
├── Lesson108-应用Transfer Learning和Vgg 16识别厨房刀具.ipynb
├── Lesson109-yolo/
│   ├── Lesson109-YOLO (You Only Look Once) Object Detection.ipynb
│   └── yolo-coco/
│       ├── coco.names
│       └── yolov3.cfg
├── Lesson11-Univariate,Bivariate and MultiVariate单变量多变量分析及柱状图.ipynb
├── Lesson110-MSE,RMSE,MAE.ipynb
├── Lesson111-How many Samplings.ipynb
├── Lesson112-Z-Score & Standard Deviations.ipynb
├── Lesson113-P-Value & Z-Score.ipynb
├── Lesson114-P-Value & Hypothese Test.ipynb
├── Lesson115-Hypothese Test & Correlation Tests & Stationary Tests.ipynb
├── Lesson116-Parametric Statistical Hypothesis Tests & Nonparametric.ipynb
├── Lesson12-Linear Regression Math.xlsx
├── Lesson13-50_Startups.csv
├── Lesson13-Python进阶ML-MultipleLinear Regression多元线性回归.ipynb
├── Lesson14-Python进阶ML-Polynomial (Linear) Regression多项式(线性)回归.ipynb
├── Lesson14-age-height.xlsx
├── Lesson15 Keynote.docx
├── Lesson15-Python进阶ML-MultiCollinearity In Linear Regression多重共线性及VIF.ipynb
├── Lesson15-Salary_Data.csv
├── Lesson16-实战Ridge & Lasso Regression解决线性回归的Overfitting过度拟合.ipynb
├── Lesson17-diabetes.csv
├── Lesson17-应用Logistic Regression逻辑回归建模.ipynb
├── Lesson18-如何对Data Set数据集进行清洗,转换,汇总及建模之完整步骤.ipynb
├── Lesson19-使用Decision Trees建模with Gini and Entropy.ipynb
├── Lesson2-Python Data Structures数据结构.ipynb
├── Lesson20-petrol_consumption.csv
├── Lesson20-使用Random Forests Classifiers&Regressor两种方式建模.ipynb
├── Lesson21- 使用Adaboost建模及工作环境下的数据分析整理.ipynb
├── Lesson21-titanic_test.csv
├── Lesson21-titanic_train.csv
├── Lesson22-Bagging vs Boosting&使用Xgboost和Gradient Boosting建模.ipynb
├── Lesson23-K Nearest Neighbour(KNN)建模.ipynb
├── Lesson24-Support Vector Machine建模.ipynb
├── Lesson24-bank-additional-full.csv
├── Lesson25-Bayes贝叶斯识别Spam Email垃圾邮件.ipynb
├── Lesson25-spam_ham_dataset.csv
├── Lesson26-Votingclassifier及11种算法全自动建模预测输出结果之完整源代码.ipynb
├── Lesson27-income.xlsx
├── Lesson27-无监督学习K Means Clustering.ipynb
├── Lesson28-Hierarchical Clustering哪些存量客户是新产品的目标用户.ipynb
├── Lesson28-customers data.csv
├── Lesson29-DBSCAN聚类与K-means及Hierarchical Clustering区别.ipynb
├── Lesson3-Numpy, Seaborn库.ipynb
├── Lesson30-纽约Uber数据分析图形化和K-means计算热点.ipynb
├── Lesson31-KMeans clustering如何验证K点最佳 - silhouette analysis.ipynb
├── Lesson32-无监督学习Principal Component Analysis(PCA)精简高维数据.ipynb
├── Lesson33-12种聚类(无监督学习)算法说明和区分比较(一).ipynb
├── Lesson33-clusterable_data.npy
├── Lesson34-12种聚类(无监督学习)算法说明和区分比较(二).ipynb
├── Lesson35-12种聚类(无监督学习)算法说明和区分比较(三).ipynb
├── Lesson36-数据科学家及12种聚类(无监督学习)算法简明源代码归纳.ipynb
├── Lesson37-基于信用卡交易欺诈非均衡数据的处理(1).ipynb
├── Lesson38-基于信用卡交易欺诈非均衡数据的处理(2).ipynb
├── Lesson39-Churn_Modelling.csv
├── Lesson39-对于已交付(客户流失预警)模型的模型可解释LIME.ipynb
├── Lesson4-Excel_Sample.xlsx
├── Lesson4-Pandas csv,json,html,excel,pickle.ipynb
├── Lesson4-mercedesbenz.csv
├── Lesson4-wine.csv
├── Lesson40-Model-Deployment-Flask/
│   ├── Lesson40-模型部署及使用flask建立web服务器.ipynb
│   ├── app.py
│   ├── hiring.csv
│   ├── model.pkl
│   ├── model.py
│   ├── static/
│   │   └── css/
│   │       └── style.css
│   └── templates/
│       └── index.html
├── Lesson41-Model-Deployment-Streamlit/
│   ├── Lesson41-使用streamlit6分钟完成模型部署及建立web服务器.ipynb
│   ├── app_streamlit.py
│   └── model.pkl
├── Lesson42-st.py
├── Lesson42-使用streamlit快速地图展现纽约Uber数据分析.ipynb
├── Lesson43-Insurance.csv
├── Lesson43-深度学习使用python建立最简单的神经元neuron.ipynb
├── Lesson44-data.csv
├── Lesson44-使用程序设计流程图解析并建立神经网络(不依赖深度学习library).ipynb
├── Lesson45-神经网络建立(结果可变)最小机器人.ipynb
├── Lesson46-矩阵乘积和(手工)验算2层神经网络.ipynb
├── Lesson47-Keras,TensorFlow和PyTorch比较及应用TensorFlow建立ANN模型.ipynb
├── Lesson47-pima-indians-diabetes.data
├── Lesson48-Activation Function为什么Relu比Sigmoid好 for Vanishing Gradient.ipynb
├── Lesson49-调整Activation Function参数对神经网络的影响.ipynb
├── Lesson5-Matplotlib.ipynb
├── Lesson50-ionosphere.csv
├── Lesson50-ionosphere.names.txt
├── Lesson50-神经网络ANN(MLP), CNN, RNN区别及应用(一).ipynb
├── Lesson51- 神经网络ANN(MLP), CNN, RNN区别及应用(二).ipynb
├── Lesson52- 神经网络ANN(MLP), CNN, RNN区别及应用(三).ipynb
├── Lesson53- 神经网络ANN(MLP), CNN, RNN区别及应用(四).ipynb
├── Lesson53-monthly-car-sales.csv
├── Lesson54-Keras and TensorFlow tf.keras区别-which Keras package.ipynb
├── Lesson55-Conventional Neural Network(CNN)图像处理过程解析.ipynb
├── Lesson55-Convolutions Neural Network(CNN)图像处理过程解析.ipynb
├── Lesson56-CNN应用Keras Tuner寻找最佳Hidden Layers层数和神经元数量.ipynb
├── Lesson57-应用ANN+SMOTE+Keras Tuner算法进行信用卡交易欺诈侦测.ipynb
├── Lesson58-使用Word Embedding+Keras进行自然语言处理NLP.ipynb
├── Lesson59-使用Word Embedding+Keras建立最小语义解释器NLP.ipynb
├── Lesson6-Seaborn图形进行数据分析.ipynb
├── Lesson60-使用word2vec+tensorflow进行NLP自然语言处理.ipynb
├── Lesson61-使用Gensim word2vec自然语言处理NLP.ipynb
├── Lesson62- 应用LSTM识别Fake News(NLP).ipynb
├── Lesson63-Bidirectional RNN LSTM识别Fake News(NLP).ipynb
├── Lesson64-AAPL.csv
├── Lesson64-使用Stacked LSTM预测Apple股票价格T+N.ipynb
├── Lesson66-Data.csv
├── Lesson66-NLP Count Vectorizer与TF-IDF Vectorizer比较.ipynb
├── Lesson67-投研策略-基于上市公司消息面股票涨跌的分析Sentiment Analysis NLP.ipynb
├── Lesson68-Kelly凯利方程式-对风险及收益的评估.ipynb
├── Lesson69-应用Keras Vgg16, Vgg19, Resnet等模型图像识别CNN.ipynb
├── Lesson7-ForIf&Functions函数.ipynb
├── Lesson70-应用Transfer Learning改造Keras Vgg 16等模型图像识别CNN.ipynb
├── Lesson71-使用CNN Keras建立模型进行图像识别.ipynb
├── Lesson72-使用flask建立图像识别小程序Demo/
│   ├── Lesson72-使用flask建立图像识别小程序Demo.ipynb
│   ├── app.py
│   ├── static/
│   │   ├── css/
│   │   │   └── main.css
│   │   └── js/
│   │       └── main.js
│   └── templates/
│       ├── base.html
│       └── index.html
├── Lesson73-Imbanlanced Data非均衡数据下的人脸识别.ipynb
├── Lesson74-使用OpenCV读写和展示图像.ipynb
├── Lesson75-使用OpenCV HAAR Cascade Classifiers识别脸部和眼部特征.ipynb
├── Lesson76-使用OpenCV HAAR Cascade Classifiers识别(视频)人脸和眼部特征.ipynb
├── Lesson77-使用OpenCV HAAR Cascade Classifiers识别行人和行驶汽车.ipynb
├── Lesson78-使用MTCNN识别人脸和眼部特征.ipynb
├── Lesson79-使用OpenCV对(脸部)图像模糊处理.ipynb
├── Lesson80-使用OpenCV卡通化图像和艺术化图像.ipynb
├── Lesson81-在CNN最后一层使用SVM实施Image Classification.ipynb
├── Lesson82-Face-Mask-Detection/
│   ├── Lesson82-使用Keras, OpenCV和MobileNet识别口罩是否佩戴.ipynb
│   ├── face_detector/
│   │   ├── deploy.prototxt
│   │   └── res10_300x300_ssd_iter_140000.caffemodel
│   ├── mask_detector.model
│   └── requirements.txt
├── Lesson83-haarcascade_frontalface_default.xml
├── Lesson83-使用Keras, OpenCV识别是否佩戴口罩.ipynb
├── Lesson84-从Python到算法精通:为什么使用Feature Scaling?面试题.ipynb
├── Lesson85-如何使用Feature Scaling?什么时候使用?面试题.ipynb
├── Lesson86-哪些算法sensitive to outliers(handle well)?Interview Q.ipynb
├── Lesson87-Confusion Matrix Type 2 Error与Type 1 Error相比哪个影响更坏?Interview Q.ipynb
├── Lesson88-Linear Regression特性?Interview Q.ipynb
├── Lesson89-Logistics Regression特性?Interview Q.ipynb
├── Lesson9-String,Iterables vs Iterators, Pyforest.ipynb
├── Lesson90-When Decision Tree is Better Than Logistic Regression Interview Q.ipynb
├── Lesson91-Overfitting - Low Bias and High Variance(Decision Tree).ipynb
├── Lesson92-Decision Tree特性? Interview Q.ipynb
├── Lesson93-Ensemble Learning Interview Q.ipynb
├── Lesson94-万金油-Random Forest 特性? Interview Q.ipynb
├── Lesson95-AdaBoost, GBoost, XGBoost -- Boosting特性? Interview Q.ipynb
├── Lesson96-XGBoost, Light GBM, CatBoost算法比较.ipynb
├── Lesson97-Python LightGBM建模.ipynb
├── Lesson97-adult_csv.csv
├── Lesson99-Naive Bayes(Bernoulli,Multinomial,Gaussian)算法区别及与RF比较.ipynb
├── lesson12-Python进阶ML-使用Python应用Linear Regression线性回归.ipynb
├── lesson8-Lambda,Map,Filter,List Comprehension.ipynb
└── 第65讲 量化交易Quant-使用Stacked LSTM预测T+1上证指数.ipynb

================================================
FILE CONTENTS
================================================

================================================
FILE: Lesson-24-bank-additional-names.txt
================================================
Citation Request:
  This dataset is publicly available for research. The details are described in [Moro et al., 2014]. 
  Please include this citation if you plan to use this database:

  [Moro et al., 2014] S. Moro, P. Cortez and P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, In press, http://dx.doi.org/10.1016/j.dss.2014.03.001

  Available at: [pdf] http://dx.doi.org/10.1016/j.dss.2014.03.001
                [bib] http://www3.dsi.uminho.pt/pcortez/bib/2014-dss.txt

1. Title: Bank Marketing (with social/economic context)

2. Sources
   Created by: Sérgio Moro (ISCTE-IUL), Paulo Cortez (Univ. Minho) and Paulo Rita (ISCTE-IUL) @ 2014
   
3. Past Usage:

  The full dataset (bank-additional-full.csv) was described and analyzed in:

  S. Moro, P. Cortez and P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems (2014), doi:10.1016/j.dss.2014.03.001.
 
4. Relevant Information:

   This dataset is based on "Bank Marketing" UCI dataset (please check the description at: http://archive.ics.uci.edu/ml/datasets/Bank+Marketing).
   The data is enriched by the addition of five new social and economic features/attributes (national wide indicators from a ~10M population country), published by the Banco de Portugal and publicly available at: https://www.bportugal.pt/estatisticasweb.
   This dataset is almost identical to the one used in [Moro et al., 2014] (it does not include all attributes due to privacy concerns). 
   Using the rminer package and R tool (http://cran.r-project.org/web/packages/rminer/), we found that the addition of the five new social and economic attributes (made available here) lead to substantial improvement in the prediction of a success, even when the duration of the call is not included. Note: the file can be read in R using: d=read.table("bank-additional-full.csv",header=TRUE,sep=";")
   
   The zip file includes two datasets: 
      1) bank-additional-full.csv with all examples, ordered by date (from May 2008 to November 2010).
      2) bank-additional.csv with 10% of the examples (4119), randomly selected from bank-additional-full.csv.
   The smallest dataset is provided to test more computationally demanding machine learning algorithms (e.g., SVM).

   The binary classification goal is to predict if the client will subscribe a bank term deposit (variable y).

5. Number of Instances: 41188 for bank-additional-full.csv

6. Number of Attributes: 20 + output attribute.

7. Attribute information:

   For more information, read [Moro et al., 2014].

   Input variables:
   # bank client data:
   1 - age (numeric)
   2 - job : type of job (categorical: "admin.","blue-collar","entrepreneur","housemaid","management","retired","self-employed","services","student","technician","unemployed","unknown")
   3 - marital : marital status (categorical: "divorced","married","single","unknown"; note: "divorced" means divorced or widowed)
   4 - education (categorical: "basic.4y","basic.6y","basic.9y","high.school","illiterate","professional.course","university.degree","unknown")
   5 - default: has credit in default? (categorical: "no","yes","unknown")
   6 - housing: has housing loan? (categorical: "no","yes","unknown")
   7 - loan: has personal loan? (categorical: "no","yes","unknown")
   # related with the last contact of the current campaign:
   8 - contact: contact communication type (categorical: "cellular","telephone") 
   9 - month: last contact month of year (categorical: "jan", "feb", "mar", ..., "nov", "dec")
  10 - day_of_week: last contact day of the week (categorical: "mon","tue","wed","thu","fri")
  11 - duration: last contact duration, in seconds (numeric). Important note:  this attribute highly affects the output target (e.g., if duration=0 then y="no"). Yet, the duration is not known before a call is performed. Also, after the end of the call y is obviously known. Thus, this input should only be included for benchmark purposes and should be discarded if the intention is to have a realistic predictive model.
   # other attributes:
  12 - campaign: number of contacts performed during this campaign and for this client (numeric, includes last contact)
  13 - pdays: number of days that passed by after the client was last contacted from a previous campaign (numeric; 999 means client was not previously contacted)
  14 - previous: number of contacts performed before this campaign and for this client (numeric)
  15 - poutcome: outcome of the previous marketing campaign (categorical: "failure","nonexistent","success")
   # social and economic context attributes
  16 - emp.var.rate: employment variation rate - quarterly indicator (numeric)
  17 - cons.price.idx: consumer price index - monthly indicator (numeric)     
  18 - cons.conf.idx: consumer confidence index - monthly indicator (numeric)     
  19 - euribor3m: euribor 3 month rate - daily indicator (numeric)
  20 - nr.employed: number of employees - quarterly indicator (numeric)

  Output variable (desired target):
  21 - y - has the client subscribed a term deposit? (binary: "yes","no")

8. Missing Attribute Values: There are several missing values in some categorical attributes, all coded with the "unknown" label. These missing values can be treated as a possible class label or using deletion or imputation techniques. 


================================================
FILE: Lesson1-Python Installation安装.ipynb
================================================
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第一课 - Python安装及动手实践\n",
    "\n",
    "What is Python?\n",
    "\n",
    "Python is an interpreted, interactive, object-oriented programming language. It incorporates modules, exceptions, dynamic typing, very high level dynamic data types, and classes. Python combines remarkable power with very clear syntax. It has interfaces to many system calls and libraries, as well as to various window systems, and is extensible in C or C++. It is also usable as an extension language for applications that need a programmable interface. Finally, Python is portable: it runs on many Unix variants, on the Mac, and on PCs under MS-DOS, Windows, Windows NT, and OS/2.\n",
    "\n",
    "Python Installation安装 from https://www.anaconda.com/\n",
    "\n",
    "With over 20 million users worldwide, the open-source Individual Edition (Distribution) is the easiest way to perform Python/R data science and machine learning on a single machine.\n",
    "\n",
    "Python Practice动手实践\n",
    "\n",
    "(1)Data Types数据类型\n",
    "\n",
    "(2)Variable变量及Variables Assigment变量分配\n",
    "\n",
    "(3)Print Formatting打印函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Raw NBConvert——这是一个可将你的笔记本转换成另一种格式(比如HTML)的命令行工具。 Heading——这是你添加标题的地方,这样你可以将不同的章节分开,让你的笔记本看起来更整齐更清晰。 这个现在已经被转换成Markdown 选项本身了。 输入一个「##」之后,后面输入的内容就会被视为一个标题。\n",
    "\n",
    "## (1)DataTypes数据类型\n",
    "Numbers数字"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1+1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "1+1\n",
    "2+3\n",
    "3+4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "4+5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "18"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "3*6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "20"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "2*10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.0"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "10/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "10%2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "100"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "10**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "##Check the Data Types检查数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "bool"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "str"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(\"Hello你好\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Strings字符串"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Hello你好'"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"Hello你好\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Hello你好'"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'Hello你好'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'hello world'"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"hello world\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'小明'"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "'小明'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "str"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type('小明')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (2)Variable变量及Variables Assigment变量分配"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "x=12"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "int"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "12\n"
     ]
    }
   ],
   "source": [
    "print(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "y='小明'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "str"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'小明'"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "## 数学运算\n",
    "a=20\n",
    "b=10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200\n",
      "2.0\n",
      "0\n",
      "202.0\n"
     ]
    }
   ],
   "source": [
    "print(a*b)\n",
    "print(a/b)\n",
    "print(a%b)\n",
    "print((a*b)+(a/b)-(a%b))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "202.0"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(a*b)+(a/b)-(a%b)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (3)Print Formatting打印"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hello World\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'Hello World'"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(\"Hello World\")\n",
    "\n",
    "\"Hello World\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "first_name='小明'\n",
    "last_name='张'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "My first name is 小明 and last name is 张\n"
     ]
    }
   ],
   "source": [
    "print(\"My first name is {} and last name is {}\".format(first_name,last_name))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "My first name is 张 and last name is 小明\n"
     ]
    }
   ],
   "source": [
    "print(\"My first name is {} and last name is {}\".format(last_name,first_name))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "My First name is 小明 and last name is 张\n"
     ]
    }
   ],
   "source": [
    "print(\"My First name is {first} and last name is {last}\".format(last=last_name,first=first_name))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(2, 4)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len('小明'),len('Mike')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "list"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type([1,2,3,4,5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 2, 3, 4, 5]"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[1,2,3,4,5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}


================================================
FILE: Lesson10-Classes, Variables, Methods and Objects.ipynb
================================================
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第十课 Classes, Variables, Methods and Objects\n",
    "\n",
    "源文件下载链接: https://pan.baidu.com/s/1yuNlG6u9_C31fzhzbzqASA 提取码: ebrh\n",
    "\n",
    "Class − A user-defined prototype for an object that defines a set of attributes that characterize any object of the class. The attributes are data members (class variables and instance variables) and methods, accessed via dot notation.\n",
    "\n",
    "Instance − An individual object of a certain class. An object obj that belongs to a class Circle, for example, is an instance of the class Circle.\n",
    "\n",
    "Method − A special kind of function that is defined in a class definition.\n",
    "\n",
    "Object − A unique instance of a data structure that's defined by its class. An object comprises both data members (class variables and instance variables) and methods."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Student:\n",
    "    pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 106,
   "metadata": {},
   "outputs": [],
   "source": [
    "小明=Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<__main__.Student at 0x14db5d33c88>"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "小明"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<__main__.Student at 0x14db5d3a2c8>"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [],
   "source": [
    "小明.age=10\n",
    "小明.grade=4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10\n"
     ]
    }
   ],
   "source": [
    "print(小明.age)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "小明.grade"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": [
    "小刚=Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [],
   "source": [
    "小刚.age=8\n",
    "小刚.grade=2\n",
    "小刚.special=\"football\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "8\n"
     ]
    }
   ],
   "source": [
    "print(小刚.age)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'football'"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "小刚.special"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['__class__',\n",
       " '__delattr__',\n",
       " '__dict__',\n",
       " '__dir__',\n",
       " '__doc__',\n",
       " '__eq__',\n",
       " '__format__',\n",
       " '__ge__',\n",
       " '__getattribute__',\n",
       " '__gt__',\n",
       " '__hash__',\n",
       " '__init__',\n",
       " '__init_subclass__',\n",
       " '__le__',\n",
       " '__lt__',\n",
       " '__module__',\n",
       " '__ne__',\n",
       " '__new__',\n",
       " '__reduce__',\n",
       " '__reduce_ex__',\n",
       " '__repr__',\n",
       " '__setattr__',\n",
       " '__sizeof__',\n",
       " '__str__',\n",
       " '__subclasshook__',\n",
       " '__weakref__',\n",
       " 'age',\n",
       " 'grade']"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dir(小明)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Student:\n",
    "    def __init__():\n",
    "        print('Hi')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "__init__() takes 0 positional arguments but 1 was given",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-118-13fff8f0a308>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mStudent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m: __init__() takes 0 positional arguments but 1 was given"
     ]
    }
   ],
   "source": [
    "Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "__init__() takes 0 positional arguments but 1 was given",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-119-8a0308c2f6bc>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ma\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mStudent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m: __init__() takes 0 positional arguments but 1 was given"
     ]
    }
   ],
   "source": [
    "a=Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Student:\n",
    "    def __init__(self):\n",
    "        print('Hi there')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hi there\n"
     ]
    }
   ],
   "source": [
    "a=Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Student:\n",
    "    def __init__(self,name,grade):\n",
    "        self.names=name\n",
    "        self.grade=grade\n",
    "        print('Hi there')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "__init__() missing 2 required positional arguments: 'name' and 'grade'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-126-11af726de817>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mstudent1\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mStudent\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m: __init__() missing 2 required positional arguments: 'name' and 'grade'"
     ]
    }
   ],
   "source": [
    "student1=Student()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hi there\n"
     ]
    }
   ],
   "source": [
    "student1=Student('Andy',5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Andy\n",
      "5\n"
     ]
    }
   ],
   "source": [
    "print(student1.names)\n",
    "print(student1.grade)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Car:\n",
    "    def __init__(self,window,door,engine):\n",
    "        self.x=window\n",
    "        self.y=door\n",
    "        self.z=engine"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "car1=Car(4,5,'4 cylinder')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4\n",
      "5\n",
      "4 cylinder\n"
     ]
    }
   ],
   "source": [
    "print(car1.x)\n",
    "print(car1.y)\n",
    "print(car1.z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Car:\n",
    "    def __init__(self,window,door,engine):\n",
    "        self.window=window\n",
    "        self.door=door\n",
    "        self.engine=engine"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [],
   "source": [
    "car2=Car(2,3,'6 cylinder')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n",
      "3\n",
      "6 cylinder\n"
     ]
    }
   ],
   "source": [
    "print(car2.window)\n",
    "print(car2.door)\n",
    "print(car2.engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Car:\n",
    "    def __init__(self,x,y,z):\n",
    "        self.window=x\n",
    "        self.door=y\n",
    "        self.engine=z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [],
   "source": [
    "car2=Car(4,4,'8 cylinder')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4\n",
      "5\n",
      "8 cylinder\n"
     ]
    }
   ],
   "source": [
    "print(car2.window)\n",
    "print(car2.door)\n",
    "print(car2.engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Car:\n",
    "    def __init__(self,window,door,engine):\n",
    "        self.window=window\n",
    "        self.door=door\n",
    "        self.engine=engine\n",
    "    def info(self):\n",
    "        return \"this is a {} car\".format(self.engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'this is a 8 cylinder car'"
      ]
     },
     "execution_count": 145,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "car2.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Car:\n",
    "    def __init__(self,window,door,engine):\n",
    "        self.window=window\n",
    "        self.door=door\n",
    "        self.engine=engine\n",
    "    def info(self,brand):\n",
    "        self.brand=brand\n",
    "        return \"this is a {} {} car\".format(self.engine,self.brand)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [],
   "source": [
    "car2=Car6(4,2,'8 cylinder')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "4\n",
      "2\n",
      "8 cylinder\n"
     ]
    }
   ],
   "source": [
    "print(car2.window)\n",
    "print(car2.door)\n",
    "print(car2.engine)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "info() missing 1 required positional argument: 'brand'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-151-1f1520ea1cd7>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mcar2\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mTypeError\u001b[0m: info() missing 1 required positional argument: 'brand'"
     ]
    }
   ],
   "source": [
    "car2.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'this is a 8 cylinder BMW car'"
      ]
     },
     "execution_count": 152,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "car2.info(\"BMW\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Car6:\n",
    "    def __init__(self,window,door,engine):\n",
    "        self.window=window\n",
    "        self.door=door\n",
    "        self.engine=engine\n",
    "    def info(self,brand=\"BMW\"):\n",
    "        self.brand=brand\n",
    "        return \"this is a {} {} car\".format(self.engine,self.brand)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'this is a 8 cylinder BMW car'"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "car2.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'this is a 8 cylinder Audi car'"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "car2.info(\"Audi\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}


================================================
FILE: Lesson100-Naive Bayes (Classifier)算法特征.ipynb
================================================
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第100讲 Naive Bayes (Classifier)算法特征\n",
    "\n",
    "## Python学习:https://www.ixigua.com/home/77346806707?utm_source=xiguastudio\n",
    "\n",
    "## Python源文件及数据下载链接: https://github.com/rayc2020/LessonPythonCode"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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7NnTsMTDw8PX11en0y1cuDAxMXHmzJlxcXGGa5hhYWGGdS5durRp06Zr164ZHrZp0+aFF15YvXp1UFCQsZFpbX5+fmFhYREREUOHDk2ptmLFioaLRnFxcURERFlZ2fHjx0UiUUhIiKur67hx42qMJVapVDt37uTkoToFAAAAYDLjqz3pVqGhoXv37jVWp66urufPn7969WpoaKi1tfWRI0eysrKcnJyMbWAEQfj55599fX3btWtnXNKqVavLly/XXW2KRKKtW7fevXtXq9W2a9cuKipq1KhRDReNli1bfvnll3Wvk5SU5OPj06pVK06e5ok5ewEAAAAzMnbs2H379lVUVBiX2Nraenl5GcfBKpXKB0tTQRD69ev34Po3bty4c+dOcHBwHa+SmZnp7e194cIFmUzWqVOntWvXhoaGvvTSS4277xs3bpwxYwbnQLPFtVMAAADAjDg5Oc2YMWPTpk1z5syp5ybu7u7BwcFLlizx8/PLzc01lHmxsbG3bt1auHChWCyuvcnZs2cVCoWhHD106FBqauqZM2cad8czMzOLiopCQkI4B6hOAQAAAJiF2bNnv/322/379/f19a3nJuvWrfv9998rKiocHBwMSwICAmQy2aNay4wZM0atVh86dCgzM/PevXtnz5591NS+z8e9e/fmzp0bGxvL0ac6BQAAAGAurKystm/fvnjxYi8vL+PkvY9lX834sHa12bp16xYtWhhXjoqKKikpMS5pXBs3boyOjn7xxRc5+s2Z6LEddQEAAIBmQqvVOjs7G2YMqru3565du8aNGycIwsCBA48fP07ogGfHrEgAAADAv2k0GsMver3++vXr9VlTo9FwvQegOgUAAABM4+7duydPnpw+fbpxycSJE8+dO1daWvrganq9Pj8/PyEhYc2aNYYlarX6vffeU6vVlZWVhBF4FozsBQAAQHNXXl5ex+2dx44dGzJkiOH3SZMm7dix4+EfrEWisrKyh06QC4DqFAAAAKiXrKysR/3J2dnZWLsWFBTUuJr6IKVSSSQBqlMAAAAAgAXjvlMAAAAAANUpAAAAAABUpwAAAAAAqlMAAAAAAKhOAQAAAABUpwAAAIBFKCkpuXXrFnEAqE4BAACAxpGTkzN58uRdu3alp6dPmTIlOztbEISzZ88SGYDqFAAAAHhOSkpKAgMDp02bNnXq1EGDBvn7+y9btiwvL+/w4cMEBzA5G0IAAAAAPFR0dLSLi0vv3r0NDwMCAiIiIjp27Dh79myCA5gc104BAACAh0tKShoxYoTxoYODQ2lpqaenp0KhIDgA1SkAAADwnAQGBlZUVBgfqlQqvV4/cOBAIgM0BJFerycKAAAAQG1arXb69OnDhg2TyWQajcbf33/Pnj1ubm4vvPDCn/70J+IDUJ0CAAAAAJqa/wkAAP//CfUL0eROGI0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image\n",
    "Image(filename='D:\\python\\Interview-Prepartion-Data-Science-master\\Lesson100-2.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#####  2. Advantages\n",
    "1. Work Very well with many number of features\n",
    "2. Works Well with Large training Dataset\n",
    "3. It converges faster when we are training the model\n",
    "4. It also performs well with categorical features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import Image\n",
    "Image(filename='D:\\python\\Interview-Prepartion-Data-Science-master\\Lesson100-1.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 3. Disadvantages\n",
    "1. Correlated features affects performance"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 4. Whether Feature Scaling is required?\n",
    "No\n",
    "##### 5. Impact of Missing Values?\n",
    "Naive Bayes can handle missing data. Attributes are handled separately by the algorithm at both model construction time and prediction time. As such, if a data instance has a missing value for an attribute, it can be ignored while preparing the model, and ignored when a probability is calculated for a class value\n",
    "\n",
    "##### 6. Impact of outliers?\n",
    "It is usually robust to outliers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### Different Problem statement you can solve using Naive Baye's\n",
    "1. Sentiment Analysis\n",
    "2. Spam classification\n",
    "3. twitter sentiment analysis\n",
    "4. document categorization"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}


================================================
FILE: Lesson101-SVM算法特征.ipynb
================================================
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第101讲 SVM算法特征\n",
    "\n",
    "## Python学习:https://www.ixigua.com/home/77346806707?utm_source=xiguastudio\n",
    "\n",
    "## Python源文件及数据下载链接: https://github.com/rayc2020/LessonPythonCode\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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
Download .txt
gitextract_ocl48bix/

├── Lesson-24-bank-additional-names.txt
├── Lesson1-Python Installation安装.ipynb
├── Lesson1-Python序言及安装.docx
├── Lesson10-Classes, Variables, Methods and Objects.ipynb
├── Lesson100-Naive Bayes (Classifier)算法特征.ipynb
├── Lesson101-SVM算法特征.ipynb
├── Lesson102-One-Vs-Rest and One-Vs-One Multi-Class Classification.ipynb
├── Lesson103-LinearSVC or SVC of SVM.ipynb
├── Lesson104-SVM Kernels 及手工验证实现Polynomial Kernels.ipynb
├── Lesson105-Imbalanced Data对于SVM影响以及C的作用.ipynb
├── Lesson106-Imbalanced Data对于算法的影响.ipynb
├── Lesson107-ANN Activation, Kernel_initialize, Optimizer, Loss, Output总结.ipynb
├── Lesson108-应用Transfer Learning和Vgg 16识别厨房刀具.ipynb
├── Lesson109-yolo/
│   ├── Lesson109-YOLO (You Only Look Once) Object Detection.ipynb
│   └── yolo-coco/
│       ├── coco.names
│       └── yolov3.cfg
├── Lesson11-Univariate,Bivariate and MultiVariate单变量多变量分析及柱状图.ipynb
├── Lesson110-MSE,RMSE,MAE.ipynb
├── Lesson111-How many Samplings.ipynb
├── Lesson112-Z-Score & Standard Deviations.ipynb
├── Lesson113-P-Value & Z-Score.ipynb
├── Lesson114-P-Value & Hypothese Test.ipynb
├── Lesson115-Hypothese Test & Correlation Tests & Stationary Tests.ipynb
├── Lesson116-Parametric Statistical Hypothesis Tests & Nonparametric.ipynb
├── Lesson12-Linear Regression Math.xlsx
├── Lesson13-50_Startups.csv
├── Lesson13-Python进阶ML-MultipleLinear Regression多元线性回归.ipynb
├── Lesson14-Python进阶ML-Polynomial (Linear) Regression多项式(线性)回归.ipynb
├── Lesson14-age-height.xlsx
├── Lesson15 Keynote.docx
├── Lesson15-Python进阶ML-MultiCollinearity In Linear Regression多重共线性及VIF.ipynb
├── Lesson15-Salary_Data.csv
├── Lesson16-实战Ridge & Lasso Regression解决线性回归的Overfitting过度拟合.ipynb
├── Lesson17-diabetes.csv
├── Lesson17-应用Logistic Regression逻辑回归建模.ipynb
├── Lesson18-如何对Data Set数据集进行清洗,转换,汇总及建模之完整步骤.ipynb
├── Lesson19-使用Decision Trees建模with Gini and Entropy.ipynb
├── Lesson2-Python Data Structures数据结构.ipynb
├── Lesson20-petrol_consumption.csv
├── Lesson20-使用Random Forests Classifiers&Regressor两种方式建模.ipynb
├── Lesson21- 使用Adaboost建模及工作环境下的数据分析整理.ipynb
├── Lesson21-titanic_test.csv
├── Lesson21-titanic_train.csv
├── Lesson22-Bagging vs Boosting&使用Xgboost和Gradient Boosting建模.ipynb
├── Lesson23-K Nearest Neighbour(KNN)建模.ipynb
├── Lesson24-Support Vector Machine建模.ipynb
├── Lesson24-bank-additional-full.csv
├── Lesson25-Bayes贝叶斯识别Spam Email垃圾邮件.ipynb
├── Lesson25-spam_ham_dataset.csv
├── Lesson26-Votingclassifier及11种算法全自动建模预测输出结果之完整源代码.ipynb
├── Lesson27-income.xlsx
├── Lesson27-无监督学习K Means Clustering.ipynb
├── Lesson28-Hierarchical Clustering哪些存量客户是新产品的目标用户.ipynb
├── Lesson28-customers data.csv
├── Lesson29-DBSCAN聚类与K-means及Hierarchical Clustering区别.ipynb
├── Lesson3-Numpy, Seaborn库.ipynb
├── Lesson30-纽约Uber数据分析图形化和K-means计算热点.ipynb
├── Lesson31-KMeans clustering如何验证K点最佳 - silhouette analysis.ipynb
├── Lesson32-无监督学习Principal Component Analysis(PCA)精简高维数据.ipynb
├── Lesson33-12种聚类(无监督学习)算法说明和区分比较(一).ipynb
├── Lesson33-clusterable_data.npy
├── Lesson34-12种聚类(无监督学习)算法说明和区分比较(二).ipynb
├── Lesson35-12种聚类(无监督学习)算法说明和区分比较(三).ipynb
├── Lesson36-数据科学家及12种聚类(无监督学习)算法简明源代码归纳.ipynb
├── Lesson37-基于信用卡交易欺诈非均衡数据的处理(1).ipynb
├── Lesson38-基于信用卡交易欺诈非均衡数据的处理(2).ipynb
├── Lesson39-Churn_Modelling.csv
├── Lesson39-对于已交付(客户流失预警)模型的模型可解释LIME.ipynb
├── Lesson4-Excel_Sample.xlsx
├── Lesson4-Pandas csv,json,html,excel,pickle.ipynb
├── Lesson4-mercedesbenz.csv
├── Lesson4-wine.csv
├── Lesson40-Model-Deployment-Flask/
│   ├── Lesson40-模型部署及使用flask建立web服务器.ipynb
│   ├── app.py
│   ├── hiring.csv
│   ├── model.pkl
│   ├── model.py
│   ├── static/
│   │   └── css/
│   │       └── style.css
│   └── templates/
│       └── index.html
├── Lesson41-Model-Deployment-Streamlit/
│   ├── Lesson41-使用streamlit6分钟完成模型部署及建立web服务器.ipynb
│   ├── app_streamlit.py
│   └── model.pkl
├── Lesson42-st.py
├── Lesson42-使用streamlit快速地图展现纽约Uber数据分析.ipynb
├── Lesson43-Insurance.csv
├── Lesson43-深度学习使用python建立最简单的神经元neuron.ipynb
├── Lesson44-data.csv
├── Lesson44-使用程序设计流程图解析并建立神经网络(不依赖深度学习library).ipynb
├── Lesson45-神经网络建立(结果可变)最小机器人.ipynb
├── Lesson46-矩阵乘积和(手工)验算2层神经网络.ipynb
├── Lesson47-Keras,TensorFlow和PyTorch比较及应用TensorFlow建立ANN模型.ipynb
├── Lesson47-pima-indians-diabetes.data
├── Lesson48-Activation Function为什么Relu比Sigmoid好 for Vanishing Gradient.ipynb
├── Lesson49-调整Activation Function参数对神经网络的影响.ipynb
├── Lesson5-Matplotlib.ipynb
├── Lesson50-ionosphere.csv
├── Lesson50-ionosphere.names.txt
├── Lesson50-神经网络ANN(MLP), CNN, RNN区别及应用(一).ipynb
├── Lesson51- 神经网络ANN(MLP), CNN, RNN区别及应用(二).ipynb
├── Lesson52- 神经网络ANN(MLP), CNN, RNN区别及应用(三).ipynb
├── Lesson53- 神经网络ANN(MLP), CNN, RNN区别及应用(四).ipynb
├── Lesson53-monthly-car-sales.csv
├── Lesson54-Keras and TensorFlow tf.keras区别-which Keras package.ipynb
├── Lesson55-Conventional Neural Network(CNN)图像处理过程解析.ipynb
├── Lesson55-Convolutions Neural Network(CNN)图像处理过程解析.ipynb
├── Lesson56-CNN应用Keras Tuner寻找最佳Hidden Layers层数和神经元数量.ipynb
├── Lesson57-应用ANN+SMOTE+Keras Tuner算法进行信用卡交易欺诈侦测.ipynb
├── Lesson58-使用Word Embedding+Keras进行自然语言处理NLP.ipynb
├── Lesson59-使用Word Embedding+Keras建立最小语义解释器NLP.ipynb
├── Lesson6-Seaborn图形进行数据分析.ipynb
├── Lesson60-使用word2vec+tensorflow进行NLP自然语言处理.ipynb
├── Lesson61-使用Gensim word2vec自然语言处理NLP.ipynb
├── Lesson62- 应用LSTM识别Fake News(NLP).ipynb
├── Lesson63-Bidirectional RNN LSTM识别Fake News(NLP).ipynb
├── Lesson64-AAPL.csv
├── Lesson64-使用Stacked LSTM预测Apple股票价格T+N.ipynb
├── Lesson66-Data.csv
├── Lesson66-NLP Count Vectorizer与TF-IDF Vectorizer比较.ipynb
├── Lesson67-投研策略-基于上市公司消息面股票涨跌的分析Sentiment Analysis NLP.ipynb
├── Lesson68-Kelly凯利方程式-对风险及收益的评估.ipynb
├── Lesson69-应用Keras Vgg16, Vgg19, Resnet等模型图像识别CNN.ipynb
├── Lesson7-ForIf&Functions函数.ipynb
├── Lesson70-应用Transfer Learning改造Keras Vgg 16等模型图像识别CNN.ipynb
├── Lesson71-使用CNN Keras建立模型进行图像识别.ipynb
├── Lesson72-使用flask建立图像识别小程序Demo/
│   ├── Lesson72-使用flask建立图像识别小程序Demo.ipynb
│   ├── app.py
│   ├── static/
│   │   ├── css/
│   │   │   └── main.css
│   │   └── js/
│   │       └── main.js
│   └── templates/
│       ├── base.html
│       └── index.html
├── Lesson73-Imbanlanced Data非均衡数据下的人脸识别.ipynb
├── Lesson74-使用OpenCV读写和展示图像.ipynb
├── Lesson75-使用OpenCV HAAR Cascade Classifiers识别脸部和眼部特征.ipynb
├── Lesson76-使用OpenCV HAAR Cascade Classifiers识别(视频)人脸和眼部特征.ipynb
├── Lesson77-使用OpenCV HAAR Cascade Classifiers识别行人和行驶汽车.ipynb
├── Lesson78-使用MTCNN识别人脸和眼部特征.ipynb
├── Lesson79-使用OpenCV对(脸部)图像模糊处理.ipynb
├── Lesson80-使用OpenCV卡通化图像和艺术化图像.ipynb
├── Lesson81-在CNN最后一层使用SVM实施Image Classification.ipynb
├── Lesson82-Face-Mask-Detection/
│   ├── Lesson82-使用Keras, OpenCV和MobileNet识别口罩是否佩戴.ipynb
│   ├── face_detector/
│   │   ├── deploy.prototxt
│   │   └── res10_300x300_ssd_iter_140000.caffemodel
│   ├── mask_detector.model
│   └── requirements.txt
├── Lesson83-haarcascade_frontalface_default.xml
├── Lesson83-使用Keras, OpenCV识别是否佩戴口罩.ipynb
├── Lesson84-从Python到算法精通:为什么使用Feature Scaling?面试题.ipynb
├── Lesson85-如何使用Feature Scaling?什么时候使用?面试题.ipynb
├── Lesson86-哪些算法sensitive to outliers(handle well)?Interview Q.ipynb
├── Lesson87-Confusion Matrix Type 2 Error与Type 1 Error相比哪个影响更坏?Interview Q.ipynb
├── Lesson88-Linear Regression特性?Interview Q.ipynb
├── Lesson89-Logistics Regression特性?Interview Q.ipynb
├── Lesson9-String,Iterables vs Iterators, Pyforest.ipynb
├── Lesson90-When Decision Tree is Better Than Logistic Regression Interview Q.ipynb
├── Lesson91-Overfitting - Low Bias and High Variance(Decision Tree).ipynb
├── Lesson92-Decision Tree特性? Interview Q.ipynb
├── Lesson93-Ensemble Learning Interview Q.ipynb
├── Lesson94-万金油-Random Forest 特性? Interview Q.ipynb
├── Lesson95-AdaBoost, GBoost, XGBoost -- Boosting特性? Interview Q.ipynb
├── Lesson96-XGBoost, Light GBM, CatBoost算法比较.ipynb
├── Lesson97-Python LightGBM建模.ipynb
├── Lesson97-adult_csv.csv
├── Lesson99-Naive Bayes(Bernoulli,Multinomial,Gaussian)算法区别及与RF比较.ipynb
├── lesson12-Python进阶ML-使用Python应用Linear Regression线性回归.ipynb
├── lesson8-Lambda,Map,Filter,List Comprehension.ipynb
└── 第65讲 量化交易Quant-使用Stacked LSTM预测T+1上证指数.ipynb
Download .txt
SYMBOL INDEX (10 symbols across 5 files)

FILE: Lesson40-Model-Deployment-Flask/app.py
  function home (line 15) | def home():
  function predict (line 20) | def predict():

FILE: Lesson41-Model-Deployment-Streamlit/app_streamlit.py
  function predict_salaryfromHR (line 7) | def predict_salaryfromHR(工作经验,笔试,面试):
  function main (line 14) | def main():

FILE: Lesson42-st.py
  function load_data (line 24) | def load_data(nrows):
  function map (line 37) | def map(data, lat, lon, zoom):

FILE: Lesson72-使用flask建立图像识别小程序Demo/app.py
  function model_predict (line 24) | def model_predict(img_path, model):
  function index (line 36) | def index():
  function upload (line 42) | def upload():

FILE: Lesson72-使用flask建立图像识别小程序Demo/static/js/main.js
  function readURL (line 8) | function readURL(input) {
Copy disabled (too large) Download .json
Condensed preview — 166 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (100,497K chars).
[
  {
    "path": "Lesson-24-bank-additional-names.txt",
    "chars": 5455,
    "preview": "Citation Request:\r\n  This dataset is publicly available for research. The details are described in [Moro et al., 2014]."
  },
  {
    "path": "Lesson1-Python Installation安装.ipynb",
    "chars": 12291,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第一课 - Python安装及动手实践\\n\",\n    \"\\n\","
  },
  {
    "path": "Lesson10-Classes, Variables, Methods and Objects.ipynb",
    "chars": 16017,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十课 Classes, Variables, Methods a"
  },
  {
    "path": "Lesson100-Naive Bayes (Classifier)算法特征.ipynb",
    "chars": 131235,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第100讲 Naive Bayes (Classifier)算法"
  },
  {
    "path": "Lesson101-SVM算法特征.ipynb",
    "chars": 162404,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第101讲 SVM算法特征\\n\",\n    \"\\n\",\n    "
  },
  {
    "path": "Lesson102-One-Vs-Rest and One-Vs-One Multi-Class Classification.ipynb",
    "chars": 191114,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第102讲 One-Vs-Rest and One-Vs-One"
  },
  {
    "path": "Lesson103-LinearSVC or SVC of SVM.ipynb",
    "chars": 45007,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第103讲 LinearSVC or SVC of SVM\\n\""
  },
  {
    "path": "Lesson104-SVM Kernels 及手工验证实现Polynomial Kernels.ipynb",
    "chars": 434131,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第104讲 SVM Kernels 及手工验证实现Polynom"
  },
  {
    "path": "Lesson105-Imbalanced Data对于SVM影响以及C的作用.ipynb",
    "chars": 370943,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第105讲 Imbalanced Data对于SVM影响以及C的"
  },
  {
    "path": "Lesson106-Imbalanced Data对于算法的影响.ipynb",
    "chars": 4756,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第106讲 Imbalanced Data对于算法的影响\\n\","
  },
  {
    "path": "Lesson107-ANN Activation, Kernel_initialize, Optimizer, Loss, Output总结.ipynb",
    "chars": 480465,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第107讲 ANN Activation, Kernel_ini"
  },
  {
    "path": "Lesson108-应用Transfer Learning和Vgg 16识别厨房刀具.ipynb",
    "chars": 419518,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第108讲 应用Transfer Learning和Vgg 16"
  },
  {
    "path": "Lesson109-yolo/Lesson109-YOLO (You Only Look Once) Object Detection.ipynb",
    "chars": 1132853,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第109讲 YOLO (You Only Look Once) "
  },
  {
    "path": "Lesson109-yolo/yolo-coco/coco.names",
    "chars": 625,
    "preview": "person\nbicycle\ncar\nmotorbike\naeroplane\nbus\ntrain\ntruck\nboat\ntraffic light\nfire hydrant\nstop sign\nparking meter\nbench\nbir"
  },
  {
    "path": "Lesson109-yolo/yolo-coco/yolov3.cfg",
    "chars": 8342,
    "preview": "[net]\n# Testing\n# batch=1\n# subdivisions=1\n# Training\nbatch=64\nsubdivisions=16\nwidth=608\nheight=608\nchannels=3\nmomentum="
  },
  {
    "path": "Lesson11-Univariate,Bivariate and MultiVariate单变量多变量分析及柱状图.ipynb",
    "chars": 494913,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十一课 Univariate,Bivariate,MultiVa"
  },
  {
    "path": "Lesson110-MSE,RMSE,MAE.ipynb",
    "chars": 301648,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第110讲 When select the loss functi"
  },
  {
    "path": "Lesson111-How many Samplings.ipynb",
    "chars": 997280,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第111讲 How many Samplings?\\n\",\n   "
  },
  {
    "path": "Lesson112-Z-Score & Standard Deviations.ipynb",
    "chars": 205002,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第112讲 Z-Score & Standard Deviatio"
  },
  {
    "path": "Lesson113-P-Value & Z-Score.ipynb",
    "chars": 403504,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第113讲 P-Value & Z-Score\\n\",\n    \""
  },
  {
    "path": "Lesson114-P-Value & Hypothese Test.ipynb",
    "chars": 283534,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第114讲 P-Value & Hypothese Test & "
  },
  {
    "path": "Lesson115-Hypothese Test & Correlation Tests & Stationary Tests.ipynb",
    "chars": 181693,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第115讲 Hypothese Test & Correlatio"
  },
  {
    "path": "Lesson116-Parametric Statistical Hypothesis Tests & Nonparametric.ipynb",
    "chars": 104167,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第116讲 Parametric Statistical Hypo"
  },
  {
    "path": "Lesson13-50_Startups.csv",
    "chars": 2436,
    "preview": "R&D Spend,Administration,Marketing Spend,State,Profit\r\n165349.2,136897.8,471784.1,New York,192261.83\r\n162597.7,151377.59"
  },
  {
    "path": "Lesson13-Python进阶ML-MultipleLinear Regression多元线性回归.ipynb",
    "chars": 121842,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十三课 Python进阶ML-MultipleLinear Re"
  },
  {
    "path": "Lesson14-Python进阶ML-Polynomial (Linear) Regression多项式(线性)回归.ipynb",
    "chars": 74224,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十四课 Python进阶ML-Polynomial (Linea"
  },
  {
    "path": "Lesson15-Python进阶ML-MultiCollinearity In Linear Regression多重共线性及VIF.ipynb",
    "chars": 182272,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十五课 MultiCollinearity In Linear "
  },
  {
    "path": "Lesson15-Salary_Data.csv",
    "chars": 510,
    "preview": "Sex,Age,YearsExperience,Salary\r\n0,24,1.1,39343\r\n1,25,1.3,46205\r\n0,24,1.5,37731\r\n1,25,2,43525\r\n0,25,2.2,39891\r\n1,26,2.9,5"
  },
  {
    "path": "Lesson16-实战Ridge & Lasso Regression解决线性回归的Overfitting过度拟合.ipynb",
    "chars": 58906,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十六课 实战Ridge & Lasso Regression解决"
  },
  {
    "path": "Lesson17-diabetes.csv",
    "chars": 23875,
    "preview": "Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome\r\n6,148,72,35,0,33.6,0.6"
  },
  {
    "path": "Lesson17-应用Logistic Regression逻辑回归建模.ipynb",
    "chars": 49207,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十七课 应用Logistic Regression逻辑回归建模\\"
  },
  {
    "path": "Lesson18-如何对Data Set数据集进行清洗,转换,汇总及建模之完整步骤.ipynb",
    "chars": 244767,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"# 第十八课 如何对Data Set数据集进行清洗"
  },
  {
    "path": "Lesson19-使用Decision Trees建模with Gini and Entropy.ipynb",
    "chars": 143816,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十九课 使用Decision Tree建模with Gini a"
  },
  {
    "path": "Lesson2-Python Data Structures数据结构.ipynb",
    "chars": 36715,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第二课 Python Data Structure数据结构\\n\","
  },
  {
    "path": "Lesson20-petrol_consumption.csv",
    "chars": 1389,
    "preview": "Petrol_tax,Average_income,Paved_Highways,Population_Driver_licence(%),Petrol_Consumption\r\n9.00,3571,1976,0.5250,541\r\n9.0"
  },
  {
    "path": "Lesson20-使用Random Forests Classifiers&Regressor两种方式建模.ipynb",
    "chars": 105228,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第二十课 使用Random Forests Classifiers"
  },
  {
    "path": "Lesson21- 使用Adaboost建模及工作环境下的数据分析整理.ipynb",
    "chars": 1992863,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第21课 使用Adaboost建模及工作环境下的数据分析整理\\n\""
  },
  {
    "path": "Lesson21-titanic_test.csv",
    "chars": 28629,
    "preview": "PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked\r\n892,3,\"Kelly, Mr. James\",male,34.5,0,0,330911,7."
  },
  {
    "path": "Lesson21-titanic_train.csv",
    "chars": 60302,
    "preview": "PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked\n1,0,3,\"Braund, Mr. Owen Harris\",male,22,"
  },
  {
    "path": "Lesson22-Bagging vs Boosting&使用Xgboost和Gradient Boosting建模.ipynb",
    "chars": 1831635,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第22课 Bagging vs Boosting&使用Xgboos"
  },
  {
    "path": "Lesson23-K Nearest Neighbour(KNN)建模.ipynb",
    "chars": 98083,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第23课 K Nearest Neighbour(KNN)建模\\n"
  },
  {
    "path": "Lesson24-Support Vector Machine建模.ipynb",
    "chars": 733035,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第24课 Support Vector Machine建模\\n\","
  },
  {
    "path": "Lesson24-bank-additional-full.csv",
    "chars": 5834924,
    "preview": "\"age\";\"job\";\"marital\";\"education\";\"default\";\"housing\";\"loan\";\"contact\";\"month\";\"day_of_week\";\"duration\";\"campaign\";\"pday"
  },
  {
    "path": "Lesson25-Bayes贝叶斯识别Spam Email垃圾邮件.ipynb",
    "chars": 1123662,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第25课 Bayes贝叶斯识别Spam Email垃圾邮件\\n\","
  },
  {
    "path": "Lesson25-spam_ham_dataset.csv",
    "chars": 5502589,
    "preview": ",label,text,label_num\r\n605,ham,\"Subject: enron methanol ; meter # : 988291\r\nthis is a follow up to the note i gave you o"
  },
  {
    "path": "Lesson26-Votingclassifier及11种算法全自动建模预测输出结果之完整源代码.ipynb",
    "chars": 1262065,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第26课 Votingclassifier及11种算法全自动建模预"
  },
  {
    "path": "Lesson27-无监督学习K Means Clustering.ipynb",
    "chars": 729332,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第27课 无监督学习K Means Clustering\\n\",\n"
  },
  {
    "path": "Lesson28-Hierarchical Clustering哪些存量客户是新产品的目标用户.ipynb",
    "chars": 829552,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第28课 Hierarchical Clustering解答哪些存"
  },
  {
    "path": "Lesson28-customers data.csv",
    "chars": 15021,
    "preview": "Channel,Region,Fresh,Milk,Grocery,Frozen,Detergents_Paper,Delicassen\r\n2,3,12669,9656,7561,214,2674,1338\r\n2,3,7057,9810,9"
  },
  {
    "path": "Lesson29-DBSCAN聚类与K-means及Hierarchical Clustering区别.ipynb",
    "chars": 4668434,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第29课 DBSCAN聚类与K-means及Hierarchica"
  },
  {
    "path": "Lesson3-Numpy, Seaborn库.ipynb",
    "chars": 46652,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第三课 Numpy, Seaborn库\\n\",\n    \"\\n\","
  },
  {
    "path": "Lesson30-纽约Uber数据分析图形化和K-means计算热点.ipynb",
    "chars": 925065,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第30课 纽约Uber数据分析图形化和K-means计算热点\\n\""
  },
  {
    "path": "Lesson31-KMeans clustering如何验证K点最佳 - silhouette analysis.ipynb",
    "chars": 517370,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第31课 KMeans clustering如何验证K点最佳 - "
  },
  {
    "path": "Lesson32-无监督学习Principal Component Analysis(PCA)精简高维数据.ipynb",
    "chars": 957359,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第32课 无监督学习Principal Component Ana"
  },
  {
    "path": "Lesson33-12种聚类(无监督学习)算法说明和区分比较(一).ipynb",
    "chars": 5625590,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第33课 12种聚类(无监督学习)算法说明和区分比较(一)\\n\","
  },
  {
    "path": "Lesson34-12种聚类(无监督学习)算法说明和区分比较(二).ipynb",
    "chars": 6888751,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第34课 12种聚类(无监督学习)算法说明和区分比较(二)\\n\","
  },
  {
    "path": "Lesson36-数据科学家及12种聚类(无监督学习)算法简明源代码归纳.ipynb",
    "chars": 1713739,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第36课 数据科学家及12种聚类(无监督学习)算法简明源代码归纳\\"
  },
  {
    "path": "Lesson37-基于信用卡交易欺诈非均衡数据的处理(1).ipynb",
    "chars": 135901,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第37课 基于信用卡交易欺诈非均衡数据的处理(1)\\n\",\n  "
  },
  {
    "path": "Lesson38-基于信用卡交易欺诈非均衡数据的处理(2).ipynb",
    "chars": 201567,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第38课 基于信用卡交易欺诈非均衡数据的处理(2)\\n\",\n  "
  },
  {
    "path": "Lesson39-Churn_Modelling.csv",
    "chars": 684858,
    "preview": "RowNumber,CustomerId,Surname,CreditScore,Geography,Gender,Age,Tenure,Balance,NumOfProducts,HasCrCard,IsActiveMember,Esti"
  },
  {
    "path": "Lesson4-Pandas csv,json,html,excel,pickle.ipynb",
    "chars": 180844,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第四课 Pandas库\\n\",\n    \"\\n\",\n    \"pi"
  },
  {
    "path": "Lesson4-mercedesbenz.csv",
    "chars": 3220873,
    "preview": "ID,y,X0,X1,X2,X3,X4,X5,X6,X8,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21,X22,X23,X24,X26,X27,X28,X29,X30,X31,X32,X33"
  },
  {
    "path": "Lesson4-wine.csv",
    "chars": 12208,
    "preview": ",0,1,2,3,4,5,6,7,8,9,10,11,12,13\r\n0,1,14.23,1.71,2.43,15.6,127,2.8,3.06,0.28,2.29,5.64,1.04,3.92,1065\r\n1,1,13.2,1.78,2.1"
  },
  {
    "path": "Lesson40-Model-Deployment-Flask/Lesson40-模型部署及使用flask建立web服务器.ipynb",
    "chars": 697994,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第40课 模型部署及使用flask建立web服务器\\n\",\n  "
  },
  {
    "path": "Lesson40-Model-Deployment-Flask/app.py",
    "chars": 1037,
    "preview": "# 第二步在localhost上建立flask-app\n# 安装pip install flask\n\nimport numpy as np\nfrom flask import Flask, request, render_template\n"
  },
  {
    "path": "Lesson40-Model-Deployment-Flask/hiring.csv",
    "chars": 156,
    "preview": "experience,test_score,interview_score,salary\r\n0,8,9,50000\r\n0,8,6,45000\r\n5,6,7,60000\r\n2,10,10,65000\r\n7,9,6,70000\r\n3,7,10,"
  },
  {
    "path": "Lesson40-Model-Deployment-Flask/model.py",
    "chars": 716,
    "preview": "# Importing the libraries\nimport pandas as pd\nimport pickle\n\ndataset = pd.read_csv('hiring.csv')\n\nX = dataset.iloc[:, :3"
  },
  {
    "path": "Lesson40-Model-Deployment-Flask/static/css/style.css",
    "chars": 5612,
    "preview": "@import url(https://fonts.googleapis.com/css?family=Open+Sans);\n.btn { display: inline-block; *display: inline; *zoom: 1"
  },
  {
    "path": "Lesson40-Model-Deployment-Flask/templates/index.html",
    "chars": 1362,
    "preview": "<!DOCTYPE html>\n<html >\n<!--From https://codepen.io/frytyler/pen/EGdtg-->\n<head>\n  <meta charset=\"UTF-8\">\n  <title>ML AP"
  },
  {
    "path": "Lesson41-Model-Deployment-Streamlit/Lesson41-使用streamlit6分钟完成模型部署及建立web服务器.ipynb",
    "chars": 570019,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第41课 使用streamlit6分钟完成模型部署及建立web服"
  },
  {
    "path": "Lesson41-Model-Deployment-Streamlit/app_streamlit.py",
    "chars": 980,
    "preview": "import numpy as np\nimport pickle\nimport streamlit as st\n\nmodel_st = pickle.load(open('model.pkl', 'rb'))\n\ndef predict_sa"
  },
  {
    "path": "Lesson42-st.py",
    "chars": 2881,
    "preview": "\r\n#import streamlit as st\r\n#st.write('hello world')\r\n\r\n#x=st.slider('x')\r\n#st.write(x, 'x+x=', x+x)\r\n\r\nimport streamlit "
  },
  {
    "path": "Lesson42-使用streamlit快速地图展现纽约Uber数据分析.ipynb",
    "chars": 114148,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第42课 使用streamlit快速地图展现纽约Uber数据分析"
  },
  {
    "path": "Lesson43-Insurance.csv",
    "chars": 185,
    "preview": "age,bought_insurance\r\n22,0\r\n25,0\r\n47,1\r\n52,0\r\n46,1\r\n56,1\r\n55,0\r\n60,1\r\n62,1\r\n61,1\r\n18,0\r\n28,0\r\n27,0\r\n29,0\r\n49,1\r\n55,1\r\n2"
  },
  {
    "path": "Lesson43-深度学习使用python建立最简单的神经元neuron.ipynb",
    "chars": 1174580,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第43课 深度学习使用python建立最简单的神经元neuron"
  },
  {
    "path": "Lesson44-data.csv",
    "chars": 7490,
    "preview": "Glucose,BloodPressure,Outcome\r\n148,72,1\r\n85,66,0\r\n183,64,1\r\n89,66,0\r\n137,40,1\r\n116,74,0\r\n78,50,1\r\n115,0,0\r\n197,70,1\r\n125"
  },
  {
    "path": "Lesson44-使用程序设计流程图解析并建立神经网络(不依赖深度学习library).ipynb",
    "chars": 642608,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第44课 使用程序设计流程图解析并建立神经网络(不依赖DL Li"
  },
  {
    "path": "Lesson45-神经网络建立(结果可变)最小机器人.ipynb",
    "chars": 376929,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第45课 神经网络建立(结果可变)最小机器人\\n\",\n    \""
  },
  {
    "path": "Lesson46-矩阵乘积和(手工)验算2层神经网络.ipynb",
    "chars": 1072235,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第46课 矩阵乘积和(手工)验算2层神经网络\\n\",\n    \""
  },
  {
    "path": "Lesson47-Keras,TensorFlow和PyTorch比较及应用TensorFlow建立ANN模型.ipynb",
    "chars": 336002,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第47课 Keras,TensorFlow和PyTorch比较及"
  },
  {
    "path": "Lesson47-pima-indians-diabetes.data",
    "chars": 23278,
    "preview": "6,148,72,35,0,33.6,0.627,50,1\n1,85,66,29,0,26.6,0.351,31,0\n8,183,64,0,0,23.3,0.672,32,1\n1,89,66,23,94,28.1,0.167,21,0\n0,"
  },
  {
    "path": "Lesson48-Activation Function为什么Relu比Sigmoid好 for Vanishing Gradient.ipynb",
    "chars": 2314245,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第48课 Activation Function为什么Relu比"
  },
  {
    "path": "Lesson49-调整Activation Function参数对神经网络的影响.ipynb",
    "chars": 409296,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第49课 调整Activation Function参数对神经网"
  },
  {
    "path": "Lesson5-Matplotlib.ipynb",
    "chars": 135242,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第五课 MatplotLib\\n\",\n    \"\\n\",\n    "
  },
  {
    "path": "Lesson50-ionosphere.csv",
    "chars": 76466,
    "preview": "1,0,0.99539,-0.05889,0.85243,0.02306,0.83398,-0.37708,1,0.03760,0.85243,-0.17755,0.59755,-0.44945,0.60536,-0.38223,0.843"
  },
  {
    "path": "Lesson50-ionosphere.names.txt",
    "chars": 3116,
    "preview": "1. Title: Johns Hopkins University Ionosphere database\n\n2. Source Information:\n   -- Donor: Vince Sigillito (vgs@aplcen."
  },
  {
    "path": "Lesson50-神经网络ANN(MLP), CNN, RNN区别及应用(一).ipynb",
    "chars": 344069,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第50课 神经网络ANN(MLP), CNN, RNN区别及应用"
  },
  {
    "path": "Lesson51- 神经网络ANN(MLP), CNN, RNN区别及应用(二).ipynb",
    "chars": 375836,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第51课 神经网络ANN(MLP), CNN, RNN区别及应用"
  },
  {
    "path": "Lesson52- 神经网络ANN(MLP), CNN, RNN区别及应用(三).ipynb",
    "chars": 1224540,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第52课 神经网络ANN(MLP), CNN, RNN区别及应用"
  },
  {
    "path": "Lesson53- 神经网络ANN(MLP), CNN, RNN区别及应用(四).ipynb",
    "chars": 506825,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第53课 神经网络ANN(MLP), CNN, RNN区别及应用"
  },
  {
    "path": "Lesson53-monthly-car-sales.csv",
    "chars": 1834,
    "preview": "\"Month\",\"Sales\"\r\n\"1960-01\",6550\r\n\"1960-02\",8728\r\n\"1960-03\",12026\r\n\"1960-04\",14395\r\n\"1960-05\",14587\r\n\"1960-06\",13791\r\n\"19"
  },
  {
    "path": "Lesson54-Keras and TensorFlow tf.keras区别-which Keras package.ipynb",
    "chars": 327259,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第54课 Keras and TensorFlow tf.ker"
  },
  {
    "path": "Lesson55-Conventional Neural Network(CNN)图像处理过程解析.ipynb",
    "chars": 337785,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第55课 Conventional Neural Network"
  },
  {
    "path": "Lesson55-Convolutions Neural Network(CNN)图像处理过程解析.ipynb",
    "chars": 338214,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第55课 Convolutions Neural Network"
  },
  {
    "path": "Lesson56-CNN应用Keras Tuner寻找最佳Hidden Layers层数和神经元数量.ipynb",
    "chars": 39659,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第56课 CNN应用Keras Tuner寻找最佳Hidden "
  },
  {
    "path": "Lesson57-应用ANN+SMOTE+Keras Tuner算法进行信用卡交易欺诈侦测.ipynb",
    "chars": 81718,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第57课 应用ANN+SMOTE+Keras Tuner算法进行"
  },
  {
    "path": "Lesson58-使用Word Embedding+Keras进行自然语言处理NLP.ipynb",
    "chars": 397904,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第58课 使用Word Embedding+Keras进行自然语"
  },
  {
    "path": "Lesson59-使用Word Embedding+Keras建立最小语义解释器NLP.ipynb",
    "chars": 414287,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第59课 使用Word Embedding+Keras建立最小语"
  },
  {
    "path": "Lesson6-Seaborn图形进行数据分析.ipynb",
    "chars": 396505,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第六课 Seaborn图形进行数据分析\\n\",\n    \"\\n\","
  },
  {
    "path": "Lesson60-使用word2vec+tensorflow进行NLP自然语言处理.ipynb",
    "chars": 1348564,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第60课 使用word2vec+tensorflow自然语言处理"
  },
  {
    "path": "Lesson61-使用Gensim word2vec自然语言处理NLP.ipynb",
    "chars": 425894,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第61课 使用Gensim word2vec自然语言处理NLP\\"
  },
  {
    "path": "Lesson62- 应用LSTM识别Fake News(NLP).ipynb",
    "chars": 335384,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第62课 应用LSTM识别Fake News(NLP)\\n\",\n"
  },
  {
    "path": "Lesson63-Bidirectional RNN LSTM识别Fake News(NLP).ipynb",
    "chars": 495745,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第63课 Bidirectional RNN LSTM识别Fak"
  },
  {
    "path": "Lesson64-AAPL.csv",
    "chars": 192243,
    "preview": ",symbol,date,close,high,low,open,volume,adjClose,adjHigh,adjLow,adjOpen,adjVolume,divCash,splitFactor\r\n0,AAPL,2015-05-27"
  },
  {
    "path": "Lesson64-使用Stacked LSTM预测Apple股票价格T+N.ipynb",
    "chars": 183314,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第64课 使用Stacked LSTM预测Apple股票价格T+"
  },
  {
    "path": "Lesson66-Data.csv",
    "chars": 7649778,
    "preview": "Date,Label,Top1,Top2,Top3,Top4,Top5,Top6,Top7,Top8,Top9,Top10,Top11,Top12,Top13,Top14,Top15,Top16,Top17,Top18,Top19,Top2"
  },
  {
    "path": "Lesson66-NLP Count Vectorizer与TF-IDF Vectorizer比较.ipynb",
    "chars": 701433,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第66讲 NLP Count Vectorizer与TF-IDF"
  },
  {
    "path": "Lesson67-投研策略-基于上市公司消息面股票涨跌的分析Sentiment Analysis NLP.ipynb",
    "chars": 1432448,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第67讲 投研策略-基于上市公司消息面进行股票涨跌的分析Sent"
  },
  {
    "path": "Lesson68-Kelly凯利方程式-对风险及收益的评估.ipynb",
    "chars": 242531,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第68讲 Kelly凯利方程式-对风险及收益的评估\\n\",\n  "
  },
  {
    "path": "Lesson69-应用Keras Vgg16, Vgg19, Resnet等模型图像识别CNN.ipynb",
    "chars": 1289217,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第69讲 应用Keras Vgg16, Vgg19, Resne"
  },
  {
    "path": "Lesson7-ForIf&Functions函数.ipynb",
    "chars": 16376,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第七课 For, If及Functions函数\\n\",\n    \""
  },
  {
    "path": "Lesson70-应用Transfer Learning改造Keras Vgg 16等模型图像识别CNN.ipynb",
    "chars": 445684,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第70讲 应用Transfer Learning改造Keras "
  },
  {
    "path": "Lesson71-使用CNN Keras建立模型进行图像识别.ipynb",
    "chars": 576639,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第71讲 使用CNN Keras建立模型进行图像识别\\n\",\n "
  },
  {
    "path": "Lesson72-使用flask建立图像识别小程序Demo/Lesson72-使用flask建立图像识别小程序Demo.ipynb",
    "chars": 1360,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第72讲 使用flask建立图像识别小程序Demo\\n\",\n  "
  },
  {
    "path": "Lesson72-使用flask建立图像识别小程序Demo/app.py",
    "chars": 1838,
    "preview": "#A static website contains Web pages with fixed content. Each page is coded in HTML and displays the same information to"
  },
  {
    "path": "Lesson72-使用flask建立图像识别小程序Demo/static/css/main.css",
    "chars": 959,
    "preview": ".img-preview {\n    width: 256px;\n    height: 256px;\n    position: relative;\n    border: 5px solid #F8F8F8;\n    box-shado"
  },
  {
    "path": "Lesson72-使用flask建立图像识别小程序Demo/static/js/main.js",
    "chars": 1552,
    "preview": "$(document).ready(function () {\n    // Init\n    $('.image-section').hide();\n    $('.loader').hide();\n    $('#result').hi"
  },
  {
    "path": "Lesson72-使用flask建立图像识别小程序Demo/templates/base.html",
    "chars": 1198,
    "preview": "<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale"
  },
  {
    "path": "Lesson72-使用flask建立图像识别小程序Demo/templates/index.html",
    "chars": 766,
    "preview": "{% extends \"base.html\" %} {% block content %}\n\n<h2>图像类别Classifier</h2>\n\n<div>\n    <form id=\"upload-file\" method=\"post\" e"
  },
  {
    "path": "Lesson73-Imbanlanced Data非均衡数据下的人脸识别.ipynb",
    "chars": 9008,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第73讲 Imbanlanced Data非均衡数据下的人脸(图"
  },
  {
    "path": "Lesson74-使用OpenCV读写和展示图像.ipynb",
    "chars": 5337,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第74讲 使用OpenCV读写和展示图像\\n\",\n    \"\\n"
  },
  {
    "path": "Lesson75-使用OpenCV HAAR Cascade Classifiers识别脸部和眼部特征.ipynb",
    "chars": 282949,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第75讲 使用OpenCV HAAR Cascade Class"
  },
  {
    "path": "Lesson76-使用OpenCV HAAR Cascade Classifiers识别(视频)人脸和眼部特征.ipynb",
    "chars": 5279,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第76讲 使用OpenCV HAAR Cascade Class"
  },
  {
    "path": "Lesson77-使用OpenCV HAAR Cascade Classifiers识别行人和行驶汽车.ipynb",
    "chars": 4877,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第77讲 使用OpenCV HAAR Cascade Class"
  },
  {
    "path": "Lesson78-使用MTCNN识别人脸和眼部特征.ipynb",
    "chars": 1471555,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第78讲 使用MTCNN识别人脸和眼部特征\\n\",\n    \"\\"
  },
  {
    "path": "Lesson79-使用OpenCV对(脸部)图像模糊处理.ipynb",
    "chars": 19299,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第79讲 使用OpenCV对(脸部)图像模糊处理\\n\",\n   "
  },
  {
    "path": "Lesson80-使用OpenCV卡通化图像和艺术化图像.ipynb",
    "chars": 6045,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第80讲 使用OpenCV卡通化图像和艺术化图像\\n\",\n   "
  },
  {
    "path": "Lesson81-在CNN最后一层使用SVM实施Image Classification.ipynb",
    "chars": 254113,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第81讲 在CNN Last Layer使用SVM实施Image"
  },
  {
    "path": "Lesson82-Face-Mask-Detection/Lesson82-使用Keras, OpenCV和MobileNet识别口罩是否佩戴.ipynb",
    "chars": 2840897,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第82讲 使用Keras, OpenCV和MobileNet识别"
  },
  {
    "path": "Lesson82-Face-Mask-Detection/face_detector/deploy.prototxt",
    "chars": 28092,
    "preview": "input: \"data\"\ninput_shape {\n  dim: 1\n  dim: 3\n  dim: 300\n  dim: 300\n}\n\nlayer {\n  name: \"data_bn\"\n  type: \"BatchNorm\"\n  b"
  },
  {
    "path": "Lesson82-Face-Mask-Detection/requirements.txt",
    "chars": 115,
    "preview": "tensorflow>=1.15.2\nkeras==2.3.1\nimutils==0.5.3\nnumpy==1.18.2\nopencv-python==4.2.0.*\nmatplotlib==3.2.1\nscipy==1.4.1\n"
  },
  {
    "path": "Lesson83-haarcascade_frontalface_default.xml",
    "chars": 930127,
    "preview": "<?xml version=\"1.0\"?>\n<!--\n    Stump-based 24x24 discrete(?) adaboost frontal face detector.\n    Created by Rainer Lienh"
  },
  {
    "path": "Lesson83-使用Keras, OpenCV识别是否佩戴口罩.ipynb",
    "chars": 62543,
    "preview": "{\n \"cells\": [\n  {\n   \"attachments\": {},\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第83讲 使用Ker"
  },
  {
    "path": "Lesson84-从Python到算法精通:为什么使用Feature Scaling?面试题.ipynb",
    "chars": 713513,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第84讲 从Python到算法精通:为什么使用Feature S"
  },
  {
    "path": "Lesson85-如何使用Feature Scaling?什么时候使用?面试题.ipynb",
    "chars": 442747,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第85讲 Python学习85讲-如何使用Feature Sca"
  },
  {
    "path": "Lesson86-哪些算法sensitive to outliers(handle well)?Interview Q.ipynb",
    "chars": 6381,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第86讲 哪些算法sensitive to outliers(h"
  },
  {
    "path": "Lesson87-Confusion Matrix Type 2 Error与Type 1 Error相比哪个影响更坏?Interview Q.ipynb",
    "chars": 359953,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第87讲 Confusion Matrix Type 2 Err"
  },
  {
    "path": "Lesson88-Linear Regression特性?Interview Q.ipynb",
    "chars": 47091,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第88讲 Linear Regression特性?Intervi"
  },
  {
    "path": "Lesson89-Logistics Regression特性?Interview Q.ipynb",
    "chars": 215448,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第89讲 Why Logistics Regression Re"
  },
  {
    "path": "Lesson9-String,Iterables vs Iterators, Pyforest.ipynb",
    "chars": 32016,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第九课 String, Iterables vs Iterator"
  },
  {
    "path": "Lesson90-When Decision Tree is Better Than Logistic Regression Interview Q.ipynb",
    "chars": 556135,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第90讲 When Decision Tree is Bette"
  },
  {
    "path": "Lesson91-Overfitting - Low Bias and High Variance(Decision Tree).ipynb",
    "chars": 224763,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第91讲 Overfitting - Low Bias and "
  },
  {
    "path": "Lesson92-Decision Tree特性? Interview Q.ipynb",
    "chars": 415116,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第92讲 Decision Tree特性? Interview "
  },
  {
    "path": "Lesson93-Ensemble Learning Interview Q.ipynb",
    "chars": 309834,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第93讲 Ensemble Learning Interview"
  },
  {
    "path": "Lesson94-万金油-Random Forest 特性? Interview Q.ipynb",
    "chars": 65292,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第94讲 万金油-Random Forest 特性? Inter"
  },
  {
    "path": "Lesson95-AdaBoost, GBoost, XGBoost -- Boosting特性? Interview Q.ipynb",
    "chars": 263801,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第95讲 AdaBoost, GBoost, XGBoost -"
  },
  {
    "path": "Lesson96-XGBoost, Light GBM, CatBoost算法比较.ipynb",
    "chars": 1239339,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第96讲 XGBoost, Light GBM, CatBoos"
  },
  {
    "path": "Lesson97-Python LightGBM建模.ipynb",
    "chars": 78773,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第97讲 Python LightGBM建模\\n\",\n    \""
  },
  {
    "path": "Lesson97-adult_csv.csv",
    "chars": 5202952,
    "preview": "age,workclass,fnlwgt,education,education-num,marital-status,occupation,relationship,race,sex,capitalgain,capitalloss,hou"
  },
  {
    "path": "Lesson99-Naive Bayes(Bernoulli,Multinomial,Gaussian)算法区别及与RF比较.ipynb",
    "chars": 305339,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第99讲 Naive Bayes(Bernoulli,Multi"
  },
  {
    "path": "lesson12-Python进阶ML-使用Python应用Linear Regression线性回归.ipynb",
    "chars": 15216,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第十二课 Python进阶ML-使用Python应用Linear "
  },
  {
    "path": "lesson8-Lambda,Map,Filter,List Comprehension.ipynb",
    "chars": 12722,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 第八课 Lambda, Map, Filter, List Com"
  },
  {
    "path": "第65讲 量化交易Quant-使用Stacked LSTM预测T+1上证指数.ipynb",
    "chars": 326629,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 第65讲 量化交易Quant-使用Stacked LSTM预测T"
  }
]

// ... and 13 more files (download for full content)

About this extraction

This page contains the full source code of the rayc2020/LessonPythonCode GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 166 files (136.5 MB), approximately 24.5M tokens, and a symbol index with 10 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!