python正则表达式判断数字_Python机器学习之手写数字辨识及正则表达式
學習與預測
在前面,我們已經將digits數據集中的圖像讀取出來,并且使用matplotlib庫繪制出了一張數據圖片。并且我們已經定義好了一個SVC估計器,估計器的學習步驟可以就此開始啦。我們有說過,在定義好預測模型之后,必須用已知的各條數據類別的訓練集調教它。換句話說,也就是讓機器去學習我們想讓它知道的信息。
考慮到Digits數據集的數據量很大,用它進行訓練得到的模型效果肯定好。也就是說,模型識別手寫體數字準確率高。Digits數據集由1797個元素組成,可以考慮用前1791個作為訓練集,剩余6個作為驗證集。我們可以再次使用matplotlib生成這6個手寫體數字的圖像,以便查看其細節。
我們可以看到,我們生成了6個數字的圖像。現在我們可以讓先前定義的svc估計器進行學習。
我們可以看到我們6個數字的預測結果完全正確,svc估計器能夠正確地學習,識別手寫體數字。
正則表達式
正則表達式為高級的文本模式匹配、抽取、與/或文本形式的搜索和替換功能提供了基礎,簡單地說,正則表達式(簡稱為regex)有一些由字符和特殊符號組成的字符串,它們描述了模式的重復或者表述多個字符,于是正則表達式能按照某種模式匹配一系列有相似特征的字符串。換句話說,它們能夠匹配多個字符串……一種只能匹配一個字符串的正則表達式的模式很乏味并且毫無用處。
Python通過標準庫中的re模塊來支持正則表達式。本節我們將會對其做一些簡單的介紹,方便我們后續在使用爬蟲時能夠更方便。在python中,主要有兩種方法完成模式匹配:“搜索”(searching),即在字符串任意部分中搜索匹配的模式;而匹配是指判斷一個字符串能否從起始處全部或者部分地匹配某個模式。搜索通過search( )函數或方法來實現,而匹配通過調用match( )函數或方法來實現。總之,當涉及模式時,全部使用術語匹配;我們按照Python如何完成模式匹配的方式來區分“搜索”和“匹配”。
寫出第一個正則表達式
前面講到,正則表達式是包含文本和特殊字符的字符串,該字符串描述一個可以識別各種字符串的模式。我們還簡單闡述了正則表達式的字母表。對于通用文本,用于正則表達 his的字母表是所有大小寫字母及數字的集合。可能也存在一些特殊的字母,例如,僅包含字符“0”和“1”的字母表。該字母表可以表示所有二進制字符串的集合。
現在,讓我們看看正則表達式的大部分基本內容,雖然正則表達式通常被視為“高級主題”,但是它們其實也非常簡單。把標準字母表用于通用文本,我們展示了一些簡單的正則表達式以及這些模式所表述的字符串。下面所介紹的正則表達式都是最基本的、最普通的。它們僅僅用一個簡單的字符串構造成一個匹配字符串的模式:該字符串由正則表達式定義。下面我們展示幾個正則表達式和它們匹配的字符串:
上面的第一個正則表達式模式是“foo”。該模式沒有使用任何特殊符號去匹配其他符號,而之匹配所描述的內容,所以,能夠匹配這個模式的只有包含“foo”的字符串。同理,對于字符串“Python”和“abc123”也是一樣的。正則表達式的強大之處在于引入特殊字符來定義字符集、匹配子組和重復模式。正是由于這些特殊符號,使得正則表達式可以匹配字符串集合,而不僅僅只是某個字符。
總結
以上是生活随笔為你收集整理的python正则表达式判断数字_Python机器学习之手写数字辨识及正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPT-4 救了我狗的命
- 下一篇: 快手2022年第四季度财报:营收283亿