R Modeli Oluşturma
Önemli
Machine Learning Stüdyosu (klasik) desteği 31 Ağustos 2024'te sona erecektir. Bu tarihe kadar Azure Machine Learning'e geçmenizi öneririz.
1 Aralık 2021'den başlayarak artık yeni Machine Learning Stüdyosu (klasik) kaynakları oluşturamayacaksınız. 31 Ağustos 2024'e kadar mevcut Machine Learning Stüdyosu (klasik) kaynaklarını kullanmaya devam edebilirsiniz.
- Makine öğrenmesi projelerini ML Studio'dan (klasik) Azure Machine Learning.
- Daha fazla bilgi Azure Machine Learning.
ML Stüdyosu (klasik) belgeleri kullanımdan kaldırılacak ve gelecekte güncelleştirilmeyecektir.
Özel kaynakları kullanarak R modeli oluşturur
Kategori: Veri Dönüştürme / Düzenleme
Not
Uygulama: Machine Learning Studio (yalnızca klasik)
Benzer sürükle ve bırak modülleri tasarımcıda da Azure Machine Learning kullanılabilir.
Modüle genel bakış
Bu makalede, R betiğinden eğitilmemiş bir model oluşturmak için Machine Learning Studio'da (klasik) R Modeli Oluşturma modülünün nasıl kullanımı açıklanmıştır.
Modeli, R paketine dahil edilen tüm öğrenciler için temel Machine Learning.
Modeli oluşturdukktan sonra Modeli Eğit'i kullanarak modeli bir veri kümesinde eğitebilirsiniz. Aynı veri kümesinde eğitim alan diğer Machine Learning. Eğitilen model, tahmin yapmak için modeli kullanmak üzere Modeli Puanla'ya geçirilebilirsiniz. Eğitilen model daha sonra kaydedilebilir ve puanlama iş akışı bir web hizmeti olarak yayımlanır.
Uyarı
Şu anda R modelinin puanlanmış sonuçlarını Modeli Değerlendirme veya Modeli ÇaprazDoğrulama'ya geçmek mümkün değildir. Modeli değerlendirmeye ihtiyacınız varsa özel R betiği yazabilir ve R Betiği Yürütme modülünü kullanarak çalıştırabilirsiniz .
Özel R modüllerini kaydetmek ve yeniden kullanmak için R Modeli Oluştur'a ek olarak, R kullanarak kendi modelleme ve veri yönetimi işlemi uygulamanızı oluşturabilir, dosyaları çalışma alanınıza sıkıştırılmış biçimde yükleyebilir ve ardından paketi özel bir modül olarak kaydedebilirsiniz. Daha fazla bilgi için bkz . Özel R Modülleri.
R Modeli Oluşturma'yi yapılandırma
Bu modülün kullanımı için R hakkında ara veya uzman bilgisi gerekir. Modül, daha önce Machine Learning'da yüklü olan R paketlerine dahil olan tüm Machine Learning.
Azure Yapay Zeka Galerisi örnek , popüler paketi kullanarak iki sınıflı bir Naïve Bayes sınıflandırıcısı e1070
uygulayan: + R Modeli Oluştur. Örneği çalışma alanınıza kopyalayıp takip etmenizi öneririz.
Denemenize şu modülleri ekleyin: R Modeli Oluşturma, Modeli Eğit, ModeliPuanla.
R Modeli Oluştur'dakiÖzellikler bölmesinde şu betikleri kullanın:
Eğitimci R betiği: Burada size sağilen R betiği, modeli eğitmek için kullanılır. Denemeyi çalıştırarak Modeli Eğit modülüne dağıtabilirsiniz .
Puanlama R betiği: Bu girişte sağ attığınız R betiği yalnızca puanlama içindir. Denemeyi çalıştırıldığında Modeli Puanla modülüne dağıtılır .
Örnek deneme, model değerlendirmesi için graflar çizen Python Betiği Yürütme modülünü de içerir. Bu modül bir web hizmetine yayımlarken isteğe bağlıdır ancak denemeyi geliştirme sırasında kullanışlıdır.
- Python betiğinden grafikleri görüntülemek için Python modülüne sağ tıklayın, Python Cihazı'ı seçin ve Görselleştir'i seçin.
- Yalnızca model ölçümlerini görüntülemek için Python modülüne sağ tıklayın, Python Veri Kümesi'ne tıklayın ve Görselleştir'iseçin.
İsteğe bağlı Python modülünde kod için bkz. Model değerlendirmesi için Python modülü.
Eğitim betiği
Aşağıdaki örnek, Eğitimci R betiğinde kullanabileceğiniz kod türünü gösteriyor.
Bu betik bir R paketi yükler, paketten bir öğrenici kullanarak model oluşturur ve R Modeli Oluşturma'da sağlanan önceden tanımlanmış sabitleri ve işlevleri kullanarak özellik ve etiket sütunlarını yapılandırmaktadır.
library(e1071)
features <- get.feature.columns(dataset)
labels <- as.factor(get.label.column(dataset))
train.data <- data.frame(features, labels)
feature.names <- get.feature.column.names(dataset)
names(train.data) <- c(feature.names, "Class")
model <- naiveBayes(Class ~ ., train.data)
İlk satır, kullanmak istediğiniz Naïve Bayes sınıflandırıcı algoritmasını içeren E1071 R paketini yükler. Bu, Machine Learning ortamında önceden yüklenmiş paketlerden biri olduğu için paketi indirmeniz veya yüklemenize gerek yok.
Sonraki satırlar, veri kümesinden özellik sütunlarını ve etiket sütununu alın ve bunları adlı yeni bir R veri çerçevesinde birleştirir
train.data
:features <- get.feature.columns(dataset) labels <- as.factor(get.label.column(dataset)) train.data <- data.frame(features, labels) feature.names <- get.feature.column.names(dataset)
Önceden tanımlanmış bu işlevlerin kullanımına dikkat:
get.label.columns()
, Modeli Eğitin modülünde sınıf etiketi olarak seçilen sütunu döndürür.get.feature.columns()
, veri kümesinde özellik olarak belirlenen sütunları seçer.Varsayılan olarak, etiket sütunu dışındaki tüm sütunlar Studio'da (klasik) özellikler olarak kabul edilir. Bu nedenle, belirli sütunları özellik olarak işaretlemek için Meta Verileri Düzenle'yi kullanın veya R betiği içinde bir sütun kümesi seçin.
get.feature.column.names(dataset)
veri kümesinden özellik sütun adlarını alır.
Birleştirilmiş veri kümesinden gelen adlar
train.data
, içinde sütun adları olarak belirlenmiştir ve etiketClass
sütunu için geçici bir ad oluşturulur.names(train.data) <- c(feature.names, "Class")
Kodun son satırı Naïve Bayes sınıflandırıcı algoritmasını veri çerçevesindeki değişkenlerin (özelliklerin) ve sonuçların (etiketler)
train.data
bir işlevi olarak tanımlar.model <- naiveBayes(Class ~ ., train.data)
Model oluşturma, eğitim ve puanlama betikleri boyunca değişken adını kullan gerekir
model
.
Puanlama betiği
Aşağıdaki kod, Scorer R betiğinde sağ kodunun türünü göstermektedir.
library(e1071)
probabilities <- predict(model, dataset, type="raw")[,2]
classes <- as.factor(as.numeric(probabilities >= 0.5))
scores <- data.frame(classes, probabilities)
İlk satır paketi yükler.
İkinci satır, gerekli değişken adı olan tarafından belirlenen eğitim betiğinden eğitilen modeli kullanarak puanlama veri kümesi için tahmin edilen olasılıkları hesaplar
model
.Üçüncü satır, tahmin edilen sınıf etiketlerini atarken olasılıklara 0,5 eşiği uygular.
Son satır, sınıf etiketlerini ve olasılıklarını çıkış veri çerçevesinde birleştirir.
scores
Modeli Puanla modülüne geçirilen veri çerçevesinin adı olması gerekir
scores
.
İsteğe bağlı Python değerlendirme betiği
örnek denemesinde Azure Yapay Zeka Galerisi model değerlendirmesi için ölçümler ve grafikler oluşturmak için kullanılan aşağıdaki Python betiği yer almaktadır.
def azureml_main(dataframe):
import matplotlib
matplotlib.use("agg")
from sklearn.metrics import accuracy_score, precision_score, recall_score, roc_auc_score, roc_curve
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
scores = dataframe.ix[:, ("Class", "classes", "probabilities")]
ytrue = scores["Class"]
ypred = np.array([float(val) for val in scores["classes"]])
probabilities = scores["probabilities"]
accuracy, precision, recall, auc = \
accuracy_score(ytrue, ypred),\
precision_score(ytrue, ypred),\
recall_score(ytrue, ypred),\
roc_auc_score(ytrue, probabilities)
metrics = pd.DataFrame();
metrics["Metric"] = ["Accuracy", "Precision", "Recall", "AUC"];
metrics["Value"] = [accuracy, precision, recall, auc]
# Plot ROC Curve
fpr, tpr, thresholds = roc_curve(ytrue, probabilities)
fig = plt.figure()
axis = fig.gca()
axis.plot(fpr, tpr, linewidth=8)
axis.grid("on")
axis.set_xlabel("False positive rate")
axis.set_ylabel("True positive rate")
axis.set_title("ROC Curve")
fig.savefig("roc.png")
return metrics,
Özel R modeli iş akışını web hizmeti olarak yayımlama
Denemeyi çalıştırdıktan sonra, denemenin tamamlayanı bir web hizmeti olarak yayımlayın.
Studio (klasik) denemesinde web hizmeti oluşturma hakkında güncelleştirilmiş yönergeler için bkz. 5. Adım: Machine Learning web hizmetini dağıtma
Varsayılan olarak, web hizmeti eğitim verilerinden etiket sütunu da dahil olmak üzere tüm giriş sütunlarının sağ olmasını bekler. Tahmin etmeye çalıştığınız etiketi dışlamak için giriş veri kaynağı ile Modeli Puanlama modülü arasına Veri Kümesinde Sütun Seçme örneği ekleyebilirsiniz.
Teknik notlar
R Modeli Oluşturma modülü yalnızca CRAN R kullanımını destekler. Başka bir R sürümü seçesiniz veya Microsoft R Open'ı kullanamazsiniz.
Model, modülün ilk çalıştırması sonrasında önbelleğe alınmış ve giriş betikleri üzerinde herhangi bir değişiklik yapılana kadar sonraki çalıştırmalarda modül çağrılmaz. R betikleriniz aşağıdakilerden herhangi birini kullanıyorsa lütfen bu davranışı göz önünde bulundurabilirsiniz:
- Rastgele sayılar oluşturan işlevler
- Rastgele sayılar oluşturan işlevler
- Diğer belirsiz işlevler
Bu modülle oluşturulan özel R modelleri şu modüllerle kullanılamaz:
R modelleri kategorik verilerin özellik normalleştirme işlemini otomatik olarak gerçekleştirmez veya eksik değerleri işlemez. Bu tür değişkenlerin işlenmesi eğitim ve puanlama R betikleri içinde yapılması gerekir.
Önceden tanımlanmış işlevler tablosu
Kullanım | Description |
---|---|
get.feature.columns(dataset) |
Tüm özellik sütunlarını alır. |
get.label.column(dataset, label.type=TrueLabelType) |
Türe göre etiket sütununu alır. Kullanılabilir türlerin listesi için Sabitler bölümüne bakın. |
get.label.column.names(dataset) |
Tüm etiket sütunlarının adlarını alır. |
get.label.column.name(dataset, label.type=TrueLabelType) |
Türe göre etiket sütununu alır. Kullanılabilir türlerin listesi için Sabitler bölümüne bakın. |
get.label.column.types(dataset) |
Tüm etiket sütunlarının türlerini alır. |
get.feature.column.names(dataset) |
Tüm özellik sütunlarının adlarını alır. |
dataset < - set.score.column(dataset, score.type, column.name) |
Bir tür verilen puan sütununu ayarlar. Kullanılabilir türlerin listesi için Sabitler bölümüne bakın. |
dataset < - set.feature.channel(dataset, channel.name, column.names) |
Bir ad verilen özellik kanalını ayarlar. Kullanılabilir adların listesi için Sabitler bölümüne bakın. |
Önceden tanımlanmış sabitler tablosu
Sabit | Description |
---|---|
TrueLabelType | True etiket sütun türü |
ScoredLabelType | Puanlı etiket sütun türü |
RawScoreType | Ham puan sütun türü |
CalibratedScoreType | Ayarlanmış puan sütunu türü |
ScoredProbabilitiesMulticlassColumnTypePattern | Çok sınıflı sınıflandırıcı için puanlanan olasılıklar sütun türünü hazırlama deseni |
BayesianLinearRegressionScoresFeatureChannel | Bayes doğrusal regresyon puanlarına sahip özellik kanalının adı |
BinaryClassificationScoresFeatureChannel | İkili sınıflandırma puanlarına sahip özellik kanalının adı |
MulticlassClassificationScoresFeatureChannel | Çok sınıflı sınıflandırma puanlarına sahip özellik kanalının adı |
OrdinalRegressionScoresFeatureChannel | Ordinal regresyon puanlarına sahip özellik kanalının adı |
RegressionScoresFeatureChannel | Regresyon puanlarına sahip özellik kanalının adı |
Örnekler
Bu modülü makine öğrenmesi denemelerinde kullanma hakkında ek örnekler için bkz. Azure Yapay Zeka Galerisi.
Beklenen girişler
Ad | Tür | Description |
---|---|---|
Eğitimci R betiği | Komut Dosyası | Veri kümelerini giriş olarak alan ve eğitilmemiş bir model çıkışına sahip olan R betiği. |
Puanıcı R betiği | Komut Dosyası | Giriş olarak model ve veri kümesi alan ve betikte belirtilen puanların çıkışını alan R betiği. |
Çıkışlar
Ad | Tür | Description |
---|---|---|
Modelleme | ILearner arabirimi | Eğitilmemiş model |