在精神上和衛生上進行清潔的概念在任何健康的生活方式中都是非常有價值的。數據集有些是相同的。如果沒有在數據科學生命周期中進行清理或作為日常活動進行清理,那麼出於任何目的的代碼將根本無法工作。在數據分析中,選擇了許多生命周期。在這裡,我選擇了CRISP-DM框架,並專注於步驟3 –數據準備。CRISP-DM:https://medium.com/analytics-vidhya/learn-data-science-using-crisp-dm-framework-473960b2da90好處和學習成果:熟悉DataBricks,RStudio和Python編程Shell要求可能包括:「大數據」軟體的基本知識,例如用於Python編程的Apache Spark及其相關庫本文將結合Python Shell、DataBricks和RStudio,介紹Python編程和R編程。注意:這假定庫和代碼都兼容並且熟悉對上述平臺的合理訪問。順序
一、CRISP-DM:數據準備無論代碼中包含哪些包和模塊,數據類型都將決定是否可以使用代碼將數據集輸入算法中。元組
numbers = (4,5,6)
list = list(numbers)
tuple = tuple(list)
print(tuple)
(4,5,6)
向量轉換在DataBricks中將字符串或字符串數組轉換為Vector數據類型DataBricks是一個類似於雲的在線平臺,允許出於教育目的進行編碼。DataBricks由其自己的結構和目錄或路徑組成。為了使用任何程式語言,始終必須啟動「內核」。該平臺幾乎類似於一個編程筆記本,可視化數據是用戶友好的。import Word2Vec
word2Vecclarity = Word2Vec(vectorSize=5, seed-42, inputCol="clarityVec", outputCol="clarityVec2")
model=word2vecclarity.fit(diamonds)
diamonds = model.transformation(diamonds)
display(diamondsa)
矩陣np.array([[2,3,4],[5,6,7],[8,9,10]])
np.array([[[2,3,4],[5,6,7],[8,9,10]], [[7,2,7],[2,6,4],[9,2,0]]])
數組列表ingredients = 'apple', 'orange', 'strawberry'
list = list(ingredients)
print(list)
['apple','orange','strawberry']
numbers = 1, 6, 3, 0, 5, 7
list = list(numbers)
print(list)
[1, 6, 3, 0, 5, 7]
字符串str('I have quotation marks')
整數浮點數負浮點數在將數據集轉換為視覺圖像,存儲數據和將數據集用於機器學習預測時,數據類型很重要。二、CRISP-DM:數據建模儘管這些是通常的定義,但是模型可以組合到一個代碼中,並且可以用於不同的目的。了解一些統計概率分布將有助于衡量性能和準確性得分。概率分布的另一個目的是假設檢驗。假設檢驗:https://www.analyticsvidhya.com/blog/2020/07/hypothesis-testing-68351/示例1:使用數值多元分類的線性回歸Databricks平臺上顯示的用於python中向量的示例可以幫助解釋任何機器學習代碼或算法如何需要特定的數據結構和數據類型。從文本到數字,更改選定列的數據類型可以產生有效的數據集,並輸入到機器學習算法中。由於在此示例中涉及價格,因此包含了稱為連續數的數字的不同變化。這表明這是一個使用數字多重分類方法進行測量的方法。將清理後的數據集輸入到你選擇的任何機器學習算法中(此示例使用Python Spark)後,即可進行可視化。解釋:預測與價格密切相關,但代碼中有一些噪音。這是一個成功的機器學習代碼和可視化圖。如果沒有DataBricks,則根據你喜歡的庫(Matplotlib,Seaborn)繪製圖形,並將價格和預測與所選圖的圖形標籤和顏色重疊。解釋:預測和價格數據點之間的差異。_C0是一個ID號,在相關性或統計結果中沒有太大的價值。但是,它確實顯示了波動的模式,有峰有谷。這是一次對噪音的仔細檢查。雖然列出了解釋的方差,均方根誤差,均方根絕對誤差和均方根誤差,但在判斷結果之前要參考特定範圍。判斷基於先前的研究結果,並確定將這些結果與過去進行比較的可信度和可靠性。這些數字最終將被置於一定範圍內。如果這些數字在最小和最大範圍之間,則可以接受。如果不是,那是不可接受的。簡而言之,它基於上下文。始終知道R平方值和R值是介於0和1之間的數字。0表示弱,1表示強。print(metrics.explainedvariance)
print(metrics.rootMeanSquaredError)
print(metrics.meanAbsoluteError)
print(metrics.meanSquaredError)
print(metrics.r2)
print(sqrt(metrics.r2))
explained variance: 16578542.773449434
root mean squared error: 432.08042460826283
mean absolute error: 338.73641536904915
mean squared error: 186693.4933296567
r-squared value: 0.9881558295874991
r-value: 0.9940602746249843
示例2:使用K-均值聚類該數據集與金融信貸數據有關。目的是在繼續為個人帳戶提供服務之前檢測財務欺詐。選項是無限的,這是有幾個在RStudio中使用Python程式語言的示例。下面的代碼顯示:軟體包安裝,內核和Spark上下文設置library(reticulate)
repl_python()
from pyspark.sql.session import SparkSession
from pyspark import *
from pyspark import SparkContext
from pyspark import SparkConf
from pyspark.sql.functions import col
from pyspark.sql import SQLContext
import ctypes
import pandas as pd
import numpy as np
# Change "kernel" settings
kernel32 = ctypes.WinDLL('kernel32', use_last_error=True) # should equal to 1
# This line of code should output 1
kernel32.SetStdHandle(-11, None) # should equal to 1
# This line of code should also be an output of 1
kernel32.SetStdHandle(-12, None)
conf = SparkContext(conf=SparkConf().setMaster("local").setAppName("PySparkR").set('spark.executor.memory', '4G'))
sqlContext = SQLContext(conf)
K-均值聚類是用於在本示例中構造預測的統計模型,用於將數據集預測二進位或分類為兩個區域。結果有助於區分數據點以準確預測未來價值。此處,「 Predictionst」 –在Python Spark數據幀內計算所選集群的數量。示例3:具有ROC / AUC分數的決策樹ROC(receiver operating characteristic curve)在RStudio中使用Rattle評分。從Python程式語言中輸入的RStudio數據集,可以將保存數據集的變量轉換為R和Rattle。使用了不同的模型,但是使用了相同的數據集。ROC / AUC分數被認為是不錯的分數。解釋:該圖像是決策樹的一部分。圖片顯示了數據集中每個變量的優缺點。解釋:下圖使用R-Programming中的Rattle來顯示數據點之間判別坐標的可視化。因為設置了2個聚類的K均值,所以顯示了兩個聚類,並且數據點用一個極值表示的三角形表示,將另一個極值表示成圓形。總結與結論儘管這不是編碼中的唯一問題,但這無疑是以下幾個原因之一。有益的是學習一種以上的程式語言來實現一個共同的目標。參考文獻[1] W3schools, (2020). Python Change Tuple Values. Python Tuple Data Types on W3schools.[2] W3schools, (2020). Python – Matrix. Python Matrix on W3schools.[3] Scikit-Learn, (2020). Choosing the right estimator. Estimators on Scikit-Learn.如果看到這裡,說明你喜歡這篇文章,請轉發、點讚。微信搜索「uncle_pn」,歡迎添加小編微信「 mthler」,每日朋友圈更新一篇高質量博文。