Scikit-learn 套件沒有自訂資料類別, 完全使用Python 本身的資料結構與Numpy 陣列, 並在其所有實作的演算法中提供了一致的呼叫介面, 只要修改幾行程式碼即 ...
2021年10月8日星期五
機器學習筆記:初探scikit-learn套件
雖然深度學習是機器學習裡最受重視的項目,但有些任務並不一定要用到深度學習,利用傳統的機器學習套件scikit-learn就能取得很好的表現.在進入深度學習領域之前先熟悉scikit-lean會比較好.本篇是閱讀下列幾本書關於scikit-learn的筆記: 從scikit-learn一步一腳印(佳魁,黃永昌)Scikit-Learn新手的晉級(博碩,張浩然譯)Python資料科學與人工智慧應用實務 (旗標,陳允傑)scikit-learnCookbook,2ndedition(Packt,2017)PythonScikit-LearnforBeginners (AIPublishing,2021)TheMachineLearningWorkshop,2nd(Packt,2020)MasteringMachineLearningwithscikit-learn,2ndEdition(Packt,2017)MachineLearningwithscikit-learnQuickStartGuide(Packt,2018)Hands-OnMachineLearningwithscikit-learnandScientificPythonToolkits(Packt,2020)其中No.2是No.7的中譯本. Scikit-learn是一個基於Numpy與Scipy的Python開放原始碼機器學習套件,它實作了幾乎所有的主流機器學習演算法,包含分類,回歸,分群,降維,隨機森林,支持向量機,KNN,K-means等,並提供了資料預處理,特徵提取,超參數最佳化,以及模型評估等所需的函數模組,自2007年發布以來已經成為最受歡迎的機器學習套件之一. Scikit-learn源自 DavidCournapeau 的Google程式專案比賽作品scikits.learn,後來經過其他貢獻者例如FabianPedregosa等人重寫成為今日之面貌.其名稱源自於原作者最初是將其視為Scipy的機器學習擴充工具箱(extensiontoolkit),參考:#Wiki:Scikit-learn# https://scikit-learn.org/stable/Scikit-learn教學文件參考:# Day8-Scikit-learn介紹(1)# Day10-Scikit-learn介紹(2)# Day11-Scikit-learn介紹(3)_FeatureEngineering# Day12-Scikit-learn介紹(4)_BayesClassification# Day13-Scikit-learn介紹(5)_Linear-Regression# Day14-Scikit-learn介紹(6)_GaussianLinearRegression# Day15-Scikit-learn介紹(7)_SupportVectorMachines# Day16-Scikit-learn介紹(8)_DecisionTrees# Day17-Scikit-learn介紹(9)_RandomForests# Day18-Scikit-learn介紹(10)_PrincipalComponentAnalysis# Day19-Scikit-learn介紹(11)_K-Means# Day20-Scikit-learn介紹(12)_GaussianMixtureModels# Day21-Scikit-learn介紹(13)_HOG+SVM# Scikit-Learn教學:Python與機器學習# Scikit-learnTutorial:MachineLearninginPython# Python中常用包——sklearn主要模組和基本使用方法Scikit-learn套件沒有自訂資料類別,完全使用Python本身的資料結構與Numpy陣列,並在其所有實作的演算法中提供了一致的呼叫介面,只要修改幾行程式碼即可用來對不同的演算法進行實驗,因此非常容易使用(easytouse), . Scikit-learn還自帶了許多資料集,sklearn.datasets模組提供了load_xxxx()函數來載入這些已清理過的玩具資料集(toydatasets),讓使用者能馬上用它們來進行測試與學習.透過fetch_xxxx()函數則可以擷取真實資料集(realdatasets),這樣一來使用者即可專注於演算法而無須花費時間去收集與清洗資料.不過,Scikit-learn並不支援分散式運算,故不適合用來處理超大型資料集.另一個缺點是它不支援深度學習. Scikit-learn的功能與應用如下:資料預處理(preprocessing)模型選擇(modelselection)監督式學習(supervisedlearning)分類(classification)-離散特徵回歸(regressing)-連續特徵非監督式學習(unsupervisedlearning)分群(clustering)降維(dimensionalityreduction)資料預處理包含資料清洗與資料轉換,資料清洗主要是將原始資料轉成結構化資料(通常是指二維表格資料),包含遺漏值處理與資料整併等,通常使用Pandas套件處理.資料轉換則是將清洗過的資料轉成適合機器學習演算法操作的格式,例如尺規(scale)轉換或正規化(normalization)轉換,以便演算法能達到最佳表現. 完成資料預處理後應該對資料進行探索以便選擇一個適合的機器學習模型(即演算法),因為不同的任務會因為選擇的機器學習模型而有不同的預測表現.然後即可用監督式與非監督式學習進行訓練與預測,這兩個就是scikit-learn的預測器功能.Scikit-learn的pipeline.Pipeline類別提供了模組化功能,可將轉換器與預測器打包成一個任務管線(pipeline),並使用預設的初始化參數讓轉換與預測一氣呵成. 在Scikit-learn官網有一張圖清楚地揭示使用sklearn進行機器學習專案的路徑:Source:Scikit-learn原圖網址:# http://scikit-learn.org/stable/_static/ml_map.png以下是簡單的初步測試: 1.安裝Scikit-learn: 在Windows下直接用pip/pip3指令即可安裝Scikit-learn:pipinstall-Uscikit-learn 在UbuntuLinux可用apt指令安裝: $sudoaptinstallpython-scikits-learn 也可以直接使用Google雲端硬碟上的Colab功能,這樣就完全不用安裝任何套件,只要用瀏覽器即可馬上進行測試,GoogleColab平台上所有機器學習工具一應俱全,且是最新版本,參考:# 方便好用的GoogleColab運算平台2.匯入sklearn套件: 雖然安裝時名稱為scikit-learn,但此名稱不符合Python套件規範,使用時真正要匯入的套件名稱是sklean,可用__verion__屬性檢視版本,用__file__屬性可檢查sklearn的安裝路徑: >>>importsklearn >>>sklearn.__version__ '0.20.2' >>>sklearn.__file__ 'C:\\Python37\\lib\\site-packages\\sklearn\\__init__.py'但實際在使用scikit-learn時通常不這樣匯入整個套件,而是用fromsklearnimportxxxx匯入特定的模組,例如: fromsklearn.preprocessingimportPolynomialFeatures fromsklearn.preprocessingimportStandardScaler fromsklearn.linear_modelimportLinearRegression fromsklearn.linear_modelimportRidge fromsklearn.linear_modelimportLogisticRegression fromsklearn.svmimportSVC fromsklearn.pipelineimportPipeline fromsklearn.model_selectionimporttrain_test_split fromsklearn.metricsimportmean_squared_error fromsklearn.metricsimportaccuracy_score上面這些就是scikit-learn常用的機器學習模組. 3.檢視sklearn內建的資料集: Scikit-learn套件的datasets模組中內建了非常豐富的資料集,並提供一致的load_xxxx()函數用來載入資料集xxxx.以下程式碼用來檢視datasets裡面內建了有哪些資料集: >>>fromsklearnimportdatasets #匯入datasets模組>>>lists=dir(datasets) #dir()會傳回模組中全部成員名稱之串列>>>foreinlists: #用迴圈走訪串列 ife.startswith('load'): #只顯示'load'開頭的成員 print(e) load_bostonload_breast_cancerload_diabetesload_digitsload_filesload_irisload_linnerudload_mlcompload_sample_imageload_sample_imagesload_svmlight_fileload_svmlight_filesload_wine可見總共內建了13套玩具資料集,包含知名的鳶尾花(iris),波士頓房地產(boston)等資料集.例如呼叫load_digits()可載入手寫數字資料集:>>>digits=datasets.load_digits() >>>digits {'data':array([[0., 0., 5.,..., 0., 0., 0.], [0., 0., 0.,...,10., 0., 0.], [0., 0., 0.,...,16., 9., 0.], ........ [0., 0., 2.,...,12., 0., 0.], [0., 0.,10.,...,12., 1., 0.]]), 'target':array([0,1,2,...,8,9,8]), 'target_names':array([0,1,2,3,4,5,6,7,8,9]), 'images':array([[[0., 0., 5.,..., 1., 0., 0.], [0., 0.,13.,...,15., 5., 0.], [0., 3.,15.,...,11., 8., 0.], ...,>>>digits.data[0] array([0., 0., 5.,13., 9., 1., 0., 0., 0., 0.,13.,15.,10., 15., 5., 0., 0., 3.,15., 2., 0.,11., 8., 0., 0., 4., 12., 0., 0., 8., 8., 0., 0., 5., 8., 0., 0., 9., 8., 0., 0., 4.,11., 0., 1.,12., 7., 0., 0., 2.,14., 5., 10.,12., 0., 0., 0., 0., 6.,13.,10., 0., 0., 0.])>>>digits.target[0] 0 另外,透過fetch_xxxx()函數則可以擷取真實資料集:>>>fordinm: ifd.startswith('fetch'): print(d) fetch_20newsgroupsfetch_20newsgroups_vectorizedfetch_california_housingfetch_covtypefetch_kddcup99fetch_lfw_pairsfetch_lfw_peoplefetch_mldatafetch_olivetti_facesfetch_openmlfetch_rcv1fetch_species_distributions4.檢視sklearn前處理函數: Scikit-learn在preprocessing模組中提供了豐富的資料前處理函數,可用dir()檢視: >>>fromsklearnimportpreprocessing >>>dir(preprocessing) ['Binarizer','CategoricalEncoder','FunctionTransformer','Imputer','KBinsDiscretizer','KernelCenterer','LabelBinarizer','LabelEncoder','MaxAbsScaler','MinMaxScaler','MultiLabelBinarizer','Normalizer','OneHotEncoder','OrdinalEncoder','PolynomialFeatures','PowerTransformer','QuantileTransformer','RobustScaler','StandardScaler','__all__','__builtins__','__cached__','__doc__','__file__','__loader__','__name__','__package__','__path__','__spec__','_discretization','_encoders','_function_transformer','add_dummy_feature','base','binarize','data','imputation','label','label_binarize','maxabs_scale','minmax_scale','normalize','power_transform','quantile_transform','robust_scale','scale']可用求值函式eval()來取得preprocessing類別的成員,只顯示一般成員,例如:>>>members=dir(preprocessing)>>>formbrinmembers: #走訪成員 obj=eval('preprocessing.'+mbr) #用eval()求值取得成員之參考 ifnotmbr.startswith('_'): #走訪所有不是"_"開頭的成員 print(mbr,type(obj)) BinarizerCategoricalEncoderFunctionTransformerImputerKBinsDiscretizerKernelCentererLabelBinarizerLabelEncoderMaxAbsScalerMinMaxScalerMultiLabelBinarizerNormalizerOneHotEncoderOrdinalEncoderPolynomialFeaturesPowerTransformerQuantileTransformerRobustScalerStandardScaleradd_dummy_featurebasebinarizedataimputationlabellabel_binarizemaxabs_scaleminmax_scalenormalizepower_transformquantile_transformrobust_scalescale其中class為'type'者為類別,'module'為模組;function為函式.
張貼者:
小狐狸事務所
於
10/08/202103:11:00下午
以電子郵件傳送這篇文章
BlogThis!
分享至Twitter
分享至Facebook
標籤:
機器學習
,
Python
,
scikit-learn
沒有留言
:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言
(
Atom
)
總網頁瀏覽量
小狐狸事務所
載入中…
訂閱
發表文章
Atom
發表文章
留言
Atom
留言
Translate
聯絡表單
名稱
以電子郵件傳送
*
訊息
*
網誌存檔
►
2022
(
242
)
►
七月
(
28
)
►
六月
(
31
)
►
五月
(
35
)
►
四月
(
42
)
►
三月
(
41
)
►
二月
(
39
)
►
一月
(
26
)
▼
2021
(
453
)
►
十二月
(
28
)
►
十一月
(
38
)
▼
十月
(
43
)
2021年第44周記事
市圖還書3本(工程數學&邏輯設計)
媽媽的聲音
買BRUNO電子壓力鍋BOE058-BR
Python學習筆記:可迭代物件(iterable)與迭代器物件(iterator)
Chrome分頁書籤紀錄(2021)
兩本Python進階的好書:PythonTricks與PythonforGeeks
二哥的機率與統計課本
用Python監測光世代網路速度(一)
料理實驗:三杯杏鮑菇
2021年第43周記事
打AZ疫苗第二劑
Python學習筆記:SciPy的線性代數子套件linalg測試
Python學習筆記:SciPy的子套件
線上語料庫分析服務SketchEngine
2021年第42周記事
料理實驗:金針炒大白菜
好書:IntrotoPython-forComputerScienceandData...
Python內建GUI模組tkinter測試(十六):Menu元件
Python學習筆記之Pandas(一):Series物件
料理實驗:香煎肉餅
機器學習筆記:用scikit-learn做資料前處理(一):數值資料
光世代升速35M測試
momo買書兩本(深度學習&Fintech)
料理實驗:紅燒吳郭魚
好書:人工智慧在台灣
2021年第41周記事
市圖還書3本
機器學習筆記:初探scikit-learn套件
Python機器學習筆記索引
苡慧的"致你"
蒜香奶油杏鮑菇
機器學習筆記:啟動函數(activationfunction)
古董級的網頁編輯器FrontPageExpress
ArduinoMKR1000開發板
網頁流程圖函式庫mermaid.js
好書:TheSelf-TaughtComputerScientist
元昭宗愛猶識理達臘
2021年第40周記事
高科大還書3本(NLP與ML)
買小米盒子
久違的捐血
海岸村的吸引力
►
九月
(
47
)
►
八月
(
36
)
►
七月
(
25
)
►
六月
(
38
)
►
五月
(
30
)
►
四月
(
35
)
►
三月
(
37
)
►
二月
(
41
)
►
一月
(
55
)
►
2020
(
483
)
►
十二月
(
42
)
►
十一月
(
33
)
►
十月
(
35
)
►
九月
(
43
)
►
八月
(
35
)
►
七月
(
30
)
►
六月
(
46
)
►
五月
(
46
)
►
四月
(
39
)
►
三月
(
48
)
►
二月
(
48
)
►
一月
(
38
)
►
2019
(
459
)
►
十二月
(
38
)
►
十一月
(
39
)
►
十月
(
34
)
►
九月
(
34
)
►
八月
(
27
)
►
七月
(
50
)
►
六月
(
38
)
►
五月
(
26
)
►
四月
(
51
)
►
三月
(
47
)
►
二月
(
32
)
►
一月
(
43
)
►
2018
(
394
)
►
十二月
(
38
)
►
十一月
(
36
)
►
十月
(
30
)
►
九月
(
33
)
►
八月
(
31
)
►
七月
(
26
)
►
六月
(
30
)
►
五月
(
48
)
►
四月
(
26
)
►
三月
(
38
)
►
二月
(
26
)
►
一月
(
32
)
►
2017
(
317
)
►
十二月
(
35
)
►
十一月
(
30
)
►
十月
(
24
)
►
九月
(
34
)
►
八月
(
30
)
►
七月
(
27
)
►
六月
(
28
)
►
五月
(
19
)
►
四月
(
22
)
►
三月
(
21
)
►
二月
(
30
)
►
一月
(
17
)
►
2016
(
296
)
►
十二月
(
17
)
►
十一月
(
23
)
►
十月
(
28
)
►
九月
(
24
)
►
八月
(
28
)
►
七月
(
33
)
►
六月
(
28
)
►
五月
(
26
)
►
四月
(
24
)
►
三月
(
24
)
►
二月
(
25
)
►
一月
(
16
)
►
2015
(
296
)
►
十二月
(
18
)
►
十一月
(
22
)
►
十月
(
19
)
►
九月
(
25
)
►
八月
(
27
)
►
七月
(
24
)
►
六月
(
15
)
►
五月
(
23
)
►
四月
(
32
)
►
三月
(
51
)
►
二月
(
22
)
►
一月
(
18
)
►
2014
(
323
)
►
十二月
(
29
)
►
十一月
(
18
)
►
十月
(
16
)
►
九月
(
15
)
►
七月
(
11
)
►
六月
(
27
)
►
五月
(
41
)
►
四月
(
38
)
►
三月
(
43
)
►
二月
(
38
)
►
一月
(
47
)
►
2013
(
267
)
►
十二月
(
22
)
►
十一月
(
23
)
►
十月
(
35
)
►
九月
(
28
)
►
八月
(
13
)
►
七月
(
32
)
►
六月
(
27
)
►
五月
(
13
)
►
四月
(
19
)
►
三月
(
18
)
►
二月
(
12
)
►
一月
(
25
)
►
2012
(
49
)
►
十二月
(
2
)
►
八月
(
5
)
►
七月
(
5
)
►
六月
(
2
)
►
五月
(
4
)
►
四月
(
5
)
►
三月
(
4
)
►
二月
(
10
)
►
一月
(
12
)
►
2011
(
178
)
►
十二月
(
9
)
►
十一月
(
17
)
►
十月
(
5
)
►
九月
(
1
)
►
八月
(
7
)
►
七月
(
7
)
►
六月
(
5
)
►
五月
(
12
)
►
四月
(
29
)
►
三月
(
29
)
►
二月
(
21
)
►
一月
(
36
)
►
2010
(
201
)
►
十二月
(
18
)
►
十一月
(
30
)
►
十月
(
23
)
►
九月
(
8
)
►
八月
(
11
)
►
七月
(
9
)
►
六月
(
16
)
►
五月
(
14
)
►
四月
(
47
)
►
三月
(
5
)
►
二月
(
3
)
►
一月
(
17
)
►
2009
(
256
)
►
十二月
(
18
)
►
十一月
(
29
)
►
十月
(
6
)
►
九月
(
38
)
►
八月
(
25
)
►
七月
(
24
)
►
六月
(
17
)
►
五月
(
16
)
►
四月
(
4
)
►
三月
(
24
)
►
二月
(
34
)
►
一月
(
21
)
►
2008
(
303
)
►
十二月
(
28
)
►
十一月
(
18
)
►
十月
(
26
)
►
九月
(
29
)
►
八月
(
30
)
►
七月
(
62
)
►
六月
(
59
)
►
五月
(
48
)
►
四月
(
2
)
►
三月
(
1
)
文章標籤
♥
(
19
)
♥♥
(
10
)
♥♥♥
(
9
)
人工智慧
(
86
)
八字學
(
1
)
大數據
(
6
)
小狐狸
(
73
)
小狐狸生態
(
22
)
工作
(
48
)
手機
(
29
)
日文
(
3
)
木工
(
23
)
比特幣
(
2
)
主機
(
72
)
占星術
(
6
)
生活
(
1135
)
生活雜記
(
8
)
多媒體
(
4
)
好文
(
6
)
好書
(
393
)
好站
(
251
)
自作專案
(
3
)
自動化
(
29
)
系統
(
4
)
其他
(
65
)
易經
(
1
)
物理學
(
10
)
物聯網
(
250
)
信號處理
(
4
)
架站
(
13
)
相術
(
2
)
科學
(
22
)
英文
(
9
)
計算語言學
(
3
)
音樂
(
73
)
飛控
(
25
)
食譜
(
70
)
修行
(
22
)
借書
(
5
)
旅行
(
44
)
旅遊
(
1
)
書籤
(
2
)
索引
(
30
)
能源
(
81
)
動畫
(
2
)
區塊鏈
(
3
)
專案
(
20
)
排版
(
3
)
控制系統
(
1
)
教育
(
17
)
理財
(
123
)
軟體開發
(
8
)
通訊
(
3
)
備忘
(
2
)
創客
(
31
)
單晶片
(
30
)
智慧音箱
(
1
)
無人機
(
18
)
硬體
(
38
)
紫微斗數
(
2
)
統計
(
4
)
統計學
(
10
)
虛擬幣
(
3
)
評論
(
169
)
量化投資
(
3
)
雲端
(
21
)
園藝
(
1
)
新知識
(
1
)
新產品
(
1
)
新軟體
(
7
)
資安
(
7
)
資料科學
(
32
)
資料庫
(
4
)
農業
(
23
)
電子零件
(
27
)
電子學
(
18
)
電腦
(
210
)
電腦技術
(
12
)
電路學
(
1
)
演算法
(
8
)
網頁技術
(
218
)
網路
(
43
)
網路爬蟲
(
29
)
網購
(
316
)
語言學
(
55
)
語音技術
(
4
)
語音辨識
(
10
)
影像處理
(
1
)
影像辨識
(
2
)
數學
(
21
)
線上工具
(
2
)
線性代數
(
1
)
論文
(
1
)
養生
(
20
)
樹莓派
(
189
)
機器人
(
6
)
機器學習
(
154
)
歷史
(
59
)
戲劇
(
23
)
還書
(
118
)
韓文
(
1
)
韓劇
(
10
)
醫藥
(
54
)
繪圖
(
3
)
藝術
(
2
)
讀書劄記
(
9
)
邏輯設計
(
17
)
Android
(
13
)
AngularJS
(
1
)
Anime
(
1
)
App
(
30
)
Appfog
(
4
)
Arduino
(
179
)
ASP
(
11
)
AutoIt
(
15
)
AWS
(
16
)
Azure
(
1
)
BananaPi
(
3
)
BigData
(
1
)
Blynk
(
7
)
Bootstrap
(
23
)
brython
(
1
)
C語言
(
19
)
Chart.js
(
2
)
Chatbot
(
5
)
Cheatsheet
(
2
)
CKeditor
(
1
)
Corona
(
3
)
CSS
(
10
)
D3.js
(
6
)
DataMining
(
1
)
Django
(
19
)
DSP
(
3
)
EasyUI
(
48
)
ESP32
(
52
)
ESP8266
(
144
)
Excel
(
11
)
ExtJS
(
24
)
Fintech
(
18
)
Firebase
(
3
)
Flask
(
3
)
FPGA
(
1
)
GAE
(
40
)
GAS
(
2
)
GCP
(
4
)
Git
(
11
)
GitHub
(
3
)
Go
(
1
)
Google
(
24
)
Highcharts
(
2
)
HomeAssistant
(
1
)
HTML5
(
39
)
IC設計
(
7
)
Java
(
100
)
JavaFX
(
1
)
Javascript
(
87
)
Jetson
(
10
)
Joomla
(
3
)
jqPlot
(
1
)
jQuery
(
123
)
jQueryMobile
(
30
)
jQueryUI
(
35
)
JSP
(
2
)
Julia
(
12
)
Kali
(
1
)
Keras
(
1
)
Kotlin
(
1
)
Line
(
3
)
Linux
(
13
)
LoRa
(
12
)
Lua
(
6
)
MacOS
(
11
)
Masonite
(
1
)
Mathematics
(
2
)
Matplotlib
(
6
)
mermaid.js
(
1
)
Micro:bit
(
3
)
MicroPython
(
91
)
MongoDB
(
3
)
Nginx
(
3
)
NLP
(
29
)
NLTK
(
5
)
Node.js
(
14
)
NoSQL
(
1
)
Numpy
(
1
)
OpenCV
(
2
)
p5.js
(
14
)
Pandas
(
7
)
PHP
(
109
)
Praat
(
23
)
Python
(
430
)
PyTorch
(
11
)
R語言
(
42
)
RaspberryPi
(
132
)
Ruby
(
1
)
scikit-learn
(
2
)
SciPy
(
4
)
Seaborn
(
2
)
SpaCy
(
4
)
SQL
(
15
)
SQLite
(
1
)
STM32
(
2
)
Swift
(
6
)
TCP/IP
(
6
)
TensorFlow
(
19
)
tensorflow.js
(
3
)
Three.js
(
1
)
TinyMCE
(
1
)
tkinter
(
16
)
UAV
(
3
)
Ubuntu
(
2
)
Verilog
(
1
)
VHDL
(
1
)
VoIP
(
1
)
Vue
(
7
)
WebGL
(
3
)
Wireshark
(
2
)
WordPress
(
18
)
WSH
(
5
)
常用連結
QR-Code產生器
爾灣分校Python函式庫
神秘金字塔
MyGitHib
Google協作平台
Hinet信箱
Dropbox
box
Aliexpress
bittrix24
CCompiler
CH.Tseng
G.T.Wang部落格
HomePi
HTMLCleaner
IBMSwiftSandbox
Inside
Kej'sRetriever
muckibu.de
OneDrive
Pinterest
Python機器學習
Rmanual
Rapidgator
TutorialsPoint
VirusTotal
Youtube-mp3
Zamzar線上轉檔
中華電信Hibox
台大網路測速
線上C編譯器
線上OCR
螢幕錄影
訂台鐵與高鐵票
高師大圖書館
高科大圖書館
高雄市立圖書館
線上方程式
音頻轉換器
CSS色碼表
Youtube轉mp3
熱門文章
Arduino基本語法筆記
Arduino的程式語法基於C/C++,其實就是客製化的C/C++語言,其程式架構仿自廣為藝術與設計界人士熟悉的Processing語言,而其開發工具ArduinoIDE則是衍生自以Processing為基礎的電子開發設計平台Wiring.由於...
Arduino串列埠測試(UART)
今天要下午才進辦公室,早上都在家,所以研究測試了一下Arduino的串列埠,紀錄整理如下.所謂串列埠是源自IBMPC的RS-232通訊協定,也就是個人電腦後面的COM埠(9針公座DB-9),現在新的桌上型電腦與筆電大都沒有接出COM埠了,...
GooglePlay安裝或更新App一直顯示"正在等待下載"問題
最近我的Note8手機要更新Yahoo股市App時一直顯示 "正在等待下載",但是進度條卻不動:我按GooglePlay左上角的三條槓選"設定",點"應用程式下載偏好設定"改...
Python內建GUI模組tkinter測試(一):建立視窗
最近因為玩樹苺派的關係,接觸到Python內建的GUI開發模組Tkinter(意思是TkInterface),初步覺得比用Java的Swing還要來得容易,因此就來學看看唄!Tk原先是為Tcl語言所開發的GUI套件,因為是T...
Java複習筆記:陣列
陣列是程式員最常用的資料結構,Java的陣列屬於傳統的固定式陣列,亦即陣列元素資料類型必需相同,而且元素個數必須先宣告才能使用,不像Javascript等動態語言之陣列允許異質性資料,且長度不需先宣告即可使用.當然,Java陣列也不支援關聯性陣列,Java...
jQueryUI的日期選擇器datepicker測試
近兩周都在玩jQueryUI的日曆小工具(或日期選擇器datepicker),就是讓使用者可以直接在日曆上選取日期的小工具,而且日期格式可以指定.這個widget小工具根據書上講是jQueryUI最古老,功能選項也最龐大的一個,照官網範例三兩下就看到...
邏輯設計筆記序向篇:Latch(電栓)與Flip-Flop(正反器)
這個月為了邏輯設計授課努力打了200多頁簡報,為了查閱方便整理在此,同時也讓我的外籍學生們可利用Google翻譯以母語複習上課內容.由於本次協同授課負責序向邏輯部分,因此先整理序向邏輯,組合邏輯以後有機會再整理.雖然說現在設計IC大都改用VHDL或V...
★ESP8266WiFi模組ATcommand測試
這是我今年四月以$180向露天賣家XLAN買的超小型WiFi模組(現已降價為$145),採用上海樂鑫科技的ESP8266晶片,板子型式是ESP-01,這是Arduino最經濟的WiFi方案,因為目前買一塊內建WiFi的Arduin...
★ESP8266WiFi模組與Arduino連線測試
經過兩個月來的摸索,對於Arduino經由ESP8266連上網路的實驗終於來到實作階段.這當中也分心去研究如何製做ESP8266的轉接板,雖已經有腹案,但覺得還是先把連網實驗做完再來搞定轉接板好了.這兩塊板子互連主要有兩個障礙,一是開發階段串列埠不夠的問題...
Arduino的聲音測試(一)
很早就想做這個實驗,因為只需要ArduinoNANO加上一個蜂鳴器就可以進行了,頂多加一顆按鈕開關,這跟物聯網無關,因此不需要用到ESP8266上網.趁著中秋連假,就把這個簡單的小實驗做完吧!以下實驗所用的程式是參考下列幾本書裡面的範例加以修改來的:...
關於我自己
小狐狸事務所
熱愛自由不想被拘束,無法忍受無聊而不斷學習的射手座,因為記性不好必須在部落格紀錄思考學習與生活點滴的平凡上班族.
檢視我的完整簡介
追蹤者