數據科學世界在2015年經歷了翻天覆地的變化。數據科學家開始威脅到CIO作為公司最重要的技術影響者的角色。數據質量直接影響到未來,數據科學家受到追捧。加上物聯網(IoT)的普及,數據科學即將成為主流。圍繞數據科學的工作正在蓬勃發展,帶來更新的職業機會和開放增長的渠道。在未來幾天,您不可能不提供數據科學麵試。如果您最近參加過數據科學麵試,或有疑問您需要解答,請在評論部分,我們將盡快回答。想了解更多大數據面試細節,或有更多不懂的問題,請加大數據學習交流8群640193172討論學習,共同成長!
1.什麼是數據科學?您如何說與業務分析和商業智能相似或不同?
數據科學是處理數據分析的領域。它通過對後來用於創建策略的數據的洞察來研究信息的來源,信息的含義以及將其變成有價值的資源。它是商業觀點,計算機程序設計和統計技術的結合。
業務分析或簡單分析是商業智能和數據科學的核心。數據科學是用於分析大數據和提供洞察力的相對較新的術語。
數據分析通常比具有更多編程重量的數據科學具有更高的業務視野。然而這些術語可互換使用。
2.如何在Python或R中構建自定義函數?
In R: function command
The structure of a function is given below:
myfunction <- function(arg1, arg2, … ){
statements
return(object)
}
Example:
# function example – get measures of central tendency
# and spread for a numeric vector x. The user has a
# choice of measures and whether the results are printed.
mysummary <- function(x,npar=TRUE,print=TRUE) {
if (!npar) {
center <- mean(x); spread <- sd(x)
} else {
center <- median(x); spread <- mad(x)
}
if (print & !npar) {
cat(“Mean=”, center, “\n”, “SD=”, spread, “\n”)
} else if (print & npar) {
cat(“Median=”, center, “\n”, “MAD=”, spread, “\n”)
}
result <- list(center=center,spread=spread)
return(result)
}
# invoking the function
set.seed(1234)
x <- rpois(500, 4)
y <- mysummary(x)
Median= 4
MAD= 1.4826
# y$center is the median (4)
# y$spread is the median absolute deviation (1.4826)
y <- mysummary(x, npar=FALSE, print=FALSE)
# no output
# y$center is the mean (4.052)
# y$spread is the standard deviation (2.01927)
In Python:
def method-
Structure of the function:
def func(arg1,arg2 …):
statement 1
statement 2
return value
Example- To determine mean of a list of values.
def find_mean(given_list):
sum_values= sum(given_list)
num_values= len(given_list)
return sum_values/num_values
print find_mean([i for i in range(1,9)])
# 4
3.哪個包用於在R和Python中進行數據導入?如何在SAS中進行數據導入?
我們可以使用多種方法進行數據導入:
在R中,我們使用RODBC進行RDBMS數據和data.table快速導入。
我們使用jsonlite的JSON數據,其他語言如SPSS的外包
我們對SAS數據使用數據和sas7bdat包。
在Python中,我們使用Pandas包和read_csv命令,read_sql來讀取數據。另外,我們可以在Python中使用SQLAlchemy來連接到數據庫。
4.什麼是RDBMS?列舉RDBMS的一些例子?什麼是CRUD?
關係數據庫管理系統(RDBMS)是一種基於關係模型的數據庫管理系統。關係模型使用關係或表的基本概念。RDBMS是SQL,以及數據庫系統(如MS SQL Server,IBM DB2,Oracle,MySQL和Microsoft Access)的基礎。
在計算機編程中,創建,讀取,更新和刪除[1](作為首字母縮略詞CRUD或可能是一個副詞)(有時稱為SCRUD,帶有用於搜索)是永久存儲的四個基本功能。
5.定義SQL查詢?SELECT和UPDATE Query有什麼區別?如何在SAS,Python,R語言中使用SQL?
結構化查詢語言(SQL)是一種用於從數據庫獲取信息和更新數據庫的編程語言。它們用於管理關係數據庫管理系統(RDBMS)中的數據。查詢採用命令語言的形式,允許您選擇,插入,更新,查找數據的位置等。還有一個編程接口。
UPDATE查詢用於更新表中的現有記錄。SELECT查詢用於從數據庫中選擇數據。結果存儲在結果表中,稱為結果集。
我們使用SAS內的PROC SQL,在R中使用sqldf,在Python中使用pandasql以使用SQL sytax。
SQLAlchemy庫:這允許您從python在MySQL服務器中存在的數據庫中的表上執行原始SQL查詢。這些還存在SQLAlchemy表達式語言,它表示使用Python構造的關係數據庫結構和表達式。表達式語言通過隱藏SQL語言來提高代碼的可維護性,從而不允許混合使用Python代碼和SQL代碼。