scikit-learning 学习笔记

版本 0.24.2


 

先看这本电子书, 哈佛95后写的入门: https://dafriedman97.github.io/mlbook/content/c1/concept.html

 

中文版本的这个也还可以: https://lulaoshi.info/machine-learning/linear-model/minimise-loss-function.html

 


名字对照:  linear regression     线性回归

loss function.             损失函数

poisson distribution : 泊松分布
Poisson function :  泊松函数
———————————
—————————————-
分类器的一个入门例子 :   https://www.cnblogs.com/qcloud1001/p/9405730.html

 

怎么做一个带login 的python 定时爬虫程序

网络爬虫(英語:web crawler),也叫網路蜘蛛(spider)

python有这样几个库:

  • BeautifulSoup: Beautiful soup is a library for parsing HTML and XML documents. Requests (handles HTTP sessions and makes HTTP requests) in combination with BeautifulSoup (a parsing library) are the best package tools for small and quick web scraping. For scraping simpler, static, less-JS related complexities, then this tool is probably what you’re looking for. If you want to know more about BeautifulSoup, please refer to my previous guide on Extracting Data from HTML with BeautifulSoup.

    lxml is a high-performance, straightforward, fast, and feature-rich parsing library which is another prominent alternative to BeautifulSoup.

  • Scrapy: Scrapy is a web crawling framework that provides a complete tool for scraping. In Scrapy, we create Spiders which are python classes that define how a particular site/sites will be scrapped. So, if you want to build a robust, concurrent, scalable, large scale scraper, then Scrapy is an excellent choice for you. Also, Scrapy comes with a bunch of middlewares for cookies, redirects, sessions, caching, etc. that helps you to deal with different complexities that you might come across. If you want to know more about Scrapy, please refer to my previous guide on Crawling the Web with Python and Scrapy.

  • Selenium For heavy-JS rendered pages or very sophisticated websites, Selenium webdriver is the best tool to choose. Selenium is a tool that automates the web-browsers, also known as a web-driver. With this, you can open a Google Chrome/Mozilla Firefox automated window, which visits a URL and navigates on the links. However, it is not as efficient as the tools which we have discussed so far. This tool is something to use when all doors of web scraping are being closed, and you still want the data which matters to you. If you want to know more about Selenium, please refer to Web Scraping with Selenium.

 

其中 scrapy 简单的例子 : https://www.digitalocean.com/community/tutorials/how-to-crawl-a-web-page-with-scrapy-and-python-3

以上例子是不需要login的

 


如果需要login , 要用到。scrapy 的 formrequest。

以 https://ktu3333.asuscomm.com:9085/enLogin.htm

为例

测试login已成功


scrapy 抓取的只是静态内容, 目标网页含有js 和ajax , 需要配合  selenium 和 webdrive一起用

原因见: https://www.geeksforgeeks.org/scrape-content-from-dynamic-websites/


mac 如何安装 chrome web drive

https://www.swtestacademy.com/install-chrome-driver-on-mac/

 


2021-07-27 : login 不再使用 scrapy , 因为它login之后和selenium 不是一个session , 所以直接用selenium login


找element用 xpath , 注意xpath里如果用到参数的写法


目前为止能运行的代码: 还没加定时功能 , python 版本3.8.6

 


改进版,把结果放到一个json 数组

 

python how to cal math

  • numpy生成随机数:

a = np.random.randint(0,20,(5,))

在0和20之间生成5个随机整数


计算刚才生成数组的梯度 (gradient)

np.gradient(a)


梯度能看作导数吗?  不能

  • 导数 : Derivative

可以用numpy计算, 也能用sympy

python 怎么计算导数 :   要算导数,首先要有函数,对于时间序列,并没有拟合函数,似乎也没必要有

 

 

 

怎么用python画柱状k线

来源: https://www.programmersought.com/article/17884763118/

 

 

 

windows 10 , MAC Big Sur 安装 pytorch 1.4 cpu 版本

  •  python需要 3.8.6 这个版本, 必须精确
  • 因为当前台式机是amd显卡, 所以用不了 nvadia cuda  , 只能直接安装cpu版本
  • 网上有很多例子提出用清华或者阿里镜像 , 方法是 :

     

    实测速度并不好 ,

  • 最终的解决方法是先fq ,然后设置 command line 代理 :

然后去掉上面安装命令 包括 -i 及之后的部分, 执行即可

 


For Mac Big Sur

https://zhuanlan.zhihu.com/p/168748757

mac os BIG SUR how to 安装python多个版本

  • 先安装  brew

  •  

  •  

    在这一步失败, 因为mac os BIG SUR 不能安装3.6.7版本, 有人也同样这个问题, 目前没解决方法

 

BIG SUR 只能安装 python 3.9.1版本 , 但是问题是: python3.9.1过于新 , 很多库还不支持这个版本

 

 

python 数值分析

 

python 时间序列建模

  • 所谓建模, 就是找一个合适的方程描述特定的曲线

有了方程,可以求导,计算某一点位的即时趋势

  • 最基础的,  up , down 的趋势怎么判断  ?

当前是用一个10元素的栈,放过去1分钟的斜率,先进先出

如果新斜率普遍大于旧的,说明是涨势

 

  • 参考文章 :

A comprehensive beginner’s guide to create a Time Series Forecast (with Codes in Python and R)

https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/


金融时间序列分析  第三版

 


https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5283670/检测时间序列的突然变化


 

https://techrando.com/2019/08/14/a-brief-introduction-to-change-point-detection-using-python/   

用python实现

关键字 : Detecting changes in a time-series


 

理论论文:

1801.00718


电子书 about forecasting

https://otexts.com/fpp2/appendix-using-r.html

 

  • 关键字

Change point detection (or CPD)

time serial   时间序列

Trends    趋势

Irregularity  或者叫 noise , 噪音,扰乱

 

  • 要达到的效果

大致类似这个

https://patents.google.com/patent/CN106600410A/zh

本发明公开了一种基于时间序列的量化投资方法,所述方法为下述方法之一:(1)时间序列预测:是一种考虑变量随时间发展变化规律,并用该变量以往的统计资料建立数学模型,进行类推或延伸,借以预测下一段时间的趋势的方法;(2)相似搜索:是通过测量时间序列数据之间的相似度,从历史库中寻找相似的时间序列数据,从而对系统的走势做出预测;(3)周期分析:指对周期模式的挖掘,即在时序数据库中找出重复出现的模式。本申请将时间序列与量化分析相结合,可以做出准确预测,满足客户的使用需求。

其中相似性已有基础的解决方案,见:

http://www.notesoflyang.com/?p=1757

 

  • 其他的影响因素

a) 出现哪种情况会让多方情绪升高

空方开始做空

空方绝望平空或者转多

多方绝望

b)  降噪未必是对的 , 来回反复是为了强化信念,特别是错的信念

 

  • 作业

1:  以xxxx 为前高 ,xxxx为低点 ,  以xxxx为新高 , 自动画出集中突破走势 图

提示, 人们如果被灌输进前高是高点的概念, 那么会在高于此位置多少的范围内做空, 是有大数据支持的 ,主力会故意流出一个做空区域陷阱