TransmogriFai (وضوحا trăns-mŏgˈrə-fī) هي مكتبة السيارات مكتوبة في Scala التي تعمل على قمة Apache Spark. تم تطويره مع التركيز على تسريع إنتاجية مطور التعلم الآلي من خلال أتمتة التعلم الآلي ، وواجهة برمجة التطبيقات التي تفرض مجموعة من نوع الترجمة ، وحل النموذج ، وإعادة الاستخدام. من خلال الأتمتة ، يحقق دقة قريبة من النماذج المدفوعة يدويًا مع تقليل ما يقرب من 100x في الوقت.
استخدم transmogrifai إذا كنت بحاجة إلى مكتبة تعلم الآلة إلى:
لفهم الدافع وراء transmogrifai تحقق من هذه:
تخطي لبدء وتوثيق سريع.
مجموعة البيانات Titanic هي مجموعة بيانات في كثير من الأحيان في مجتمع التعلم الآلي. الهدف من ذلك هو بناء نموذج مستفاد من الآلة يتنبأ بالناجين من بيان الركاب تيتانيك. إليك كيفية بناء النموذج باستخدام 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 | نسخة سبارك | نسخة سكالا | نسخة جافا |
|---|---|---|---|
| 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 in build.gradle ADD:
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-COPE-CAUSE © Salesforce.com ، Inc.