Transmogrifai (เด่นชัดtrăns-mŏgˈrə-fī) เป็นไลบรารี Automl ที่เขียนใน Scala ที่ทำงานบน Apache Spark มันได้รับการพัฒนาโดยมุ่งเน้นที่การเร่งประสิทธิภาพการทำงานของเครื่องจักรการเรียนรู้ของเครื่องผ่านการเรียนรู้ของเครื่องจักรอัตโนมัติและ API ที่บังคับใช้ความปลอดภัยประเภทเวลาคอมไพล์ความปลอดภัยแบบโมดูลาร์และการใช้ซ้ำ ผ่านระบบอัตโนมัติจะบรรลุความถูกต้องใกล้เคียงกับรุ่นที่ปรับด้วยมือด้วยเวลาที่ลดลงเกือบ 100 เท่า
ใช้ transmogrifai หากคุณต้องการไลบรารีการเรียนรู้ของเครื่องเพื่อ:
เพื่อให้เข้าใจถึงแรงจูงใจที่อยู่เบื้องหลัง transmogrifai ลองดูสิ่งเหล่านี้:
ข้ามเพื่อเริ่มต้นและเอกสารประกอบอย่างรวดเร็ว
ชุดข้อมูลไททานิคเป็นชุดข้อมูลที่ถูกอ้างถึงบ่อยครั้งในชุมชนการเรียนรู้ของเครื่อง เป้าหมายคือการสร้างแบบจำลองที่เรียนรู้ด้วยเครื่องจักรซึ่งจะทำนายผู้รอดชีวิตจากรายการผู้โดยสารไททานิค นี่คือวิธีที่คุณจะสร้างแบบจำลองโดยใช้ Transmogrifai:
import com . salesforce . op . _
import com . salesforce . op . readers . _
import com . salesforce . op . features . _
import com . salesforce . op . features . types . _
import com . salesforce . op . stages . impl . classification . _
import org . apache . spark . SparkConf
import org . apache . spark . sql . SparkSession
implicit val spark = SparkSession .builder.config( new SparkConf ()).getOrCreate()
import spark . implicits . _
// Read Titanic data as a DataFrame
val passengersData = DataReaders . Simple .csvCase[ Passenger ](path = pathToData).readDataset().toDF()
// Extract response and predictor Features
val (survived, predictors) = FeatureBuilder .fromDataFrame[ RealNN ](passengersData, response = " survived " )
// Automated feature engineering
val featureVector = predictors.transmogrify()
// Automated feature validation and selection
val checkedFeatures = survived.sanityCheck(featureVector, removeBadFeatures = true )
// Automated model selection
val pred = BinaryClassificationModelSelector ().setInput(survived, checkedFeatures).getOutput()
// Setting up a TransmogrifAI workflow and training the model
val model = new OpWorkflow ().setInputDataset(passengersData).setResultFeatures(pred).train()
println( " Model summary: n " + model.summaryPretty())สรุปแบบจำลอง:
Evaluated Logistic Regression, Random Forest models with 3 folds and AuPR metric.
Evaluated 3 Logistic Regression models with AuPR between [0.6751930383321765, 0.7768725281794376]
Evaluated 16 Random Forest models with AuPR between [0.7781671467343991, 0.8104798040316159]
Selected model Random Forest classifier with parameters:
|-----------------------|--------------|
| Model Param | Value |
|-----------------------|--------------|
| modelType | RandomForest |
| featureSubsetStrategy | auto |
| impurity | gini |
| maxBins | 32 |
| maxDepth | 12 |
| minInfoGain | 0.001 |
| minInstancesPerNode | 10 |
| numTrees | 50 |
| subsamplingRate | 1.0 |
|-----------------------|--------------|
Model evaluation metrics:
|-------------|--------------------|---------------------|
| Metric Name | Hold Out Set Value | Training Set Value |
|-------------|--------------------|---------------------|
| Precision | 0.85 | 0.773851590106007 |
| Recall | 0.6538461538461539 | 0.6930379746835443 |
| F1 | 0.7391304347826088 | 0.7312186978297163 |
| AuROC | 0.8821603927986905 | 0.8766642291593114 |
| AuPR | 0.8225075757571668 | 0.850331080886535 |
| Error | 0.1643835616438356 | 0.19682151589242053 |
| TP | 17.0 | 219.0 |
| TN | 44.0 | 438.0 |
| FP | 3.0 | 64.0 |
| FN | 9.0 | 97.0 |
|-------------|--------------------|---------------------|
Top model insights computed using correlation:
|-----------------------|----------------------|
| Top Positive Insights | Correlation |
|-----------------------|----------------------|
| sex = "female" | 0.5177801026737666 |
| cabin = "OTHER" | 0.3331391338844782 |
| pClass = 1 | 0.3059642953159715 |
|-----------------------|----------------------|
| Top Negative Insights | Correlation |
|-----------------------|----------------------|
| sex = "male" | -0.5100301587292186 |
| pClass = 3 | -0.5075774968534326 |
| cabin = null | -0.31463114463832633 |
|-----------------------|----------------------|
Top model insights computed using CramersV:
|-----------------------|----------------------|
| Top Insights | CramersV |
|-----------------------|----------------------|
| sex | 0.525557139885501 |
| embarked | 0.31582347194683386 |
| age | 0.21582347194683386 |
|-----------------------|----------------------|
แม้ว่าสิ่งนี้อาจดูมหัศจรรย์เกินไปสำหรับผู้ที่ต้องการควบคุมมากขึ้น Transmogrifai ยังให้ความยืดหยุ่นในการระบุคุณสมบัติทั้งหมดที่ถูกสกัดอย่างสมบูรณ์และอัลกอริทึมทั้งหมดที่ใช้ในท่อ ML ของคุณ เยี่ยมชมเว็บไซต์เอกสารของเราสำหรับเอกสารฉบับเต็มเริ่มต้นตัวอย่างคำถามที่พบบ่อยและข้อมูลอื่น ๆ
คุณสามารถเพิ่ม Transmogrifai เป็นการพึ่งพาโครงการที่มีอยู่เป็นประจำ เริ่มต้นด้วยการเลือกเวอร์ชัน Transmogrifai เพื่อให้ตรงกับการพึ่งพาโครงการของคุณจากเมทริกซ์เวอร์ชันด้านล่าง (ถ้าไม่แน่ใจ - ใช้เวอร์ชัน ที่เสถียร ):
| เวอร์ชัน Transmogrifai | เวอร์ชัน Spark | เวอร์ชันสกาล่า | เวอร์ชัน Java |
|---|---|---|---|
| 0.7.1 (ยังไม่เผยแพร่, อาจารย์), 0.7.0 (เสถียร) | 2.4 | 2.11 | 1.8 |
| 0.6.1, 0.6.0, 0.5.3, 0.5.2, 0.5.1, 0.5.0 | 2.3 | 2.11 | 1.8 |
| 0.4.0, 0.3.4 | 2.2 | 2.11 | 1.8 |
สำหรับ Gradle ใน build.gradle เพิ่ม:
repositories {
jcenter()
mavenCentral()
}
dependencies {
// TransmogrifAI core dependency
compile ' com.salesforce.transmogrifai:transmogrifai-core_2.11:0.7.0 '
// TransmogrifAI pretrained models, e.g. OpenNLP POS/NER models etc. (optional)
// compile 'com.salesforce.transmogrifai:transmogrifai-models_2.11:0.7.0'
} สำหรับ SBT ใน build.sbt เพิ่ม:
scalaVersion : = " 2.11.12 "
resolvers + = Resolver .jcenterRepo
// TransmogrifAI core dependency
libraryDependencies + = " com.salesforce.transmogrifai " %% " transmogrifai-core " % " 0.7.0 "
// TransmogrifAI pretrained models, e.g. OpenNLP POS/NER models etc. (optional)
// libraryDependencies += "com.salesforce.transmogrifai" %% "transmogrifai-models" % "0.7.0"จากนั้นนำเข้า transmogrifai ลงในรหัสของคุณ:
// TransmogrifAI functionality: feature types, feature builders, feature dsl, readers, aggregators etc.
import com . salesforce . op . _
import com . salesforce . op . aggregators . _
import com . salesforce . op . features . _
import com . salesforce . op . features . types . _
import com . salesforce . op . readers . _
// Spark enrichments (optional)
import com . salesforce . op . utils . spark . RichDataset . _
import com . salesforce . op . utils . spark . RichRDD . _
import com . salesforce . op . utils . spark . RichRow . _
import com . salesforce . op . utils . spark . RichMetadata . _
import com . salesforce . op . utils . spark . RichStructType . _ เยี่ยมชมเว็บไซต์เอกสารของเราสำหรับเอกสารฉบับเต็มเริ่มต้นตัวอย่างคำถามที่พบบ่อยและข้อมูลอื่น ๆ
ดู Scaladoc สำหรับการเขียนโปรแกรม API
BSD 3 ข้อ© Salesforce.com, Inc.