Итак, в рамках моего задания я применяю линейную регрессию и регрессию лассо, и вот вопрос 7.
Основываясь на результатах ответа на вопрос 6, какое значение гаммы соответствует неподходящей модели (и имеет наихудшую точность тестового набора)? Какое значение гаммы соответствует модели с переоснащением (и имеющей наихудшую точность тестового набора)? Какой выбор гаммы был бы лучшим выбором для модели с хорошими характеристиками обобщения в этом наборе данных (высокая точность как для обучающего, так и для тестового набора)?
Подсказка: попробуйте нанести на график баллы из вопроса 6, чтобы визуализировать взаимосвязь между гаммой и точностью. Не забудьте закомментировать строку import matplotlib перед отправкой.
Эта функция должна возвращать один кортеж со значениями степеней в следующем порядке: (недостаточная подгонка, переобучение, хорошее_обобщение). Обратите внимание, что существует только одно правильное решение.
Мне очень нужна помощь, я не могу придумать, как решить этот последний вопрос. Какой код следует использовать для определения (недообучение, переоснащение, хорошее_обобщение) и почему???
Спасибо,
Набор данных: http://archive.ics.uci.edu/ml/datasets/Mushroom?ref=datanews.io
Вот мой код из вопроса 6:
from sklearn.svm import SVC
from sklearn.model_selection import validation_curve
def answer_six():
# SVC requires kernel='rbf', C=1, random_state=0 as instructed
# C: Penalty parameter C of the error term
# random_state: The seed of the pseudo random number generator
# used when shuffling the data for probability estimates
# e radial basis function kernel, or RBF kernel, is a popular
# kernel function used in various kernelized learning algorithms,
# In particular, it is commonly used in support vector machine
# classification
model = SVC(kernel='rbf', C=1, random_state=0)
# Return numpy array numbers spaced evenly on a log scale (start,
# stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)
gamma = np.logspace(-4,1,6)
# Create a Validation Curve for model and subsets.
# Create parameter name and range regarding gamma. Test Scoring
# requires accuracy.
# Validation curve requires X and y.
train_scores, test_scores = validation_curve(model, X_subset, y_subset, param_name='gamma', param_range=gamma, scoring ='accuracy')
# Determine mean for scores and tests along columns (axis=1)
sc = (train_scores.mean(axis=1), test_scores.mean(axis=1))
return sc
answer_six()