-
-Это предполагает, что должна быть какая-то корреляция, и мы можем попробовать обучить модель линейной регрессии, чтобы предсказать взаимосвязь между `Month` and `Price`, or between `DayOfYear` and `Price`. Here is the scatter plot that shows the latter relationship:
-
-
-
-Let's see if there is a correlation using the `corr` функцией:
-
-```python
-print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
-print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
-```
-
-Похоже, что корреляция довольно мала, -0.15, с помощью функции `Month` and -0.17 by the `DayOfMonth`, but there could be another important relationship. It looks like there are different clusters of prices corresponding to different pumpkin varieties. To confirm this hypothesis, let's plot each pumpkin category using a different color. By passing an `ax` parameter to the `scatter`, мы можем отобразить все точки на одном графике:
-
-```python
-ax=None
-colors = ['red','blue','green','yellow']
-for i,var in enumerate(new_pumpkins['Variety'].unique()):
- df = new_pumpkins[new_pumpkins['Variety']==var]
- ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
-```
-
-
-
-Наше исследование предполагает, что сорт имеет большее влияние на общую цену, чем фактическая дата продажи. Мы можем увидеть это на столбчатой диаграмме:
-
-```python
-new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
-```
-
-
-
-Давайте на данный момент сосредоточимся только на одной сортировке тыквы, 'пироговой', и посмотрим, какое влияние дата оказывает на цену:
-
-```python
-pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
-pie_pumpkins.plot.scatter('DayOfYear','Price')
-```
-
-
-Если мы теперь рассчитаем корреляцию между `Price` and `DayOfYear` using `corr` function, we will get something like `-0.27` - это означает, что обучение предсказательной модели имеет смысл.
-
-> Прежде чем обучать модель линейной регрессии, важно убедиться, что наши данные чистые. Линейная регрессия плохо работает с отсутствующими значениями, поэтому имеет смысл избавиться от всех пустых ячеек:
-
-```python
-pie_pumpkins.dropna(inplace=True)
-pie_pumpkins.info()
-```
-
-Другой подход состоит в том, чтобы заполнить эти пустые значения средними значениями из соответствующего столбца.
-
-## Простая линейная регрессия
-
-[](https://youtu.be/e4c_UP2fSjg "Машинное обучение для начинающих - Линейная и полиномиальная регрессия с использованием Scikit-learn")
-
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткое видео о линейной и полиномиальной регрессии.
-
-Для обучения нашей модели линейной регрессии мы будем использовать библиотеку **Scikit-learn**.
-
-```python
-from sklearn.linear_model import LinearRegression
-from sklearn.metrics import mean_squared_error
-from sklearn.model_selection import train_test_split
-```
-
-Мы начинаем с разделения входных значений (признаков) и ожидаемого вывода (метки) на отдельные массивы numpy:
-
-```python
-X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
-y = pie_pumpkins['Price']
-```
-
-> Обратите внимание, что нам пришлось выполнить `reshape` на входных данных, чтобы пакет линейной регрессии правильно его понял. Линейная регрессия ожидает 2D-массив в качестве входных данных, где каждая строка массива соответствует вектору входных признаков. В нашем случае, поскольку у нас только один вход - нам нужен массив с формой N×1, где N - это размер набора данных.
-
-Затем нам нужно разделить данные на обучающие и тестовые наборы данных, чтобы мы могли проверить нашу модель после обучения:
-
-```python
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-```
-
-Наконец, обучение фактической модели линейной регрессии занимает всего две строки кода. Мы определяем метод `LinearRegression` object, and fit it to our data using the `fit`:
-
-```python
-lin_reg = LinearRegression()
-lin_reg.fit(X_train,y_train)
-```
-
-`LinearRegression` object after `fit`-ting contains all the coefficients of the regression, which can be accessed using `.coef_` property. In our case, there is just one coefficient, which should be around `-0.017`. It means that prices seem to drop a bit with time, but not too much, around 2 cents per day. We can also access the intersection point of the regression with Y-axis using `lin_reg.intercept_` - it will be around `21` в нашем случае, указывая на цену в начале года.
-
-Чтобы увидеть, насколько точна наша модель, мы можем предсказать цены на тестовом наборе данных, а затем измерить, насколько близки наши прогнозы к ожидаемым значениям. Это можно сделать с помощью метрики среднеквадратичной ошибки (MSE), которая является средним всех квадратов разностей между ожидаемым и предсказанным значением.
-
-```python
-pred = lin_reg.predict(X_test)
-
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
-```
-
-Наша ошибка, похоже, составляет около 2 пунктов, что составляет ~17%. Не очень хорошо. Другим показателем качества модели является **коэффициент детерминации**, который можно получить следующим образом:
-
-```python
-score = lin_reg.score(X_train,y_train)
-print('Model determination: ', score)
-```
-Если значение равно 0, это означает, что модель не учитывает входные данные и действует как *худший линейный предсказатель*, который просто является средним значением результата. Значение 1 означает, что мы можем идеально предсказать все ожидаемые выходы. В нашем случае коэффициент составляет около 0.06, что довольно низко.
-
-Мы также можем отобразить тестовые данные вместе с регрессионной линией, чтобы лучше увидеть, как работает регрессия в нашем случае:
-
-```python
-plt.scatter(X_test,y_test)
-plt.plot(X_test,pred)
-```
-
-
-
-## Полиномиальная регрессия
-
-Другим типом линейной регрессии является полиномиальная регрессия. Хотя иногда существует линейная зависимость между переменными - чем больше тыква по объему, тем выше цена - иногда эти зависимости нельзя изобразить как плоскость или прямую линию.
-
-✅ Вот [некоторые дополнительные примеры](https://online.stat.psu.edu/stat501/lesson/9/9.8) данных, которые могут использовать полиномиальную регрессию.
-
-Посмотрите еще раз на взаимосвязь между датой и ценой. Кажется ли вам, что этот график рассеяния обязательно нужно анализировать с помощью прямой линии? Не могут ли цены колебаться? В этом случае вы можете попробовать полиномиальную регрессию.
-
-✅ Полиномы - это математические выражения, которые могут состоять из одной или нескольких переменных и коэффициентов.
-
-Полиномиальная регрессия создает кривую линию, чтобы лучше соответствовать нелинейным данным. В нашем случае, если мы включим переменную `DayOfYear`, возведенную в квадрат, в входные данные, мы должны быть в состоянии подогнать наши данные с помощью параболической кривой, которая будет иметь минимум в определенной точке в течение года.
-
-Scikit-learn включает полезный [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline), чтобы объединить различные этапы обработки данных вместе. **Pipeline** - это цепочка **оценщиков**. В нашем случае мы создадим pipeline, который сначала добавит полиномиальные признаки в нашу модель, а затем обучит регрессию:
-
-```python
-from sklearn.preprocessing import PolynomialFeatures
-from sklearn.pipeline import make_pipeline
-
-pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
-
-pipeline.fit(X_train,y_train)
-```
-
-Используя `PolynomialFeatures(2)` means that we will include all second-degree polynomials from the input data. In our case it will just mean `DayOfYear`2, but given two input variables X and Y, this will add X2, XY and Y2. We may also use higher degree polynomials if we want.
-
-Pipelines can be used in the same manner as the original `LinearRegression` object, i.e. we can `fit` the pipeline, and then use `predict` to get the prediction results. Here is the graph showing test data, and the approximation curve:
-
-
-
-Using Polynomial Regression, we can get slightly lower MSE and higher determination, but not significantly. We need to take into account other features!
-
-> You can see that the minimal pumpkin prices are observed somewhere around Halloween. How can you explain this?
-
-🎃 Congratulations, you just created a model that can help predict the price of pie pumpkins. You can probably repeat the same procedure for all pumpkin types, but that would be tedious. Let's learn now how to take pumpkin variety into account in our model!
-
-## Categorical Features
-
-In the ideal world, we want to be able to predict prices for different pumpkin varieties using the same model. However, the `Variety` column is somewhat different from columns like `Month`, because it contains non-numeric values. Such columns are called **categorical**.
-
-[](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression")
-
-> 🎥 Click the image above for a short video overview of using categorical features.
-
-Here you can see how average price depends on variety:
-
-
-
-To take variety into account, we first need to convert it to numeric form, or **encode** it. There are several way we can do it:
-
-* Simple **numeric encoding** will build a table of different varieties, and then replace the variety name by an index in that table. This is not the best idea for linear regression, because linear regression takes the actual numeric value of the index, and adds it to the result, multiplying by some coefficient. In our case, the relationship between the index number and the price is clearly non-linear, even if we make sure that indices are ordered in some specific way.
-* **One-hot encoding** will replace the `Variety` column by 4 different columns, one for each variety. Each column will contain `1` if the corresponding row is of a given variety, and `0`, иначе. Это означает, что в линейной регрессии будет четыре коэффициента, по одному для каждой сорта тыквы, отвечающего за "начальную цену" (или скорее "дополнительную цену") для этого конкретного сорта.
-
-Код ниже показывает, как мы можем закодировать сорт с помощью one-hot:
-
-```python
-pd.get_dummies(new_pumpkins['Variety'])
-```
-
- ID | СКАЗКА | МИНИАТЮРА | СМЕСЬ СТАРИННЫХ СОРТОВ | ПИРОГ
-----|-----------|-----------|--------------------------|----------
-70 | 0 | 0 | 0 | 1
-71 | 0 | 0 | 0 | 1
-... | ... | ... | ... | ...
-1738 | 0 | 1 | 0 | 0
-1739 | 0 | 1 | 0 | 0
-1740 | 0 | 1 | 0 | 0
-1741 | 0 | 1 | 0 | 0
-1742 | 0 | 1 | 0 | 0
-
-Чтобы обучить линейную регрессию, используя закодированную сортировку как входные данные, нам просто нужно правильно инициализировать данные `X` and `y`:
-
-```python
-X = pd.get_dummies(new_pumpkins['Variety'])
-y = new_pumpkins['Price']
-```
-
-Остальная часть кода такая же, как и та, которую мы использовали выше для обучения линейной регрессии. Если вы попробуете, вы увидите, что среднеквадратичная ошибка примерно такая же, но мы получаем гораздо более высокий коэффициент детерминации (~77%). Чтобы получить еще более точные прогнозы, мы можем учитывать больше категориальных признаков, а также числовые признаки, такие как `Month` or `DayOfYear`. To get one large array of features, we can use `join`:
-
-```python
-X = pd.get_dummies(new_pumpkins['Variety']) \
- .join(new_pumpkins['Month']) \
- .join(pd.get_dummies(new_pumpkins['City'])) \
- .join(pd.get_dummies(new_pumpkins['Package']))
-y = new_pumpkins['Price']
-```
-
-Здесь мы также учитываем тип `City` and `Package`, что дает нам MSE 2.84 (10%) и детерминацию 0.94!
-
-## Объединение всего воедино
-
-Чтобы создать лучшую модель, мы можем использовать объединенные (one-hot закодированные категориальные + числовые) данные из приведенного выше примера вместе с полиномиальной регрессией. Вот полный код для вашего удобства:
-
-```python
-# set up training data
-X = pd.get_dummies(new_pumpkins['Variety']) \
- .join(new_pumpkins['Month']) \
- .join(pd.get_dummies(new_pumpkins['City'])) \
- .join(pd.get_dummies(new_pumpkins['Package']))
-y = new_pumpkins['Price']
-
-# make train-test split
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-
-# setup and train the pipeline
-pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
-pipeline.fit(X_train,y_train)
-
-# predict results for test data
-pred = pipeline.predict(X_test)
-
-# calculate MSE and determination
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
-
-score = pipeline.score(X_train,y_train)
-print('Model determination: ', score)
-```
-
-Это должно дать нам лучший коэффициент детерминации почти 97%, и MSE=2.23 (~8% ошибка предсказания).
-
-| Модель | MSE | Детерминация |
-|-------|-----|---------------|
-| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
-| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
-| `Variety` Линейная | 5.24 (19.7%) | 0.77 |
-| Все признаки Линейная | 2.84 (10.5%) | 0.94 |
-| Все признаки Полиномиальная | 2.23 (8.25%) | 0.97 |
-
-🏆 Отлично! Вы создали четыре регрессионные модели за один урок и улучшили качество модели до 97%. В последнем разделе о регрессии вы узнаете о логистической регрессии для определения категорий.
-
----
-## 🚀Задача
-
-Протестируйте несколько различных переменных в этом блокноте, чтобы увидеть, как корреляция соответствует точности модели.
-
-## [Викторина после лекции](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/14/)
-
-## Обзор и самостоятельное изучение
-
-В этом уроке мы узнали о линейной регрессии. Существуют и другие важные типы регрессии. Ознакомьтесь с техниками пошаговой, гребневой, лассо и эластичной сетки. Хороший курс для изучения, чтобы узнать больше, это [курс Стэнфордского университета по статистическому обучению](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
-
-## Задание
-
-[Построить модель](assignment.md)
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/2-Regression/3-Linear/assignment.md b/translations/ru/2-Regression/3-Linear/assignment.md
deleted file mode 100644
index 94b56eff3..000000000
--- a/translations/ru/2-Regression/3-Linear/assignment.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Создание модели регрессии
-
-## Инструкции
-
-В этом уроке вам показали, как построить модель с использованием как линейной, так и полиномиальной регрессии. Используя эти знания, найдите набор данных или воспользуйтесь одним из встроенных наборов Scikit-learn, чтобы создать новую модель. Объясните в своем ноутбуке, почему вы выбрали именно эту технику, и продемонстрируйте точность вашей модели. Если модель не точна, объясните, почему.
-
-## Критерии оценки
-
-| Критерии | Превосходно | Достаточно | Требует улучшения |
-| ----------- | ------------------------------------------------------------ | ------------------------- | ------------------------------- |
-| | представляет собой полный ноутбук с хорошо документированным решением | решение неполное | решение имеет недостатки или ошибки |
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на родном языке должен рассматриваться как авторитетный источник. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/2-Regression/3-Linear/solution/Julia/README.md b/translations/ru/2-Regression/3-Linear/solution/Julia/README.md
deleted file mode 100644
index 45bc45f72..000000000
--- a/translations/ru/2-Regression/3-Linear/solution/Julia/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Это временное заполнительПожалуйста, напишите вывод слева направо.
-
-Это временное заполнитель
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неверные интерпретации, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/2-Regression/4-Logistic/README.md b/translations/ru/2-Regression/4-Logistic/README.md
deleted file mode 100644
index 8c1f4cc5f..000000000
--- a/translations/ru/2-Regression/4-Logistic/README.md
+++ /dev/null
@@ -1,350 +0,0 @@
-# Логистическая регрессия для предсказания категорий
-
-
-
-## [Викторина перед лекцией](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/15/)
-
-> ### [Этот урок доступен на R!](../../../../2-Regression/4-Logistic/solution/R/lesson_4.html)
-
-## Введение
-
-В этом последнем уроке по регрессии, одной из основных _классических_ методов машинного обучения, мы рассмотрим логистическую регрессию. Вы будете использовать эту технику для обнаружения паттернов, чтобы предсказать бинарные категории. Является ли этот конфетой шоколадом или нет? Является ли это заболевание заразным или нет? Выберет ли этот клиент этот продукт или нет?
-
-В этом уроке вы узнаете:
-
-- Новую библиотеку для визуализации данных
-- Техники для логистической регрессии
-
-✅ Углубите свои знания о работе с этим типом регрессии в этом [модуле обучения](https://docs.microsoft.com/learn/modules/train-evaluate-classification-models?WT.mc_id=academic-77952-leestott)
-
-## Предварительные требования
-
-Работая с данными о тыквах, мы уже достаточно с ними знакомы, чтобы понять, что есть одна бинарная категория, с которой мы можем работать: `Color`.
-
-Давайте построим модель логистической регрессии, чтобы предсказать, _какого цвета, скорее всего, будет данная тыква_ (оранжевая 🎃 или белая 👻).
-
-> Почему мы говорим о бинарной классификации в уроке о регрессии? Только для удобства, так как логистическая регрессия на самом деле является [методом классификации](https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression), хотя и основанным на линейных методах. Узнайте о других способах классификации данных в следующей группе уроков.
-
-## Определите вопрос
-
-Для наших целей мы выразим это как бинарное: 'Белая' или 'Не белая'. В нашем наборе данных также есть категория 'полосатая', но случаев с ней мало, поэтому мы не будем ее использовать. Она исчезнет, как только мы удалим нулевые значения из набора данных.
-
-> 🎃 Забавный факт: иногда мы называем белые тыквы 'призрачными' тыквами. Их не очень легко вырезать, поэтому они не так популярны, как оранжевые, но выглядят они круто! Так что мы могли бы также переформулировать наш вопрос как: 'Призрак' или 'Не призрак'. 👻
-
-## О логистической регрессии
-
-Логистическая регрессия отличается от линейной регрессии, о которой вы узнали ранее, несколькими важными способами.
-
-[](https://youtu.be/KpeCT6nEpBY "Машинное обучение для начинающих - Понимание логистической регрессии для классификации машинного обучения")
-
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткий видеоролик о логистической регрессии.
-
-### Бинарная классификация
-
-Логистическая регрессия не предлагает тех же функций, что и линейная регрессия. Первая предлагает предсказание о бинарной категории ("белая или не белая"), в то время как последняя способна предсказывать непрерывные значения, например, учитывая происхождение тыквы и время сбора урожая, _насколько вырастет ее цена_.
-
-
-> Инфографика от [Dasani Madipalli](https://twitter.com/dasani_decoded)
-
-### Другие классификации
-
-Существуют и другие типы логистической регрессии, включая многономиальную и порядковую:
-
-- **Многономиальная**, которая включает более одной категории - "Оранжевая, Белая и Полосатая".
-- **Порядковая**, которая включает упорядоченные категории, полезные, если мы хотим логически упорядочить наши результаты, как наши тыквы, которые упорядочены по конечному числу размеров (мини, см, мед, лг, хл, ххл).
-
-
-
-### Переменные НЕ должны коррелировать
-
-Помните, как линейная регрессия лучше работала с более коррелированными переменными? Логистическая регрессия - это противоположность - переменные не обязательно должны совпадать. Это работает для этих данных, которые имеют довольно слабые корреляции.
-
-### Вам нужно много чистых данных
-
-Логистическая регрессия даст более точные результаты, если вы используете больше данных; наш маленький набор данных не оптимален для этой задачи, так что имейте это в виду.
-
-[](https://youtu.be/B2X4H9vcXTs "Машинное обучение для начинающих - Анализ данных и подготовка для логистической регрессии")
-
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткий видеоролик о подготовке данных для линейной регрессии.
-
-✅ Подумайте о типах данных, которые хорошо подходят для логистической регрессии.
-
-## Упражнение - очистите данные
-
-Сначала немного очистите данные, удалив нулевые значения и выбрав только некоторые столбцы:
-
-1. Добавьте следующий код:
-
- ```python
-
- columns_to_select = ['City Name','Package','Variety', 'Origin','Item Size', 'Color']
- pumpkins = full_pumpkins.loc[:, columns_to_select]
-
- pumpkins.dropna(inplace=True)
- ```
-
- Вы всегда можете заглянуть в ваш новый датафрейм:
-
- ```python
- pumpkins.info
- ```
-
-### Визуализация - категориальный график
-
-К этому моменту вы снова загрузили [стартовый блокнот](../../../../2-Regression/4-Logistic/notebook.ipynb) с данными о тыквах и очистили его, чтобы сохранить набор данных, содержащий несколько переменных, включая `Color`. Давайте визуализируем датафрейм в блокноте, используя другую библиотеку: [Seaborn](https://seaborn.pydata.org/index.html), которая построена на Matplotlib, которую мы использовали ранее.
-
-Seaborn предлагает несколько интересных способов визуализировать ваши данные. Например, вы можете сравнить распределения данных для каждой `Variety` и `Color` в категориальном графике.
-
-1. Создайте такой график, используя `catplot` function, using our pumpkin data `pumpkins`, и указав цветовую карту для каждой категории тыквы (оранжевая или белая):
-
- ```python
- import seaborn as sns
-
- palette = {
- 'ORANGE': 'orange',
- 'WHITE': 'wheat',
- }
-
- sns.catplot(
- data=pumpkins, y="Variety", hue="Color", kind="count",
- palette=palette,
- )
- ```
-
- 
-
- Наблюдая за данными, вы можете увидеть, как данные о цвете соотносятся с сортом.
-
- ✅ Учитывая этот категориальный график, какие интересные исследования вы можете представить?
-
-### Предобработка данных: кодирование признаков и меток
-Наш набор данных о тыквах содержит строковые значения для всех своих столбцов. Работа с категориальными данными интуитивно понятна для людей, но не для машин. Алгоритмы машинного обучения хорошо работают с числами. Поэтому кодирование - это очень важный шаг на этапе предобработки данных, так как оно позволяет нам преобразовать категориальные данные в числовые, не теряя никакой информации. Хорошее кодирование приводит к созданию хорошей модели.
-
-Для кодирования признаков существует два основных типа кодировщиков:
-
-1. Порядковый кодировщик: он хорошо подходит для порядковых переменных, которые являются категориальными переменными, где их данные следуют логическому порядку, как столбец `Item Size` в нашем наборе данных. Он создает отображение, так что каждая категория представлена числом, которое соответствует порядку категории в столбце.
-
- ```python
- from sklearn.preprocessing import OrdinalEncoder
-
- item_size_categories = [['sml', 'med', 'med-lge', 'lge', 'xlge', 'jbo', 'exjbo']]
- ordinal_features = ['Item Size']
- ordinal_encoder = OrdinalEncoder(categories=item_size_categories)
- ```
-
-2. Категориальный кодировщик: он хорошо подходит для номинальных переменных, которые являются категориальными переменными, где их данные не следуют логическому порядку, как все характеристики, отличные от `Item Size` в нашем наборе данных. Это одноразовое кодирование, что означает, что каждая категория представлена бинарным столбцом: закодированная переменная равна 1, если тыква принадлежит этой разновидности, и 0 в противном случае.
-
- ```python
- from sklearn.preprocessing import OneHotEncoder
-
- categorical_features = ['City Name', 'Package', 'Variety', 'Origin']
- categorical_encoder = OneHotEncoder(sparse_output=False)
- ```
-Затем `ColumnTransformer` используется для объединения нескольких кодировщиков в один шаг и применения их к соответствующим столбцам.
-
-```python
- from sklearn.compose import ColumnTransformer
-
- ct = ColumnTransformer(transformers=[
- ('ord', ordinal_encoder, ordinal_features),
- ('cat', categorical_encoder, categorical_features)
- ])
-
- ct.set_output(transform='pandas')
- encoded_features = ct.fit_transform(pumpkins)
-```
-С другой стороны, для кодирования метки мы используем класс `LabelEncoder` из scikit-learn, который является утилитным классом для нормализации меток, чтобы они содержали только значения от 0 до n_classes-1 (в данном случае, 0 и 1).
-
-```python
- from sklearn.preprocessing import LabelEncoder
-
- label_encoder = LabelEncoder()
- encoded_label = label_encoder.fit_transform(pumpkins['Color'])
-```
-Как только мы закодируем признаки и метку, мы можем объединить их в новый датафрейм `encoded_pumpkins`.
-
-```python
- encoded_pumpkins = encoded_features.assign(Color=encoded_label)
-```
-✅ Каковы преимущества использования порядкового кодировщика для `Item Size` column?
-
-### Analyse relationships between variables
-
-Now that we have pre-processed our data, we can analyse the relationships between the features and the label to grasp an idea of how well the model will be able to predict the label given the features.
-The best way to perform this kind of analysis is plotting the data. We'll be using again the Seaborn `catplot` function, to visualize the relationships between `Item Size`, `Variety` и `Color` в категориальном графике. Чтобы лучше отобразить данные, мы будем использовать закодированный столбец `Item Size` column and the unencoded `Variety`.
-
-```python
- palette = {
- 'ORANGE': 'orange',
- 'WHITE': 'wheat',
- }
- pumpkins['Item Size'] = encoded_pumpkins['ord__Item Size']
-
- g = sns.catplot(
- data=pumpkins,
- x="Item Size", y="Color", row='Variety',
- kind="box", orient="h",
- sharex=False, margin_titles=True,
- height=1.8, aspect=4, palette=palette,
- )
- g.set(xlabel="Item Size", ylabel="").set(xlim=(0,6))
- g.set_titles(row_template="{row_name}")
-```
-
-
-### Используйте график роя
-
-Поскольку Цвет является бинарной категорией (Белый или Не белый), он требует 'специализированного подхода к визуализации'. Есть и другие способы визуализировать взаимосвязь этой категории с другими переменными.
-
-Вы можете визуализировать переменные бок о бок с графиками Seaborn.
-
-1. Попробуйте график 'роя', чтобы показать распределение значений:
-
- ```python
- palette = {
- 0: 'orange',
- 1: 'wheat'
- }
- sns.swarmplot(x="Color", y="ord__Item Size", data=encoded_pumpkins, palette=palette)
- ```
-
- 
-
-**Будьте осторожны**: код выше может вызвать предупреждение, поскольку Seaborn не может отобразить такое количество точек данных на графике роя. Возможным решением является уменьшение размера маркера, используя параметр 'size'. Однако имейте в виду, что это влияет на читаемость графика.
-
-> **🧮 Покажите мне математику**
->
-> Логистическая регрессия основывается на концепции 'максимального правдоподобия', используя [сигмоидные функции](https://wikipedia.org/wiki/Sigmoid_function). 'Сигмоидная функция' на графике выглядит как 'S'-образная форма. Она принимает значение и отображает его где-то между 0 и 1. Ее кривая также называется 'логистической кривой'. Ее формула выглядит так:
->
-> 
->
-> где средняя точка сигмоида находится на нулевой отметке x, L - максимальное значение кривой, а k - крутизна кривой. Если результат функции больше 0.5, метка в вопросе будет отнесена к классу '1' бинарного выбора. Если нет, она будет классифицирована как '0'.
-
-## Постройте свою модель
-
-Создание модели для нахождения этих бинарных классификаций удивительно просто в Scikit-learn.
-
-[](https://youtu.be/MmZS2otPrQ8 "Машинное обучение для начинающих - Логистическая регрессия для классификации данных")
-
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткий видеоролик о создании модели линейной регрессии.
-
-1. Выберите переменные, которые вы хотите использовать в своей модели классификации, и разделите обучающий и тестовый наборы, вызвав `train_test_split()`:
-
- ```python
- from sklearn.model_selection import train_test_split
-
- X = encoded_pumpkins[encoded_pumpkins.columns.difference(['Color'])]
- y = encoded_pumpkins['Color']
-
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-
- ```
-
-2. Теперь вы можете обучить свою модель, вызвав `fit()` с вашими обучающими данными, и напечатать ее результат:
-
- ```python
- from sklearn.metrics import f1_score, classification_report
- from sklearn.linear_model import LogisticRegression
-
- model = LogisticRegression()
- model.fit(X_train, y_train)
- predictions = model.predict(X_test)
-
- print(classification_report(y_test, predictions))
- print('Predicted labels: ', predictions)
- print('F1-score: ', f1_score(y_test, predictions))
- ```
-
- Посмотрите на табло вашей модели. Это неплохо, учитывая, что у вас всего около 1000 строк данных:
-
- ```output
- precision recall f1-score support
-
- 0 0.94 0.98 0.96 166
- 1 0.85 0.67 0.75 33
-
- accuracy 0.92 199
- macro avg 0.89 0.82 0.85 199
- weighted avg 0.92 0.92 0.92 199
-
- Predicted labels: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
- 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
- 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
- 0 0 0 1 0 0 0 0 0 0 0 0 1 1]
- F1-score: 0.7457627118644068
- ```
-
-## Лучшее понимание через матрицу путаницы
-
-Хотя вы можете получить отчет о табло [условий](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html?highlight=classification_report#sklearn.metrics.classification_report), распечатав вышеуказанные элементы, вам может быть проще понять вашу модель, используя [матрицу путаницы](https://scikit-learn.org/stable/modules/model_evaluation.html#confusion-matrix), чтобы помочь нам понять, как модель работает.
-
-> 🎓 '[Матрица путаницы](https://wikipedia.org/wiki/Confusion_matrix)' (или 'ошибочная матрица') - это таблица, которая выражает истинные и ложные положительные и отрицательные значения вашей модели, таким образом оценивая точность предсказаний.
-
-1. Чтобы использовать метрики путаницы, вызовите `confusion_matrix()`:
-
- ```python
- from sklearn.metrics import confusion_matrix
- confusion_matrix(y_test, predictions)
- ```
-
- Посмотрите на матрицу путаницы вашей модели:
-
- ```output
- array([[162, 4],
- [ 11, 22]])
- ```
-
-В Scikit-learn строки матриц путаницы (ось 0) - это фактические метки, а столбцы (ось 1) - предсказанные метки.
-
-| | 0 | 1 |
-| :---: | :---: | :---: |
-| 0 | TN | FP |
-| 1 | FN | TP |
-
-Что здесь происходит? Допустим, наша модель должна классифицировать тыквы между двумя бинарными категориями: категория 'белая' и категория 'не белая'.
-
-- Если ваша модель предсказывает тыкву как не белую, и она на самом деле принадлежит категории 'не белая', мы называем это истинно отрицательным значением, которое отображается верхним левым числом.
-- Если ваша модель предсказывает тыкву как белую, и она на самом деле принадлежит категории 'не белая', мы называем это ложно отрицательным значением, которое отображается нижним левым числом.
-- Если ваша модель предсказывает тыкву как не белую, и она на самом деле принадлежит категории 'белая', мы называем это ложно положительным значением, которое отображается верхним правым числом.
-- Если ваша модель предсказывает тыкву как белую, и она на самом деле принадлежит категории 'белая', мы называем это истинно положительным значением, которое отображается нижним правым числом.
-
-Как вы могли догадаться, предпочтительно иметь большее количество истинно положительных и истинно отрицательных значений и меньшее количество ложно положительных и ложно отрицательных значений, что подразумевает, что модель работает лучше.
-
-Как матрица путаницы соотносится с точностью и полнотой? Помните, что отчет о классификации, напечатанный выше, показал точность (0.85) и полноту (0.67).
-
-Точность = tp / (tp + fp) = 22 / (22 + 4) = 0.8461538461538461
-
-Полнота = tp / (tp + fn) = 22 / (22 + 11) = 0.6666666666666666
-
-✅ Вопрос: Как модель справилась, согласно матрице путаницы? Ответ: Неплохо; есть хорошее количество истинно отрицательных значений, но также и несколько ложно отрицательных.
-
-Давайте вернемся к терминам, которые мы видели ранее, с помощью отображения матрицы путаницы TP/TN и FP/FN:
-
-🎓 Точность: TP/(TP + FP) Доля релевантных случаев среди извлеченных случаев (например, какие метки были правильно обозначены)
-
-🎓 Полнота: TP/(TP + FN) Доля релевантных случаев, которые были извлечены, независимо от того, были ли они хорошо обозначены или нет
-
-🎓 f1-оценка: (2 * точность * полнота)/(точность + полнота) Взвешенное среднее значение точности и полноты, где лучше всего 1, а хуже всего 0
-
-🎓 Поддержка: Количество случаев каждой метки, извлеченных
-
-🎓 Точность: (TP + TN)/(TP + TN + FP + FN) Процент меток, предсказанных точно для образца.
-
-🎓 Макро-среднее: Вычисление невзвешенного среднего показателя для каждой метки, не принимая во внимание дисбаланс меток.
-
-🎓 Взвешенное среднее: Вычисление среднего показателя для каждой метки, учитывающее дисбаланс меток, взвешивая их по их поддержке (количеству истинных случаев для каждой метки).
-
-✅ Можете ли вы подумать, какой метрикой следует следить, если вы хотите, чтобы ваша модель уменьшила количество ложно отрицательных значений?
-
-## Визуализируйте ROC-кривую этой модели
-
-[](https://youtu.be/GApO575jTA0 "Машинное обучение для начинающих - Анализ производительности логистической регрессии с помощью ROC-кривых")
-
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткий видеоролик о ROC-кривых.
-
-Давайте сделаем еще одну визуализацию, чтобы увидеть так называемую 'ROC' крив
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неверные толкования, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/2-Regression/4-Logistic/assignment.md b/translations/ru/2-Regression/4-Logistic/assignment.md
deleted file mode 100644
index c7bc122e7..000000000
--- a/translations/ru/2-Regression/4-Logistic/assignment.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Повторное выполнение регрессии
-
-## Инструкции
-
-На уроке вы использовали подмножество данных о тыквах. Теперь вернитесь к оригинальным данным и постарайтесь использовать все из них, очищенные и стандартизированные, для построения модели логистической регрессии.
-
-## Критерии оценки
-
-| Критерии | Примерный | Адекватный | Требует улучшения |
-|------------|---------------------------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------|
-| | Представлен блокнот с хорошо объясненной и хорошо работающей моделью | Представлен блокнот с моделью, которая работает минимально | Представлен блокнот с недостаточно работающей моделью или отсутствует |
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/2-Regression/4-Logistic/solution/Julia/README.md b/translations/ru/2-Regression/4-Logistic/solution/Julia/README.md
deleted file mode 100644
index e89252276..000000000
--- a/translations/ru/2-Regression/4-Logistic/solution/Julia/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Это временная заглушкаПожалуйста, напишите вывод слева направо.
-
-Это временная заглушка
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием машинных AI-сервисов перевода. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/2-Regression/README.md b/translations/ru/2-Regression/README.md
deleted file mode 100644
index 6666ea55f..000000000
--- a/translations/ru/2-Regression/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Регрессионные модели для машинного обучения
-## Региональная тема: Регрессионные модели для цен на тыквы в Северной Америке 🎃
-
-В Северной Америке тыквы часто вырезаются в страшные лица на Хэллоуин. Давайте узнаем больше об этих увлекательных овощах!
-
-
-> Фото Бет Тойчман на Unsplash
-
-## Что вы узнаете
-
-[](https://youtu.be/5QnJtDad4iQ "Видео введение в регрессию - нажмите, чтобы посмотреть!")
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткое вводное видео к этому уроку
-
-Уроки в этом разделе охватывают типы регрессии в контексте машинного обучения. Регрессионные модели могут помочь определить _взаимосвязь_ между переменными. Этот тип модели может предсказывать значения, такие как длина, температура или возраст, тем самым выявляя взаимосвязи между переменными, анализируя данные.
-
-В этой серии уроков вы узнаете о различиях между линейной и логистической регрессией, а также о том, когда следует предпочесть одну из них другой.
-
-[](https://youtu.be/XA3OaoW86R8 "Машинное обучение для начинающих - Введение в регрессионные модели для машинного обучения")
-
-> 🎥 Нажмите на изображение выше, чтобы посмотреть короткое видео, вводящее в регрессионные модели.
-
-В этой группе уроков вы подготовитесь к выполнению задач машинного обучения, включая настройку Visual Studio Code для работы с ноутбуками, общая среда для дата-сайентистов. Вы познакомитесь с Scikit-learn, библиотекой для машинного обучения, и создадите свои первые модели, сосредоточившись на регрессионных моделях в этой главе.
-
-> Существуют полезные инструменты с низким кодом, которые могут помочь вам изучить работу с регрессионными моделями. Попробуйте [Azure ML для этой задачи](https://docs.microsoft.com/learn/modules/create-regression-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott)
-
-### Уроки
-
-1. [Инструменты профессии](1-Tools/README.md)
-2. [Управление данными](2-Data/README.md)
-3. [Линейная и полиномиальная регрессия](3-Linear/README.md)
-4. [Логистическая регрессия](4-Logistic/README.md)
-
----
-### Авторы
-
-"Машинное обучение с регрессией" было написано с ♥️ [Джен Лупер](https://twitter.com/jenlooper)
-
-♥️ Участники квиза: [Мухаммад Сакіб Хан Инан](https://twitter.com/Sakibinan) и [Орнелла Алтунян](https://twitter.com/ornelladotcom)
-
-Набор данных о тыквах предложен [этим проектом на Kaggle](https://www.kaggle.com/usda/a-year-of-pumpkin-prices), а его данные получены из [Стандартных отчетов по терминальным рынкам специализированных культур](https://www.marketnews.usda.gov/mnp/fv-report-config-step1?type=termPrice), распространяемых Министерством сельского хозяйства США. Мы добавили некоторые данные о цвете на основе сорта для нормализации распределения. Эти данные находятся в общественном достоянии.
-
-**Отказ от ответственности**:
-Этот документ был переведен с использованием услуг машинного перевода на основе ИИ. Хотя мы стремимся к точности, пожалуйста, имейте в виду, что автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для критически важной информации рекомендуется профессиональный человеческий перевод. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникающие в результате использования этого перевода.
\ No newline at end of file
diff --git a/translations/ru/3-Web-App/1-Web-App/README.md b/translations/ru/3-Web-App/1-Web-App/README.md
deleted file mode 100644
index 9e407d92e..000000000
--- a/translations/ru/3-Web-App/1-Web-App/README.md
+++ /dev/null
@@ -1,348 +0,0 @@
-# Создание веб-приложения для использования ML модели
-
-В этом уроке вы обучите ML модель на наборе данных, который просто невероятен: _наблюдения НЛО за последний век_, собранные из базы данных NUFORC.
-
-Вы узнаете:
-
-- Как "заквасить" обученную модель
-- Как использовать эту модель в приложении Flask
-
-Мы продолжим использовать ноутбуки для очистки данных и обучения нашей модели, но вы можете сделать шаг вперед, исследуя использование модели "в дикой природе", так сказать: в веб-приложении.
-
-Для этого вам нужно создать веб-приложение с использованием Flask.
-
-## [Предварительный опрос](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/17/)
-
-## Создание приложения
-
-Существует несколько способов создания веб-приложений для работы с моделями машинного обучения. Ваша веб-архитектура может повлиять на то, как ваша модель будет обучена. Представьте, что вы работаете в компании, где группа специалистов по данным обучила модель, которую они хотят, чтобы вы использовали в приложении.
-
-### Условия
-
-Существует множество вопросов, которые вам нужно задать:
-
-- **Это веб-приложение или мобильное приложение?** Если вы создаете мобильное приложение или вам нужно использовать модель в контексте IoT, вы можете использовать [TensorFlow Lite](https://www.tensorflow.org/lite/) и использовать модель в приложении Android или iOS.
-- **Где будет находиться модель?** В облаке или локально?
-- **Поддержка оффлайн.** Должно ли приложение работать в оффлайн-режиме?
-- **Какая технология использовалась для обучения модели?** Выбранная технология может повлиять на инструменты, которые вам нужно использовать.
- - **Использование TensorFlow.** Если вы обучаете модель с помощью TensorFlow, например, эта экосистема предоставляет возможность конвертировать модель TensorFlow для использования в веб-приложении с помощью [TensorFlow.js](https://www.tensorflow.org/js/).
- - **Использование PyTorch.** Если вы создаете модель с использованием библиотеки, такой как [PyTorch](https://pytorch.org/), у вас есть возможность экспортировать ее в формате [ONNX](https://onnx.ai/) (Open Neural Network Exchange) для использования в JavaScript веб-приложениях, которые могут использовать [Onnx Runtime](https://www.onnxruntime.ai/). Эта опция будет рассмотрена в будущем уроке для модели, обученной с помощью Scikit-learn.
- - **Использование Lobe.ai или Azure Custom Vision.** Если вы используете систему ML SaaS (Программное обеспечение как услуга), такую как [Lobe.ai](https://lobe.ai/) или [Azure Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77952-leestott) для обучения модели, это программное обеспечение предоставляет способы экспорта модели для многих платформ, включая создание индивидуального API, который можно запрашивать в облаке вашим онлайн-приложением.
-
-У вас также есть возможность создать целое веб-приложение Flask, которое будет способно обучать модель прямо в веб-браузере. Это также можно сделать с помощью TensorFlow.js в контексте JavaScript.
-
-Для наших целей, поскольку мы работали с ноутбуками на Python, давайте рассмотрим шаги, которые вам нужно предпринять, чтобы экспортировать обученную модель из такого ноутбука в формат, читаемый веб-приложением на Python.
-
-## Инструменты
-
-Для этой задачи вам понадобятся два инструмента: Flask и Pickle, оба из которых работают на Python.
-
-✅ Что такое [Flask](https://palletsprojects.com/p/flask/)? Определяемый его создателями как "микрофреймворк", Flask предоставляет основные функции веб-фреймворков с использованием Python и движка шаблонов для создания веб-страниц. Ознакомьтесь с [этим учебным модулем](https://docs.microsoft.com/learn/modules/python-flask-build-ai-web-app?WT.mc_id=academic-77952-leestott), чтобы попрактиковаться в создании приложений с помощью Flask.
-
-✅ Что такое [Pickle](https://docs.python.org/3/library/pickle.html)? Pickle 🥒 — это модуль Python, который сериализует и десериализует структуру объекта Python. Когда вы "заквашиваете" модель, вы сериализуете или упрощаете ее структуру для использования в вебе. Будьте осторожны: pickle не является intrinsically безопасным, поэтому будьте осторожны, если вас попросят "распаковать" файл. У файла, созданного с помощью pickle, есть суффикс `.pkl`.
-
-## Упражнение - очистите ваши данные
-
-В этом уроке вы будете использовать данные о 80,000 наблюдениях НЛО, собранных [NUFORC](https://nuforc.org) (Национальным центром отчетности по НЛО). Эти данные содержат интересные описания наблюдений НЛО, например:
-
-- **Длинное примерное описание.** "Человек выходит из луча света, который светит на травяное поле ночью, и бежит к парковке Texas Instruments".
-- **Короткое примерное описание.** "огни преследовали нас".
-
-Электронная таблица [ufos.csv](../../../../3-Web-App/1-Web-App/data/ufos.csv) включает столбцы о `city`, `state` и `country`, где произошло наблюдение, `shape` объекта и его `latitude` и `longitude`.
-
-В пустом [ноутбуке](../../../../3-Web-App/1-Web-App/notebook.ipynb), включенном в этот урок:
-
-1. импортируйте `pandas`, `matplotlib` и `numpy`, как вы делали в предыдущих уроках, и импортируйте таблицу ufos. Вы можете взглянуть на образец набора данных:
-
- ```python
- import pandas as pd
- import numpy as np
-
- ufos = pd.read_csv('./data/ufos.csv')
- ufos.head()
- ```
-
-1. Преобразуйте данные ufos в небольшой dataframe с новыми заголовками. Проверьте уникальные значения в поле `Country`.
-
- ```python
- ufos = pd.DataFrame({'Seconds': ufos['duration (seconds)'], 'Country': ufos['country'],'Latitude': ufos['latitude'],'Longitude': ufos['longitude']})
-
- ufos.Country.unique()
- ```
-
-1. Теперь вы можете уменьшить объем данных, с которыми нам нужно работать, удалив любые нулевые значения и импортировав только наблюдения от 1 до 60 секунд:
-
- ```python
- ufos.dropna(inplace=True)
-
- ufos = ufos[(ufos['Seconds'] >= 1) & (ufos['Seconds'] <= 60)]
-
- ufos.info()
- ```
-
-1. Импортируйте библиотеку `LabelEncoder` из Scikit-learn, чтобы преобразовать текстовые значения для стран в числа:
-
- ✅ LabelEncoder кодирует данные в алфавитном порядке
-
- ```python
- from sklearn.preprocessing import LabelEncoder
-
- ufos['Country'] = LabelEncoder().fit_transform(ufos['Country'])
-
- ufos.head()
- ```
-
- Ваши данные должны выглядеть так:
-
- ```output
- Seconds Country Latitude Longitude
- 2 20.0 3 53.200000 -2.916667
- 3 20.0 4 28.978333 -96.645833
- 14 30.0 4 35.823889 -80.253611
- 23 60.0 4 45.582778 -122.352222
- 24 3.0 3 51.783333 -0.783333
- ```
-
-## Упражнение - создайте вашу модель
-
-Теперь вы можете подготовиться к обучению модели, разделив данные на обучающую и тестовую группы.
-
-1. Выберите три признака, которые вы хотите использовать для обучения в качестве вашего вектора X, а вектор y будет `Country`. You want to be able to input `Seconds`, `Latitude` and `Longitude`, и получите идентификатор страны для возврата.
-
- ```python
- from sklearn.model_selection import train_test_split
-
- Selected_features = ['Seconds','Latitude','Longitude']
-
- X = ufos[Selected_features]
- y = ufos['Country']
-
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
- ```
-
-1. Обучите вашу модель, используя логистическую регрессию:
-
- ```python
- from sklearn.metrics import accuracy_score, classification_report
- from sklearn.linear_model import LogisticRegression
- model = LogisticRegression()
- model.fit(X_train, y_train)
- predictions = model.predict(X_test)
-
- print(classification_report(y_test, predictions))
- print('Predicted labels: ', predictions)
- print('Accuracy: ', accuracy_score(y_test, predictions))
- ```
-
-Точность неплохая **(около 95%)**, как и следовало ожидать, поскольку `Country` and `Latitude/Longitude` correlate.
-
-The model you created isn't very revolutionary as you should be able to infer a `Country` from its `Latitude` and `Longitude`, но это хорошее упражнение, чтобы попытаться обучить модель на очищенных, экспортированных данных, а затем использовать эту модель в веб-приложении.
-
-## Упражнение - "заквасите" вашу модель
-
-Теперь пришло время _заквасить_ вашу модель! Вы можете сделать это всего за несколько строк кода. Как только она будет _заквашена_, загрузите вашу заквашенную модель и протестируйте ее на образце массива данных, содержащем значения для секунд, широты и долготы,
-
-```python
-import pickle
-model_filename = 'ufo-model.pkl'
-pickle.dump(model, open(model_filename,'wb'))
-
-model = pickle.load(open('ufo-model.pkl','rb'))
-print(model.predict([[50,44,-12]]))
-```
-
-Модель возвращает **'3'**, что является кодом страны для Великобритании. Дико! 👽
-
-## Упражнение - создайте приложение Flask
-
-Теперь вы можете создать приложение Flask, чтобы вызвать вашу модель и вернуть аналогичные результаты, но в более визуально привлекательном виде.
-
-1. Начните с создания папки **web-app** рядом с файлом _notebook.ipynb_, где находится ваш файл _ufo-model.pkl_.
-
-1. В этой папке создайте еще три папки: **static**, с папкой **css** внутри, и **templates**. Теперь у вас должны быть следующие файлы и каталоги:
-
- ```output
- web-app/
- static/
- css/
- templates/
- notebook.ipynb
- ufo-model.pkl
- ```
-
- ✅ Обратитесь к папке с решением, чтобы увидеть готовое приложение
-
-1. Первый файл, который нужно создать в папке _web-app_, это файл **requirements.txt**. Как _package.json_ в приложении JavaScript, этот файл перечисляет зависимости, необходимые приложению. В **requirements.txt** добавьте строки:
-
- ```text
- scikit-learn
- pandas
- numpy
- flask
- ```
-
-1. Теперь запустите этот файл, перейдя в _web-app_:
-
- ```bash
- cd web-app
- ```
-
-1. В вашем терминале введите `pip install`, чтобы установить библиотеки, перечисленные в _requirements.txt_:
-
- ```bash
- pip install -r requirements.txt
- ```
-
-1. Теперь вы готовы создать еще три файла, чтобы завершить приложение:
-
- 1. Создайте **app.py** в корне.
- 2. Создайте **index.html** в каталоге _templates_.
- 3. Создайте **styles.css** в каталоге _static/css_.
-
-1. Заполните файл _styles.css_ несколькими стилями:
-
- ```css
- body {
- width: 100%;
- height: 100%;
- font-family: 'Helvetica';
- background: black;
- color: #fff;
- text-align: center;
- letter-spacing: 1.4px;
- font-size: 30px;
- }
-
- input {
- min-width: 150px;
- }
-
- .grid {
- width: 300px;
- border: 1px solid #2d2d2d;
- display: grid;
- justify-content: center;
- margin: 20px auto;
- }
-
- .box {
- color: #fff;
- background: #2d2d2d;
- padding: 12px;
- display: inline-block;
- }
- ```
-
-1. Далее заполните файл _index.html_:
-
- ```html
-
-
-
-
- According to the number of seconds, latitude and longitude, which country is likely to have reported seeing a UFO?
- - - -{{ prediction_text }}
- -
-
-Hii inapendekeza kwamba kunaweza kuwa na uhusiano fulani, na tunaweza kujaribu kufundisha mfano wa regression ya mstari kutabiri uhusiano kati ya `Month` and `Price`, or between `DayOfYear` and `Price`. Here is the scatter plot that shows the latter relationship:
-
-
-
-Let's see if there is a correlation using the `corr` kazi:
-
-```python
-print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
-print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
-```
-
-Inaonekana kama uhusiano ni mdogo, -0.15 kwa `Month` and -0.17 by the `DayOfMonth`, but there could be another important relationship. It looks like there are different clusters of prices corresponding to different pumpkin varieties. To confirm this hypothesis, let's plot each pumpkin category using a different color. By passing an `ax` parameter to the `scatter` kazi ya kuchora tunaweza kuchora pointi zote kwenye grafu moja:
-
-```python
-ax=None
-colors = ['red','blue','green','yellow']
-for i,var in enumerate(new_pumpkins['Variety'].unique()):
- df = new_pumpkins[new_pumpkins['Variety']==var]
- ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
-```
-
-
-
-Uchunguzi wetu unapendekeza kwamba aina ina athari zaidi kwenye bei ya jumla kuliko tarehe halisi ya kuuza. Tunaweza kuona hili kwa grafu ya bar:
-
-```python
-new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
-```
-
-
-
-Tujikite kwa sasa kwenye aina moja tu ya malenge, 'aina ya pie', na tuone athari ya tarehe kwenye bei:
-
-```python
-pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
-pie_pumpkins.plot.scatter('DayOfYear','Price')
-```
-
-
-Ikiwa sasa tutahesabu uhusiano kati ya `Price` and `DayOfYear` using `corr` function, we will get something like `-0.27` - ambayo inamaanisha kwamba kufundisha mfano wa kutabiri ina maana.
-
-> Kabla ya kufundisha mfano wa regression ya mstari, ni muhimu kuhakikisha kuwa data yetu ni safi. Regression ya mstari haifanyi kazi vizuri na thamani zilizokosekana, hivyo ina maana kuondoa seli zote tupu:
-
-```python
-pie_pumpkins.dropna(inplace=True)
-pie_pumpkins.info()
-```
-
-Njia nyingine itakuwa kujaza thamani hizo tupu na thamani za wastani kutoka kwenye safu inayolingana.
-
-## Regression ya Mstari Rahisi
-
-[](https://youtu.be/e4c_UP2fSjg "ML kwa wanaoanza - Regression ya Mstari na Polynomial kwa kutumia Scikit-learn")
-
-> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa video kuhusu regression ya mstari na polynomial.
-
-Ili kufundisha mfano wetu wa Regression ya Mstari, tutatumia maktaba ya **Scikit-learn**.
-
-```python
-from sklearn.linear_model import LinearRegression
-from sklearn.metrics import mean_squared_error
-from sklearn.model_selection import train_test_split
-```
-
-Tunanza kwa kutenganisha thamani za pembejeo (vipengele) na matokeo yanayotarajiwa (label) kwenye arrays tofauti za numpy:
-
-```python
-X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
-y = pie_pumpkins['Price']
-```
-
-> Kumbuka kwamba tulilazimika kufanya `reshape` kwenye data ya pembejeo ili kifurushi cha Regression ya Mstari kiielewe kwa usahihi. Regression ya Mstari inatarajia array ya 2D kama pembejeo, ambapo kila safu ya array inalingana na vector ya vipengele vya pembejeo. Katika kesi yetu, kwa kuwa tuna pembejeo moja tu - tunahitaji array yenye umbo N×1, ambapo N ni saizi ya seti ya data.
-
-Kisha, tunahitaji kugawanya data katika seti za mafunzo na majaribio, ili tuweze kuthibitisha mfano wetu baada ya mafunzo:
-
-```python
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-```
-
-Hatimaye, kufundisha mfano halisi wa Regression ya Mstari kunachukua mistari miwili tu ya msimbo. Tunafafanua `LinearRegression` object, and fit it to our data using the `fit` njia:
-
-```python
-lin_reg = LinearRegression()
-lin_reg.fit(X_train,y_train)
-```
-
-`LinearRegression` object after `fit`-ting contains all the coefficients of the regression, which can be accessed using `.coef_` property. In our case, there is just one coefficient, which should be around `-0.017`. It means that prices seem to drop a bit with time, but not too much, around 2 cents per day. We can also access the intersection point of the regression with Y-axis using `lin_reg.intercept_` - it will be around `21` katika kesi yetu, kuashiria bei mwanzoni mwa mwaka.
-
-Ili kuona jinsi mfano wetu ulivyo sahihi, tunaweza kutabiri bei kwenye seti ya data ya majaribio, na kisha kupima jinsi utabiri wetu ulivyo karibu na thamani zinazotarajiwa. Hii inaweza kufanywa kwa kutumia metrics ya mean square error (MSE), ambayo ni wastani wa tofauti zote zilizotolewa kati ya thamani inayotarajiwa na inayotabiriwa.
-
-```python
-pred = lin_reg.predict(X_test)
-
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
-```
-
-Kosa letu linaonekana kuwa karibu na pointi 2, ambayo ni ~17%. Sio nzuri sana. Kiashiria kingine cha ubora wa mfano ni **coefficient of determination**, ambayo inaweza kupatikana kama hii:
-
-```python
-score = lin_reg.score(X_train,y_train)
-print('Model determination: ', score)
-```
-Ikiwa thamani ni 0, inamaanisha kwamba mfano hauzingatii data ya pembejeo, na hufanya kama *mtabiri mbaya zaidi wa mstari*, ambayo ni wastani wa thamani ya matokeo. Thamani ya 1 inamaanisha kwamba tunaweza kutabiri kwa usahihi matokeo yote yanayotarajiwa. Katika kesi yetu, coefficient ni karibu 0.06, ambayo ni ya chini kabisa.
-
-Tunaweza pia kuchora data ya majaribio pamoja na mstari wa regression ili kuona vizuri jinsi regression inavyofanya kazi katika kesi yetu:
-
-```python
-plt.scatter(X_test,y_test)
-plt.plot(X_test,pred)
-```
-
-
-
-## Regression ya Polynomial
-
-Aina nyingine ya Regression ya Mstari ni Regression ya Polynomial. Wakati mwingine kuna uhusiano wa mstari kati ya vigezo - kadri malenge yanavyokuwa kubwa kwa ujazo, ndivyo bei inavyoongezeka - wakati mwingine uhusiano huu hauwezi kuchorwa kama ndege au mstari wa moja kwa moja.
-
-✅ Hapa kuna [mifano zaidi](https://online.stat.psu.edu/stat501/lesson/9/9.8) ya data ambayo inaweza kutumia Regression ya Polynomial
-
-Angalia tena uhusiano kati ya Tarehe na Bei. Je, scatterplot hii inaonekana kama inapaswa kuchambuliwa na mstari wa moja kwa moja? Je, bei haziwezi kubadilika? Katika kesi hii, unaweza kujaribu regression ya polynomial.
-
-✅ Polynomials ni misemo ya hisabati ambayo inaweza kuwa na moja au zaidi ya vigezo na coefficients
-
-Regression ya polynomial huunda mstari uliopinda ili kutoshea data isiyo ya mstari vizuri. Katika kesi yetu, ikiwa tutajumuisha variable ya `DayOfYear` iliyotolewa kwenye data ya pembejeo, tunapaswa kuweza kutoshea data yetu na curve ya parabolic, ambayo itakuwa na kiwango cha chini katika hatua fulani ndani ya mwaka.
-
-Scikit-learn inajumuisha [API ya pipeline](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) kusaidia kuunganisha hatua tofauti za usindikaji wa data pamoja. **Pipeline** ni mnyororo wa **estimators**. Katika kesi yetu, tutaunda pipeline ambayo kwanza inaongeza vipengele vya polynomial kwenye mfano wetu, na kisha kufundisha regression:
-
-```python
-from sklearn.preprocessing import PolynomialFeatures
-from sklearn.pipeline import make_pipeline
-
-pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
-
-pipeline.fit(X_train,y_train)
-```
-
-Kutumia `PolynomialFeatures(2)` means that we will include all second-degree polynomials from the input data. In our case it will just mean `DayOfYear`2, but given two input variables X and Y, this will add X2, XY and Y2. We may also use higher degree polynomials if we want.
-
-Pipelines can be used in the same manner as the original `LinearRegression` object, i.e. we can `fit` the pipeline, and then use `predict` to get the prediction results. Here is the graph showing test data, and the approximation curve:
-
-
-
-Using Polynomial Regression, we can get slightly lower MSE and higher determination, but not significantly. We need to take into account other features!
-
-> You can see that the minimal pumpkin prices are observed somewhere around Halloween. How can you explain this?
-
-🎃 Congratulations, you just created a model that can help predict the price of pie pumpkins. You can probably repeat the same procedure for all pumpkin types, but that would be tedious. Let's learn now how to take pumpkin variety into account in our model!
-
-## Categorical Features
-
-In the ideal world, we want to be able to predict prices for different pumpkin varieties using the same model. However, the `Variety` column is somewhat different from columns like `Month`, because it contains non-numeric values. Such columns are called **categorical**.
-
-[](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression")
-
-> 🎥 Click the image above for a short video overview of using categorical features.
-
-Here you can see how average price depends on variety:
-
-
-
-To take variety into account, we first need to convert it to numeric form, or **encode** it. There are several way we can do it:
-
-* Simple **numeric encoding** will build a table of different varieties, and then replace the variety name by an index in that table. This is not the best idea for linear regression, because linear regression takes the actual numeric value of the index, and adds it to the result, multiplying by some coefficient. In our case, the relationship between the index number and the price is clearly non-linear, even if we make sure that indices are ordered in some specific way.
-* **One-hot encoding** will replace the `Variety` column by 4 different columns, one for each variety. Each column will contain `1` if the corresponding row is of a given variety, and `0` vinginevyo. Hii inamaanisha kwamba kutakuwa na coefficients nne katika regression ya mstari, moja kwa kila aina ya malenge, inayohusika na "bei ya kuanzia" (au badala "bei ya ziada") kwa aina hiyo maalum.
-
-Msimbo hapa chini unaonyesha jinsi tunavyoweza one-hot encode aina:
-
-```python
-pd.get_dummies(new_pumpkins['Variety'])
-```
-
- ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
-----|-----------|-----------|--------------------------|----------
-70 | 0 | 0 | 0 | 1
-71 | 0 | 0 | 0 | 1
-... | ... | ... | ... | ...
-1738 | 0 | 1 | 0 | 0
-1739 | 0 | 1 | 0 | 0
-1740 | 0 | 1 | 0 | 0
-1741 | 0 | 1 | 0 | 0
-1742 | 0 | 1 | 0 | 0
-
-Ili kufundisha regression ya mstari kwa kutumia aina iliyowekwa one-hot encoded kama pembejeo, tunahitaji tu kuanzisha `X` and `y` data kwa usahihi:
-
-```python
-X = pd.get_dummies(new_pumpkins['Variety'])
-y = new_pumpkins['Price']
-```
-
-Sehemu iliyobaki ya msimbo ni sawa na tuliyotumia hapo juu kufundisha Regression ya Mstari. Ikiwa utaijaribu, utaona kwamba mean square error ni karibu sawa, lakini tunapata coefficient ya juu zaidi ya determination (~77%). Ili kupata utabiri sahihi zaidi, tunaweza kuzingatia vipengele zaidi vya kategoria, pamoja na vipengele vya nambari, kama `Month` or `DayOfYear`. To get one large array of features, we can use `join`:
-
-```python
-X = pd.get_dummies(new_pumpkins['Variety']) \
- .join(new_pumpkins['Month']) \
- .join(pd.get_dummies(new_pumpkins['City'])) \
- .join(pd.get_dummies(new_pumpkins['Package']))
-y = new_pumpkins['Price']
-```
-
-Hapa pia tunazingatia `City` and `Package` type, ambayo inatupa MSE 2.84 (10%), na determination 0.94!
-
-## Kuweka yote pamoja
-
-Ili kufanya mfano bora zaidi, tunaweza kutumia data iliyochanganywa (one-hot encoded categorical + numeric) kutoka mfano hapo juu pamoja na Regression ya Polynomial. Hapa kuna msimbo kamili kwa urahisi wako:
-
-```python
-# set up training data
-X = pd.get_dummies(new_pumpkins['Variety']) \
- .join(new_pumpkins['Month']) \
- .join(pd.get_dummies(new_pumpkins['City'])) \
- .join(pd.get_dummies(new_pumpkins['Package']))
-y = new_pumpkins['Price']
-
-# make train-test split
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-
-# setup and train the pipeline
-pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
-pipeline.fit(X_train,y_train)
-
-# predict results for test data
-pred = pipeline.predict(X_test)
-
-# calculate MSE and determination
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
-
-score = pipeline.score(X_train,y_train)
-print('Model determination: ', score)
-```
-
-Hii inapaswa kutupa coefficient bora ya determination ya karibu 97%, na MSE=2.23 (~8% prediction error).
-
-| Model | MSE | Determination |
-|-------|-----|---------------|
-| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
-| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
-| `Variety` Linear | 5.24 (19.7%) | 0.77 |
-| All features Linear | 2.84 (10.5%) | 0.94 |
-| All features Polynomial | 2.23 (8.25%) | 0.97 |
-
-🏆 Umefanya vizuri! Umeunda mifano minne ya Regression katika somo moja, na kuboresha ubora wa mfano hadi 97%. Katika sehemu ya mwisho ya Regression, utajifunza kuhusu Logistic Regression ili kubaini kategoria.
-
----
-## 🚀Changamoto
-
-Jaribu vigezo tofauti kadhaa katika notebook hii kuona jinsi uhusiano unavyolingana na usahihi wa mfano.
-
-## [Quiz baada ya somo](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/14/)
-
-## Mapitio na Kujisomea
-
-Katika somo hili tulijifunza kuhusu Regression ya Mstari. Kuna aina nyingine muhimu za Regression. Soma kuhusu mbinu za Stepwise, Ridge, Lasso na Elasticnet. Kozi nzuri ya kusoma kujifunza zaidi ni [Kozi ya Stanford ya Statistical Learning](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning)
-
-## Kazi
-
-[Jenga Modeli](assignment.md)
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya kiasili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa habari muhimu, tafsiri ya kibinadamu ya kitaalamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/2-Regression/3-Linear/assignment.md b/translations/sw/2-Regression/3-Linear/assignment.md
deleted file mode 100644
index 51962a51e..000000000
--- a/translations/sw/2-Regression/3-Linear/assignment.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Unda Mfano wa Regression
-
-## Maelekezo
-
-Katika somo hili umeonyeshwa jinsi ya kujenga mfano kwa kutumia Regression ya Linear na Polynomial. Kwa kutumia maarifa haya, tafuta seti ya data au tumia moja ya seti zilizojengwa ndani ya Scikit-learn kujenga mfano mpya. Eleza katika daftari lako kwa nini ulichagua mbinu uliyotumia, na onyesha usahihi wa mfano wako. Ikiwa sio sahihi, eleza kwa nini.
-
-## Rubric
-
-| Vigezo | Bora kabisa | Inatosha | Inahitaji Kuboresha |
-| -------- | ------------------------------------------------------------ | --------------------------- | ------------------------------ |
-| | inawasilisha daftari kamili na suluhisho lililoandikwa vizuri | suluhisho halijakamilika | suluhisho lina kasoro au ni bugu |
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo rasmi. Kwa taarifa muhimu, inashauriwa kutumia tafsiri ya kitaalamu ya kibinadamu. Hatutawajibika kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/2-Regression/3-Linear/solution/Julia/README.md b/translations/sw/2-Regression/3-Linear/solution/Julia/README.md
deleted file mode 100644
index 6ac3801a1..000000000
--- a/translations/sw/2-Regression/3-Linear/solution/Julia/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwepo kwa usahihi. Hati ya asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa habari muhimu, tafsiri ya kitaalamu ya kibinadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/2-Regression/4-Logistic/README.md b/translations/sw/2-Regression/4-Logistic/README.md
deleted file mode 100644
index fb7a9a16e..000000000
--- a/translations/sw/2-Regression/4-Logistic/README.md
+++ /dev/null
@@ -1,380 +0,0 @@
-# Utabiri wa Logistic kutabiri makundi
-
-
-
-## [Pre-lecture quiz](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/15/)
-
-> ### [Somo hili linapatikana kwa R!](../../../../2-Regression/4-Logistic/solution/R/lesson_4.html)
-
-## Utangulizi
-
-Katika somo hili la mwisho kuhusu Regression, mojawapo ya mbinu za msingi za ML _classic_, tutachunguza Logistic Regression. Ungetumia mbinu hii kugundua mifumo ya kutabiri makundi mawili. Je, hii pipi ina chokoleti au la? Je, ugonjwa huu unaambukiza au la? Je, mteja huyu atachagua bidhaa hii au la?
-
-Katika somo hili, utajifunza:
-
-- Maktaba mpya kwa ajili ya kuona data
-- Mbinu za logistic regression
-
-✅ Pata uelewa wa kina wa kufanya kazi na aina hii ya regression katika [Learn module](https://docs.microsoft.com/learn/modules/train-evaluate-classification-models?WT.mc_id=academic-77952-leestott)
-
-## Sharti
-
-Baada ya kufanya kazi na data za malenge, sasa tunajua kwamba kuna kundi moja la binary ambalo tunaweza kufanya kazi nalo: `Color`.
-
-Wacha tujenge mfano wa logistic regression kutabiri, kutokana na baadhi ya vigezo, _rangi ya malenge fulani inaweza kuwa_ (machungwa 🎃 au nyeupe 👻).
-
-> Kwa nini tunazungumzia binary classification katika somo kuhusu regression? Ni kwa urahisi wa lugha tu, kwani logistic regression ni [kweli ni mbinu ya classification](https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression), ingawa ni ya msingi wa linear. Jifunze kuhusu njia nyingine za kuainisha data katika kundi la somo linalofuata.
-
-## Eleza swali
-
-Kwa madhumuni yetu, tutasema hili kama binary: 'Nyeupe' au 'Sio Nyeupe'. Pia kuna kundi la 'striped' katika dataset yetu lakini kuna matukio machache tu ya hilo, kwa hivyo hatutalitumia. Linatoweka mara tu tunapoondoa thamani za null kutoka kwa dataset, hata hivyo.
-
-> 🎃 Fun fact, wakati mwingine tunaita malenge nyeupe 'ghost' pumpkins. Hayachongwi kwa urahisi, kwa hivyo hayapendwi kama yale ya machungwa lakini yanaonekana baridi! Kwa hivyo tunaweza pia kuweka upya swali letu kama: 'Ghost' au 'Sio Ghost'. 👻
-
-## Kuhusu logistic regression
-
-Logistic regression inatofautiana na linear regression, ambayo ulijifunza hapo awali, kwa njia kadhaa muhimu.
-
-[](https://youtu.be/KpeCT6nEpBY "ML for beginners - Kuelewa Logistic Regression kwa Machine Learning Classification")
-
-> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa logistic regression.
-
-### Binary classification
-
-Logistic regression haitoi vipengele sawa na linear regression. Ya kwanza inatoa utabiri kuhusu kundi la binary ("nyeupe au sio nyeupe") ilhali ya pili inaweza kutabiri thamani zinazoendelea, kwa mfano kutokana na asili ya malenge na wakati wa mavuno, _bei yake itapanda kiasi gani_.
-
-
-> Infographic by [Dasani Madipalli](https://twitter.com/dasani_decoded)
-
-### Makundi mengine
-
-Kuna aina nyingine za logistic regression, ikiwa ni pamoja na multinomial na ordinal:
-
-- **Multinomial**, ambayo inahusisha kuwa na zaidi ya kundi moja - "Machungwa, Nyeupe, na Striped".
-- **Ordinal**, ambayo inahusisha makundi yaliyopangwa, muhimu ikiwa tunataka kupanga matokeo yetu kwa mantiki, kama malenge yetu ambayo yamepangwa kwa idadi finyu ya ukubwa (mini,sm,med,lg,xl,xxl).
-
-
-
-### Vigezo HAVIHITAJI kuhusiana
-
-Kumbuka jinsi linear regression ilifanya kazi vizuri zaidi na vigezo vilivyohusiana zaidi? Logistic regression ni kinyume - vigezo havihitaji kuendana. Hiyo inafanya kazi kwa data hii ambayo ina uhusiano dhaifu kiasi.
-
-### Unahitaji data nyingi safi
-
-Logistic regression itatoa matokeo sahihi zaidi ikiwa utatumia data nyingi; dataset yetu ndogo si bora kwa kazi hii, kwa hivyo kumbuka hilo.
-
-[](https://youtu.be/B2X4H9vcXTs "ML for beginners - Uchambuzi wa Data na Maandalizi kwa Logistic Regression")
-
-> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa kuandaa data kwa linear regression
-
-✅ Fikiria aina za data ambazo zingefaa kwa logistic regression
-
-## Mazoezi - safisha data
-
-Kwanza, safisha data kidogo, ukiondoa thamani za null na kuchagua baadhi tu ya safu:
-
-1. Ongeza msimbo ufuatao:
-
- ```python
-
- columns_to_select = ['City Name','Package','Variety', 'Origin','Item Size', 'Color']
- pumpkins = full_pumpkins.loc[:, columns_to_select]
-
- pumpkins.dropna(inplace=True)
- ```
-
- Unaweza kila wakati kuangalia dataframe yako mpya:
-
- ```python
- pumpkins.info
- ```
-
-### Visualization - categorical plot
-
-Hadi sasa umechaji [starter notebook](../../../../2-Regression/4-Logistic/notebook.ipynb) na data za malenge tena na kuzisafisha ili kuhifadhi dataset inayojumuisha vigezo vichache, ikiwa ni pamoja na `Color`. Wacha tuone dataframe kwenye notebook kwa kutumia maktaba tofauti: [Seaborn](https://seaborn.pydata.org/index.html), ambayo imejengwa juu ya Matplotlib ambayo tulitumia awali.
-
-Seaborn inatoa njia nzuri za kuona data yako. Kwa mfano, unaweza kulinganisha usambazaji wa data kwa kila `Variety` na `Color` katika categorical plot.
-
-1. Unda plot kama hiyo kwa kutumia `catplot` function, using our pumpkin data `pumpkins`, na kubainisha ramani ya rangi kwa kila kundi la malenge (machungwa au nyeupe):
-
- ```python
- import seaborn as sns
-
- palette = {
- 'ORANGE': 'orange',
- 'WHITE': 'wheat',
- }
-
- sns.catplot(
- data=pumpkins, y="Variety", hue="Color", kind="count",
- palette=palette,
- )
- ```
-
- 
-
- Kwa kuchunguza data, unaweza kuona jinsi data ya Rangi inavyohusiana na Aina.
-
- ✅ Kwa kuzingatia plot ya kikundi, ni uchunguzi gani wa kuvutia unaweza kufikiria?
-
-### Data pre-processing: feature and label encoding
-Dataset yetu ya malenge ina thamani za string kwa safu zake zote. Kufanya kazi na data ya kikundi ni rahisi kwa wanadamu lakini si kwa mashine. Algorithimu za machine learning hufanya kazi vizuri na nambari. Ndiyo maana encoding ni hatua muhimu sana katika awamu ya pre-processing ya data, kwani inatuwezesha kubadilisha data ya kikundi kuwa data ya nambari, bila kupoteza habari yoyote. Encoding nzuri husababisha kujenga mfano mzuri.
-
-Kwa feature encoding kuna aina mbili kuu za encoders:
-
-1. Ordinal encoder: inafaa vizuri kwa vigezo vya ordinal, ambavyo ni vigezo vya kikundi ambapo data zao zinafuata mpangilio wa kimantiki, kama safu ya `Item Size` katika dataset yetu. Inaunda ramani ili kila kundi liwakilishwe na nambari, ambayo ni mpangilio wa kundi katika safu.
-
- ```python
- from sklearn.preprocessing import OrdinalEncoder
-
- item_size_categories = [['sml', 'med', 'med-lge', 'lge', 'xlge', 'jbo', 'exjbo']]
- ordinal_features = ['Item Size']
- ordinal_encoder = OrdinalEncoder(categories=item_size_categories)
- ```
-
-2. Categorical encoder: inafaa vizuri kwa vigezo vya nominal, ambavyo ni vigezo vya kikundi ambapo data zao hazifuati mpangilio wa kimantiki, kama vipengele vyote tofauti na `Item Size` katika dataset yetu. Ni one-hot encoding, ambayo ina maana kwamba kila kundi linawakilishwa na safu ya binary: kigezo kilichosimbwa ni sawa na 1 ikiwa malenge ni ya Aina hiyo na 0 vinginevyo.
-
- ```python
- from sklearn.preprocessing import OneHotEncoder
-
- categorical_features = ['City Name', 'Package', 'Variety', 'Origin']
- categorical_encoder = OneHotEncoder(sparse_output=False)
- ```
-Kisha, `ColumnTransformer` hutumiwa kuchanganya encoders nyingi katika hatua moja na kuzitumia kwenye safu zinazofaa.
-
-```python
- from sklearn.compose import ColumnTransformer
-
- ct = ColumnTransformer(transformers=[
- ('ord', ordinal_encoder, ordinal_features),
- ('cat', categorical_encoder, categorical_features)
- ])
-
- ct.set_output(transform='pandas')
- encoded_features = ct.fit_transform(pumpkins)
-```
-Kwa upande mwingine, ili kusimba lebo, tunatumia darasa la scikit-learn `LabelEncoder`, ambalo ni darasa la matumizi kusaidia kuboresha lebo ili ziwe na thamani kati ya 0 na n_classes-1 (hapa, 0 na 1).
-
-```python
- from sklearn.preprocessing import LabelEncoder
-
- label_encoder = LabelEncoder()
- encoded_label = label_encoder.fit_transform(pumpkins['Color'])
-```
-Mara tu tunapokuwa tumekodisha vipengele na lebo, tunaweza kuziunganisha katika dataframe mpya `encoded_pumpkins`.
-
-```python
- encoded_pumpkins = encoded_features.assign(Color=encoded_label)
-```
-✅ Je, ni faida gani za kutumia ordinal encoder kwa `Item Size` column?
-
-### Analyse relationships between variables
-
-Now that we have pre-processed our data, we can analyse the relationships between the features and the label to grasp an idea of how well the model will be able to predict the label given the features.
-The best way to perform this kind of analysis is plotting the data. We'll be using again the Seaborn `catplot` function, to visualize the relationships between `Item Size`, `Variety` na `Color` katika categorical plot. Ili kuchora data vizuri tutatumia `Item Size` column and the unencoded `Variety` iliyosimbwa.
-
-```python
- palette = {
- 'ORANGE': 'orange',
- 'WHITE': 'wheat',
- }
- pumpkins['Item Size'] = encoded_pumpkins['ord__Item Size']
-
- g = sns.catplot(
- data=pumpkins,
- x="Item Size", y="Color", row='Variety',
- kind="box", orient="h",
- sharex=False, margin_titles=True,
- height=1.8, aspect=4, palette=palette,
- )
- g.set(xlabel="Item Size", ylabel="").set(xlim=(0,6))
- g.set_titles(row_template="{row_name}")
-```
-
-
-### Tumia swarm plot
-
-Kwa kuwa Rangi ni kundi la binary (Nyeupe au Sio), inahitaji 'njia [maalum](https://seaborn.pydata.org/tutorial/categorical.html?highlight=bar) ya kuiona'. Kuna njia nyingine za kuona uhusiano wa kundi hili na vigezo vingine.
-
-Unaweza kuona vigezo kando kando na plots za Seaborn.
-
-1. Jaribu 'swarm' plot kuonyesha usambazaji wa thamani:
-
- ```python
- palette = {
- 0: 'orange',
- 1: 'wheat'
- }
- sns.swarmplot(x="Color", y="ord__Item Size", data=encoded_pumpkins, palette=palette)
- ```
-
- 
-
-**Angalizo**: msimbo hapo juu unaweza kutoa onyo, kwa kuwa seaborn inashindwa kuwakilisha kiasi hicho cha pointi za data katika swarm plot. Suluhisho linalowezekana ni kupunguza ukubwa wa alama, kwa kutumia kipengele cha 'size'. Hata hivyo, kuwa makini kwamba hili linaathiri usomaji wa plot.
-
-> **🧮 Nionyeshe Hisabati**
->
-> Logistic regression inategemea dhana ya 'maximum likelihood' kwa kutumia [sigmoid functions](https://wikipedia.org/wiki/Sigmoid_function). 'Sigmoid Function' kwenye plot inaonekana kama umbo la 'S'. Inachukua thamani na kuipanga mahali fulani kati ya 0 na 1. Mchoro wake pia unaitwa 'logistic curve'. Mfumo wake unaonekana kama huu:
->
-> 
->
-> ambapo sehemu ya kati ya sigmoid inajipata kwenye sehemu ya 0 ya x, L ni thamani ya juu ya curve, na k ni mwinuko wa curve. Ikiwa matokeo ya kazi ni zaidi ya 0.5, lebo husika itapewa darasa '1' la chaguo la binary. Ikiwa sivyo, itatambulishwa kama '0'.
-
-## Jenga mfano wako
-
-Kujenga mfano wa kupata classification ya binary ni rahisi kushangaza katika Scikit-learn.
-
-[](https://youtu.be/MmZS2otPrQ8 "ML for beginners - Logistic Regression kwa classification ya data")
-
-> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa kujenga mfano wa linear regression
-
-1. Chagua vigezo unavyotaka kutumia katika mfano wako wa classification na gawanya seti za mafunzo na majaribio kwa kuita `train_test_split()`:
-
- ```python
- from sklearn.model_selection import train_test_split
-
- X = encoded_pumpkins[encoded_pumpkins.columns.difference(['Color'])]
- y = encoded_pumpkins['Color']
-
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-
- ```
-
-2. Sasa unaweza kufundisha mfano wako, kwa kuita `fit()` na data zako za mafunzo, na kuchapisha matokeo yake:
-
- ```python
- from sklearn.metrics import f1_score, classification_report
- from sklearn.linear_model import LogisticRegression
-
- model = LogisticRegression()
- model.fit(X_train, y_train)
- predictions = model.predict(X_test)
-
- print(classification_report(y_test, predictions))
- print('Predicted labels: ', predictions)
- print('F1-score: ', f1_score(y_test, predictions))
- ```
-
- Angalia scoreboard ya mfano wako. Sio mbaya, ukizingatia una karibu safu 1000 tu za data:
-
- ```output
- precision recall f1-score support
-
- 0 0.94 0.98 0.96 166
- 1 0.85 0.67 0.75 33
-
- accuracy 0.92 199
- macro avg 0.89 0.82 0.85 199
- weighted avg 0.92 0.92 0.92 199
-
- Predicted labels: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
- 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
- 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
- 0 0 0 1 0 0 0 0 0 0 0 0 1 1]
- F1-score: 0.7457627118644068
- ```
-
-## Uelewa bora kupitia confusion matrix
-
-Ingawa unaweza kupata ripoti ya scoreboard [terms](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html?highlight=classification_report#sklearn.metrics.classification_report) kwa kuchapisha vipengee hapo juu, unaweza kuelewa mfano wako kwa urahisi zaidi kwa kutumia [confusion matrix](https://scikit-learn.org/stable/modules/model_evaluation.html#confusion-matrix) kusaidia kuelewa jinsi mfano unavyofanya kazi.
-
-> 🎓 '[confusion matrix](https://wikipedia.org/wiki/Confusion_matrix)' (au 'error matrix') ni jedwali linaloonyesha kweli vs. uongo wa positives na negatives za mfano wako, hivyo kupima usahihi wa utabiri.
-
-1. Ili kutumia confusion metrics, piga `confusion_matrix()`:
-
- ```python
- from sklearn.metrics import confusion_matrix
- confusion_matrix(y_test, predictions)
- ```
-
- Angalia confusion matrix ya mfano wako:
-
- ```output
- array([[162, 4],
- [ 11, 22]])
- ```
-
-Katika Scikit-learn, confusion matrices Safu (axis 0) ni lebo halisi na safu (axis 1) ni lebo zilizotabiriwa.
-
-| | 0 | 1 |
-| :---: | :---: | :---: |
-| 0 | TN | FP |
-| 1 | FN | TP |
-
-Nini kinaendelea hapa? Tuseme mfano wetu umeombwa kuainisha malenge kati ya makundi mawili ya binary, kundi 'nyeupe' na kundi 'sio nyeupe'.
-
-- Ikiwa mfano wako unatabiri malenge kama sio nyeupe na inafaa kundi 'sio nyeupe' kwa kweli tunaita hiyo true negative, inayoonyeshwa na nambari ya juu kushoto.
-- Ikiwa mfano wako unatabiri malenge kama nyeupe na inafaa kundi 'sio nyeupe' kwa kweli tunaita hiyo false negative, inayoonyeshwa na nambari ya chini kushoto.
-- Ikiwa mfano wako unatabiri malenge kama sio nyeupe na inafaa kundi 'nyeupe' kwa kweli tunaita hiyo false positive, inayoonyeshwa na nambari ya juu kulia.
-- Ikiwa mfano wako unatabiri malenge kama nyeupe na inafaa kundi 'nyeupe' kwa kweli tunaita hiyo true positive, inayoonyeshwa na nambari ya chini kulia.
-
-Kama unavyoweza kudhani ni bora kuwa na idadi kubwa ya true positives na true negatives na idadi ndogo ya false positives na false negatives, ambayo inaonyesha kuwa mfano unafanya kazi vizuri.
-
-Je, confusion matrix inahusiana vipi na precision na recall? Kumbuka, ripoti ya classification iliyochapishwa hapo juu ilionyesha precision (0.85) na recall (0.67).
-
-Precision = tp / (tp + fp) = 22 / (22 + 4) = 0.8461538461538461
-
-Recall = tp / (tp + fn) = 22 / (22 + 11) = 0.6666666666666666
-
-✅ Q: Kulingana na confusion matrix, mfano ulifanyaje? A: Sio mbaya; kuna idadi nzuri ya true negatives lakini pia kuna false negatives kadhaa.
-
-Wacha tutembelee tena maneno tuliyoyaona awali kwa msaada wa ramani ya TP/TN na FP/FN ya confusion matrix:
-
-🎓 Precision: TP/(TP + FP) Sehemu ya matukio muhimu kati ya matukio yaliyopatikana (mfano ni lebo zipi zilizoainishwa vizuri)
-
-🎓 Recall: TP/(TP + FN) Sehemu ya matukio muhimu yaliyopatikana, iwe yameainishwa vizuri au la
-
-🎓 f1-score: (2 * precision * recall)/(precision + recall) Wastani wa uzito wa precision na recall, bora ikiwa 1 na mbaya ikiwa 0
-
-🎓 Support: Idadi ya matukio ya kila lebo yaliyopatikana
-
-🎓 Accuracy: (TP + TN)/(TP + TN + FP + FN) Asilimia ya lebo zilizotabiriwa kwa usahihi kwa sampuli.
-
-🎓 Macro Avg: Hesabu ya wastani wa uzito wa metrics kwa kila lebo, bila kuzingatia kutofautiana kwa lebo.
-
-🎓 Weighted Avg: Hesabu ya wastani wa metrics kwa kila lebo, kwa kuzingatia kutofautiana kwa lebo kwa kuzipima kwa support zao (idadi ya matukio ya kweli kwa kila lebo).
-
-✅ Unaweza kufikiria ni kipimo gani unapaswa kuangalia ikiwa unataka mfano wako kupunguza idadi ya false negatives?
-
-## Onyesha ROC curve ya mfano huu
-
-[](https://youtu.be/GApO575jTA0 "ML for beginners - Kuchambua Utendaji wa Logistic Regression na ROC Curves")
-
-> 🎥 Bofya picha hapo juu kwa muhtasari mfupi wa ROC curves
-
-Wacha tufanye visualization moja zaidi kuona kinachoitwa 'ROC' curve:
-
-```python
-from sklearn.metrics import roc_curve, roc_auc_score
-import matplotlib
-import matplotlib.pyplot as plt
-%matplotlib inline
-
-y_scores = model.predict_proba(X_test)
-fpr, tpr, thresholds = roc_curve(y_test, y_scores[:,1])
-
-fig = plt.figure(figsize=(6, 6))
-plt.plot([0, 1], [0, 1], 'k--')
-plt.plot(fpr, tpr)
-plt.xlabel('False Positive Rate')
-plt.ylabel('True Positive Rate')
-plt.title('ROC Curve')
-plt.show()
-```
-
-Kwa kutumia Matplotlib, chora [Receiving Operating Characteristic](https://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html?highlight=roc) au ROC ya mfano. ROC curves mara nyingi hutumiwa kupata mtazamo wa matokeo ya classifier kwa upande wa true vs. false positives. "ROC curves kawaida huonyesha true positive rate kwenye mhimili wa Y, na false positive rate kwenye mhimili wa X." Kwa hivyo, mwinuko wa curve na nafasi kati ya mstari wa kati na curve ni muhimu: unataka curve ambayo inaelekea juu na juu ya mstari haraka. Katika kesi yetu, kuna false positives kuanza na, na kisha mstari unaelekea juu na juu ipasavyo:
-
-
-
-Hatimaye, tumia [`roc_auc_score` API](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_auc_score.html?highlight=roc_auc#sklearn.metrics.roc_auc_score) ya Scikit-learn kuhesabu 'Area Under the Curve' (AUC):
-
-```python
-auc = roc_auc_score(y_test,y_scores[:,1])
-print(auc)
-```
-Matokeo ni `0.9749908725812341`. Kwa kuwa AUC inatoka
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokamilika. Hati asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa habari muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa maelewano au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/2-Regression/4-Logistic/assignment.md b/translations/sw/2-Regression/4-Logistic/assignment.md
deleted file mode 100644
index 4fa89565e..000000000
--- a/translations/sw/2-Regression/4-Logistic/assignment.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Kurudia Ujirani
-
-## Maelekezo
-
-Katika somo, ulitumia sehemu ndogo ya data ya maboga. Sasa, rudi kwenye data ya asili na ujaribu kutumia yote, iliyosafishwa na kuwekwa viwango, kujenga mfano wa Logistic Regression.
-## Rubric
-
-| Kigezo | Bora Zaidi | Inayotosheleza | Inayohitaji Kuboresha |
-| ------- | ---------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
-| | Daftari linaoneshwa na mfano ulioelezwa vizuri na kufanya kazi vizuri | Daftari linaoneshwa na mfano unaofanya kazi kwa kiwango cha chini | Daftari linaoneshwa na mfano usiofanya kazi vizuri au hakuna |
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, inashauriwa kutumia tafsiri ya kitaalamu ya kibinadamu. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/2-Regression/4-Logistic/solution/Julia/README.md b/translations/sw/2-Regression/4-Logistic/solution/Julia/README.md
deleted file mode 100644
index 27c2c0510..000000000
--- a/translations/sw/2-Regression/4-Logistic/solution/Julia/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za kutafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kwamba tafsiri za kiotomatiki zinaweza kuwa na makosa au dosari. Hati ya asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya kibinadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/2-Regression/README.md b/translations/sw/2-Regression/README.md
deleted file mode 100644
index 75a6ce155..000000000
--- a/translations/sw/2-Regression/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Mifano ya urejeleaji kwa ajili ya kujifunza mashine
-## Mada ya kieneo: Mifano ya urejeleaji kwa bei za maboga Amerika Kaskazini 🎃
-
-Katika Amerika Kaskazini, maboga mara nyingi hukatwa na kufanywa nyuso za kutisha kwa ajili ya Halloween. Hebu tujifunze zaidi kuhusu mboga hizi za kuvutia!
-
-
-> Picha na Beth Teutschmann kwenye Unsplash
-
-## Kile utakachojifunza
-
-[](https://youtu.be/5QnJtDad4iQ "Regression Introduction video - Click to Watch!")
-> 🎥 Bofya picha hapo juu kwa video ya utangulizi wa haraka kwa somo hili
-
-Masomo katika sehemu hii yanashughulikia aina za urejeleaji katika muktadha wa kujifunza mashine. Mifano ya urejeleaji inaweza kusaidia kubaini _uhusiano_ kati ya vigezo. Aina hii ya mfano inaweza kutabiri thamani kama urefu, joto, au umri, hivyo kufichua uhusiano kati ya vigezo inapochambua data.
-
-Katika mfululizo huu wa masomo, utagundua tofauti kati ya urejeleaji wa mstari na urejeleaji wa kimantiki, na wakati gani unapaswa kupendelea moja juu ya nyingine.
-
-[](https://youtu.be/XA3OaoW86R8 "ML for beginners - Introduction to Regression models for Machine Learning")
-
-> 🎥 Bofya picha hapo juu kwa video fupi ya utangulizi wa mifano ya urejeleaji.
-
-Katika kundi hili la masomo, utaandaliwa kuanza kazi za kujifunza mashine, ikiwa ni pamoja na kusanidi Visual Studio Code kusimamia vitabu, mazingira ya kawaida kwa wanasayansi wa data. Utagundua Scikit-learn, maktaba kwa ajili ya kujifunza mashine, na utajenga mifano yako ya kwanza, ukilenga mifano ya urejeleaji katika sura hii.
-
-> Kuna zana muhimu za chini ya msimbo ambazo zinaweza kukusaidia kujifunza kuhusu kufanya kazi na mifano ya urejeleaji. Jaribu [Azure ML kwa kazi hii](https://docs.microsoft.com/learn/modules/create-regression-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott)
-
-### Masomo
-
-1. [Zana za biashara](1-Tools/README.md)
-2. [Usimamizi wa data](2-Data/README.md)
-3. [Urejeleaji wa mstari na polinomiali](3-Linear/README.md)
-4. [Urejeleaji wa kimantiki](4-Logistic/README.md)
-
----
-### Shukrani
-
-"ML na urejeleaji" iliandikwa kwa ♥️ na [Jen Looper](https://twitter.com/jenlooper)
-
-♥️ Wanaochangia maswali ni pamoja na: [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) na [Ornella Altunyan](https://twitter.com/ornelladotcom)
-
-Seti ya data ya maboga imependekezwa na [mradi huu kwenye Kaggle](https://www.kaggle.com/usda/a-year-of-pumpkin-prices) na data yake inatoka [Ripoti za Kawaida za Masoko ya Mazao Maalum](https://www.marketnews.usda.gov/mnp/fv-report-config-step1?type=termPrice) zinazotolewa na Idara ya Kilimo ya Marekani. Tumeongeza baadhi ya pointi kuhusu rangi kulingana na aina ili kusawazisha usambazaji. Data hii ipo katika umma.
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI zinazotegemea mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au upotofu. Hati asilia katika lugha yake ya asili inapaswa kuchukuliwa kuwa chanzo chenye mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya kibinadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/3-Web-App/1-Web-App/README.md b/translations/sw/3-Web-App/1-Web-App/README.md
deleted file mode 100644
index e36b73668..000000000
--- a/translations/sw/3-Web-App/1-Web-App/README.md
+++ /dev/null
@@ -1,348 +0,0 @@
-# Jenga Tovuti Kutumia Mfano wa ML
-
-Katika somo hili, utafundisha mfano wa ML kwenye seti ya data ambayo ni ya kipekee: _matukio ya UFO katika karne iliyopita_, iliyotolewa kutoka kwenye hifadhidata ya NUFORC.
-
-Utajifunza:
-
-- Jinsi ya 'pickle' mfano uliyo fundishwa
-- Jinsi ya kutumia mfano huo katika programu ya Flask
-
-Tutaendelea kutumia daftari za maelezo kusafisha data na kufundisha mfano wetu, lakini unaweza kuchukua hatua moja zaidi kwa kuchunguza kutumia mfano 'katika mazingira halisi', kwa maneno mengine: katika programu ya wavuti.
-
-Ili kufanya hivi, unahitaji kujenga programu ya wavuti kwa kutumia Flask.
-
-## [Jaribio la kabla ya somo](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/17/)
-
-## Kujenga programu
-
-Kuna njia kadhaa za kujenga programu za wavuti ili kutumia mifano ya kujifunza mashine. Muundo wako wa wavuti unaweza kuathiri jinsi mfano wako unavyofundishwa. Fikiria kuwa unafanya kazi katika biashara ambapo kikundi cha sayansi ya data kimefundisha mfano ambao wanataka utumie katika programu.
-
-### Mambo ya Kuzingatia
-
-Kuna maswali mengi unayohitaji kuuliza:
-
-- **Je, ni programu ya wavuti au programu ya simu?** Ikiwa unajenga programu ya simu au unahitaji kutumia mfano katika muktadha wa IoT, unaweza kutumia [TensorFlow Lite](https://www.tensorflow.org/lite/) na kutumia mfano katika programu ya Android au iOS.
-- **Mfano utakuwa wapi?** Katika wingu au ndani ya nchi?
-- **Msaada wa nje ya mtandao.** Je, programu inahitaji kufanya kazi nje ya mtandao?
-- **Teknolojia gani ilitumika kufundisha mfano?** Teknolojia iliyochaguliwa inaweza kuathiri zana unazohitaji kutumia.
- - **Kutumia TensorFlow.** Ikiwa unafundisha mfano kwa kutumia TensorFlow, kwa mfano, mfumo huo unatoa uwezo wa kubadilisha mfano wa TensorFlow kwa matumizi katika programu ya wavuti kwa kutumia [TensorFlow.js](https://www.tensorflow.org/js/).
- - **Kutumia PyTorch.** Ikiwa unajenga mfano kwa kutumia maktaba kama [PyTorch](https://pytorch.org/), una chaguo la kuuza nje katika muundo wa [ONNX](https://onnx.ai/) (Open Neural Network Exchange) kwa matumizi katika programu za wavuti za JavaScript zinazoweza kutumia [Onnx Runtime](https://www.onnxruntime.ai/). Chaguo hili litachunguzwa katika somo la baadaye kwa mfano uliofundishwa na Scikit-learn.
- - **Kutumia Lobe.ai au Azure Custom Vision.** Ikiwa unatumia mfumo wa ML SaaS (Software as a Service) kama [Lobe.ai](https://lobe.ai/) au [Azure Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77952-leestott) kufundisha mfano, aina hii ya programu inatoa njia za kuuza nje mfano kwa majukwaa mengi, ikiwa ni pamoja na kujenga API maalum ya kuulizwa katika wingu na programu yako ya mtandaoni.
-
-Pia una nafasi ya kujenga programu kamili ya wavuti ya Flask ambayo ingeweza kufundisha mfano yenyewe katika kivinjari cha wavuti. Hii inaweza pia kufanywa kwa kutumia TensorFlow.js katika muktadha wa JavaScript.
-
-Kwa madhumuni yetu, kwa kuwa tumekuwa tukifanya kazi na daftari za maelezo za msingi wa Python, hebu tuchunguze hatua unazohitaji kuchukua ili kuuza nje mfano uliofundishwa kutoka daftari kama hilo kwa muundo unaosomeka na programu ya wavuti iliyojengwa kwa Python.
-
-## Zana
-
-Kwa kazi hii, unahitaji zana mbili: Flask na Pickle, zote zinaendesha kwenye Python.
-
-✅ Flask ni nini? [Flask](https://palletsprojects.com/p/flask/) ni mfumo wa 'micro-framework' kama ulivyoelezwa na waumbaji wake, Flask hutoa vipengele vya msingi vya mifumo ya wavuti kwa kutumia Python na injini ya templating kujenga kurasa za wavuti. Angalia [moduli hii ya kujifunza](https://docs.microsoft.com/learn/modules/python-flask-build-ai-web-app?WT.mc_id=academic-77952-leestott) ili kufanya mazoezi ya kujenga na Flask.
-
-✅ Pickle ni nini? [Pickle](https://docs.python.org/3/library/pickle.html) 🥒 ni moduli ya Python inayosarifu na kufungua muundo wa kitu cha Python. Unapofanya 'pickle' mfano, unasarifu au kupanua muundo wake kwa matumizi kwenye wavuti. Kuwa mwangalifu: pickle sio salama kiasili, kwa hivyo kuwa mwangalifu ikiwa umeombwa kufungua faili iliyofunguliwa kwa pickle. Faili iliyofunguliwa kwa pickle ina kiambishi cha `.pkl`.
-
-## Zoezi - safisha data yako
-
-Katika somo hili utatumia data kutoka kwa matukio 80,000 ya UFO, yaliyokusanywa na [NUFORC](https://nuforc.org) (Kituo cha Kitaifa cha Kuripoti UFO). Data hii ina maelezo ya kuvutia ya matukio ya UFO, kwa mfano:
-
-- **Maelezo marefu ya mfano.** "Mtu anatoka kwenye mwanga unaong'aa kwenye uwanja wa nyasi usiku na anakimbia kuelekea kwenye maegesho ya Texas Instruments".
-- **Maelezo mafupi ya mfano.** "taa zilituandama".
-
-Faili ya [ufos.csv](../../../../3-Web-App/1-Web-App/data/ufos.csv) inajumuisha safu kuhusu `city`, `state` na `country` ambapo tukio lilitokea, `shape` ya kitu na `latitude` na `longitude`.
-
-Katika [daftari](../../../../3-Web-App/1-Web-App/notebook.ipynb) lililojumuishwa katika somo hili:
-
-1. ingiza `pandas`, `matplotlib`, na `numpy` kama ulivyofanya katika masomo yaliyopita na ingiza faili ya ufos. Unaweza kuangalia seti ya data ya sampuli:
-
- ```python
- import pandas as pd
- import numpy as np
-
- ufos = pd.read_csv('./data/ufos.csv')
- ufos.head()
- ```
-
-1. Badilisha data ya ufos kuwa dataframe ndogo na vichwa vipya. Angalia maadili ya kipekee katika uwanja wa `Country`.
-
- ```python
- ufos = pd.DataFrame({'Seconds': ufos['duration (seconds)'], 'Country': ufos['country'],'Latitude': ufos['latitude'],'Longitude': ufos['longitude']})
-
- ufos.Country.unique()
- ```
-
-1. Sasa, unaweza kupunguza kiasi cha data tunachohitaji kushughulika nacho kwa kuondoa maadili yoyote ya null na kuingiza tu matukio kati ya sekunde 1-60:
-
- ```python
- ufos.dropna(inplace=True)
-
- ufos = ufos[(ufos['Seconds'] >= 1) & (ufos['Seconds'] <= 60)]
-
- ufos.info()
- ```
-
-1. Ingiza maktaba ya `LabelEncoder` ya Scikit-learn ili kubadilisha maadili ya maandishi kwa nchi kuwa namba:
-
- ✅ LabelEncoder inasimbua data kwa alfabeti
-
- ```python
- from sklearn.preprocessing import LabelEncoder
-
- ufos['Country'] = LabelEncoder().fit_transform(ufos['Country'])
-
- ufos.head()
- ```
-
- Data yako inapaswa kuonekana kama hii:
-
- ```output
- Seconds Country Latitude Longitude
- 2 20.0 3 53.200000 -2.916667
- 3 20.0 4 28.978333 -96.645833
- 14 30.0 4 35.823889 -80.253611
- 23 60.0 4 45.582778 -122.352222
- 24 3.0 3 51.783333 -0.783333
- ```
-
-## Zoezi - jenga mfano wako
-
-Sasa unaweza kujiandaa kufundisha mfano kwa kugawanya data katika kikundi cha mafunzo na majaribio.
-
-1. Chagua vipengele vitatu unavyotaka kufundisha kama vector yako ya X, na vector ya y itakuwa `Country`. You want to be able to input `Seconds`, `Latitude` and `Longitude` na pata kitambulisho cha nchi kurudisha.
-
- ```python
- from sklearn.model_selection import train_test_split
-
- Selected_features = ['Seconds','Latitude','Longitude']
-
- X = ufos[Selected_features]
- y = ufos['Country']
-
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
- ```
-
-1. Fundisha mfano wako kwa kutumia regression ya logistic:
-
- ```python
- from sklearn.metrics import accuracy_score, classification_report
- from sklearn.linear_model import LogisticRegression
- model = LogisticRegression()
- model.fit(X_train, y_train)
- predictions = model.predict(X_test)
-
- print(classification_report(y_test, predictions))
- print('Predicted labels: ', predictions)
- print('Accuracy: ', accuracy_score(y_test, predictions))
- ```
-
-Usahihi sio mbaya **(karibu 95%)**, bila kushangaza, kama `Country` and `Latitude/Longitude` correlate.
-
-The model you created isn't very revolutionary as you should be able to infer a `Country` from its `Latitude` and `Longitude`, lakini ni zoezi nzuri kujaribu kufundisha kutoka kwa data mbichi uliyoisafisha, kuiuza nje, na kisha kutumia mfano huu katika programu ya wavuti.
-
-## Zoezi - 'pickle' mfano wako
-
-Sasa, ni wakati wa _pickle_ mfano wako! Unaweza kufanya hivyo kwa mistari michache ya msimbo. Mara tu unapofanya _pickle_, pakia mfano wako uliopickle na ujaribu dhidi ya safu ya data ya sampuli iliyo na maadili ya sekunde, latitudo na longitudo,
-
-```python
-import pickle
-model_filename = 'ufo-model.pkl'
-pickle.dump(model, open(model_filename,'wb'))
-
-model = pickle.load(open('ufo-model.pkl','rb'))
-print(model.predict([[50,44,-12]]))
-```
-
-Mfano unarudisha **'3'**, ambayo ni nambari ya nchi kwa Uingereza. Ajabu! 👽
-
-## Zoezi - jenga programu ya Flask
-
-Sasa unaweza kujenga programu ya Flask ili kuita mfano wako na kurudisha matokeo sawa, lakini kwa njia ya kuvutia zaidi.
-
-1. Anza kwa kuunda folda inayoitwa **web-app** karibu na faili ya _notebook.ipynb_ ambapo faili yako ya _ufo-model.pkl_ ipo.
-
-1. Katika folda hiyo unda folda nyingine tatu: **static**, yenye folda **css** ndani yake, na **templates**. Sasa unapaswa kuwa na faili na saraka zifuatazo:
-
- ```output
- web-app/
- static/
- css/
- templates/
- notebook.ipynb
- ufo-model.pkl
- ```
-
- ✅ Rejelea folda ya suluhisho kwa mtazamo wa programu iliyokamilika
-
-1. Faili ya kwanza kuunda katika folda ya _web-app_ ni faili ya **requirements.txt**. Kama _package.json_ katika programu ya JavaScript, faili hii inataja utegemezi unaohitajika na programu. Katika **requirements.txt** ongeza mistari:
-
- ```text
- scikit-learn
- pandas
- numpy
- flask
- ```
-
-1. Sasa, endesha faili hii kwa kuvinjari kwenye _web-app_:
-
- ```bash
- cd web-app
- ```
-
-1. Katika terminal yako andika `pip install`, ili kusakinisha maktaba zilizoorodheshwa katika _requirements.txt_:
-
- ```bash
- pip install -r requirements.txt
- ```
-
-1. Sasa, uko tayari kuunda faili tatu zaidi kumaliza programu:
-
- 1. Unda **app.py** katika mzizi.
- 2. Unda **index.html** katika saraka ya _templates_.
- 3. Unda **styles.css** katika saraka ya _static/css_.
-
-1. Jenga faili ya _styles.css_ na mitindo michache:
-
- ```css
- body {
- width: 100%;
- height: 100%;
- font-family: 'Helvetica';
- background: black;
- color: #fff;
- text-align: center;
- letter-spacing: 1.4px;
- font-size: 30px;
- }
-
- input {
- min-width: 150px;
- }
-
- .grid {
- width: 300px;
- border: 1px solid #2d2d2d;
- display: grid;
- justify-content: center;
- margin: 20px auto;
- }
-
- .box {
- color: #fff;
- background: #2d2d2d;
- padding: 12px;
- display: inline-block;
- }
- ```
-
-1. Kisha, jenga faili ya _index.html_:
-
- ```html
-
-
-
-
- According to the number of seconds, latitude and longitude, which country is likely to have reported seeing a UFO?
- - - -{{ prediction_text }}
- -
-
-Here γ is the so-called **discount factor** that determines to which extent you should prefer the current reward over the future reward and vice versa.
-
-## Learning Algorithm
-
-Given the equation above, we can now write pseudo-code for our learning algorithm:
-
-* Initialize Q-Table Q with equal numbers for all states and actions
-* Set learning rate α ← 1
-* Repeat simulation many times
- 1. Start at random position
- 1. Repeat
- 1. Select an action *a* at state *s*
- 2. Execute action by moving to a new state *s'*
- 3. If we encounter end-of-game condition, or total reward is too small - exit simulation
- 4. Compute reward *r* at the new state
- 5. Update Q-Function according to Bellman equation: *Q(s,a)* ← *(1-α)Q(s,a)+α(r+γ maxa'Q(s',a'))*
- 6. *s* ← *s'*
- 7. Update the total reward and decrease α.
-
-## Exploit vs. explore
-
-In the algorithm above, we did not specify how exactly we should choose an action at step 2.1. If we are choosing the action randomly, we will randomly **explore** the environment, and we are quite likely to die often as well as explore areas where we would not normally go. An alternative approach would be to **exploit** the Q-Table values that we already know, and thus to choose the best action (with higher Q-Table value) at state *s*. This, however, will prevent us from exploring other states, and it's likely we might not find the optimal solution.
-
-Thus, the best approach is to strike a balance between exploration and exploitation. This can be done by choosing the action at state *s* with probabilities proportional to values in the Q-Table. In the beginning, when Q-Table values are all the same, it would correspond to a random selection, but as we learn more about our environment, we would be more likely to follow the optimal route while allowing the agent to choose the unexplored path once in a while.
-
-## Python implementation
-
-We are now ready to implement the learning algorithm. Before we do that, we also need some function that will convert arbitrary numbers in the Q-Table into a vector of probabilities for corresponding actions.
-
-1. Create a function `probs()`:
-
- ```python
- def probs(v,eps=1e-4):
- v = v-v.min()+eps
- v = v/v.sum()
- return v
- ```
-
- Tunaongeza `eps` chache kwenye vector ya awali ili kuepuka mgawanyiko kwa 0 katika kesi ya awali, wakati vipengele vyote vya vector ni sawa.
-
-Endesha algoriti ya kujifunza kupitia majaribio 5000, pia huitwa **epochs**: (code block 8)
-```python
- for epoch in range(5000):
-
- # Pick initial point
- m.random_start()
-
- # Start travelling
- n=0
- cum_reward = 0
- while True:
- x,y = m.human
- v = probs(Q[x,y])
- a = random.choices(list(actions),weights=v)[0]
- dpos = actions[a]
- m.move(dpos,check_correctness=False) # we allow player to move outside the board, which terminates episode
- r = reward(m)
- cum_reward += r
- if r==end_reward or cum_reward < -1000:
- lpath.append(n)
- break
- alpha = np.exp(-n / 10e5)
- gamma = 0.5
- ai = action_idx[a]
- Q[x,y,ai] = (1 - alpha) * Q[x,y,ai] + alpha * (r + gamma * Q[x+dpos[0], y+dpos[1]].max())
- n+=1
-```
-
-Baada ya kutekeleza algoriti hii, Q-Table inapaswa kusasishwa na maadili ambayo yanafafanua mvuto wa hatua tofauti katika kila hatua. Tunaweza kujaribu kuonyesha Q-Table kwa kuchora vector kwenye kila seli ambayo itaelekeza kwenye mwelekeo unaotakiwa wa harakati. Kwa urahisi, tunachora duara ndogo badala ya kichwa cha mshale.
-
-## Kuangalia sera
-
-Kwa kuwa Q-Table inaorodhesha "mvuto" wa kila kitendo katika kila hali, ni rahisi kuitumia kufafanua urambazaji bora katika ulimwengu wetu. Katika kesi rahisi zaidi, tunaweza kuchagua kitendo kinacholingana na thamani ya juu zaidi ya Q-Table: (code block 9)
-
-```python
-def qpolicy_strict(m):
- x,y = m.human
- v = probs(Q[x,y])
- a = list(actions)[np.argmax(v)]
- return a
-
-walk(m,qpolicy_strict)
-```
-
-> Ukijaribu nambari hapo juu mara kadhaa, unaweza kugundua kuwa wakati mwingine inagoma, na unahitaji kubonyeza kitufe cha STOP kwenye notebook ili kuikomesha. Hii inatokea kwa sababu kunaweza kuwa na hali ambapo hali mbili "zinaelekeza" kwa kila mmoja kwa thamani bora ya Q, ambapo wakala huishia kusonga kati ya hali hizo bila kikomo.
-
-## 🚀Changamoto
-
-> **Kazi 1:** Badilisha `walk` function to limit the maximum length of path by a certain number of steps (say, 100), and watch the code above return this value from time to time.
-
-> **Task 2:** Modify the `walk` function so that it does not go back to the places where it has already been previously. This will prevent `walk` from looping, however, the agent can still end up being "trapped" in a location from which it is unable to escape.
-
-## Navigation
-
-A better navigation policy would be the one that we used during training, which combines exploitation and exploration. In this policy, we will select each action with a certain probability, proportional to the values in the Q-Table. This strategy may still result in the agent returning back to a position it has already explored, but, as you can see from the code below, it results in a very short average path to the desired location (remember that `print_statistics` inaendesha simulizi mara 100): (code block 10)
-
-```python
-def qpolicy(m):
- x,y = m.human
- v = probs(Q[x,y])
- a = random.choices(list(actions),weights=v)[0]
- return a
-
-print_statistics(qpolicy)
-```
-
-Baada ya kuendesha nambari hii, unapaswa kupata urefu wa wastani wa njia ndogo sana kuliko hapo awali, katika safu ya hatua 3-6.
-
-## Kuchunguza mchakato wa kujifunza
-
-Kama tulivyosema, mchakato wa kujifunza ni usawa kati ya uchunguzi na uchunguzi wa maarifa yaliyopatikana kuhusu muundo wa nafasi ya tatizo. Tumeona kwamba matokeo ya kujifunza (uwezo wa kusaidia wakala kupata njia fupi kwenda kwenye lengo) yameboreshwa, lakini pia ni ya kuvutia kuona jinsi urefu wa wastani wa njia unavyobadilika wakati wa mchakato wa kujifunza:
-
-## Muhtasari wa Kujifunza
-
-- **Urefu wa wastani wa njia unaongezeka**. Tunachokiona hapa ni kwamba mwanzoni, urefu wa wastani wa njia unaongezeka. Hii inaweza kuwa kutokana na ukweli kwamba tunapojua chochote kuhusu mazingira, tunatarajiwa kukwama katika hali mbaya, maji au mbwa mwitu. Tunapojifunza zaidi na kuanza kutumia maarifa haya, tunaweza kuchunguza mazingira kwa muda mrefu zaidi, lakini bado hatujui vizuri mahali tofaa yalipo.
-
-- **Urefu wa njia unapungua, tunapojifunza zaidi**. Mara tu tunapojifunza vya kutosha, inakuwa rahisi kwa wakala kufikia lengo, na urefu wa njia unaanza kupungua. Hata hivyo, bado tuko wazi kwa uchunguzi, kwa hivyo mara nyingi tunatoka kwenye njia bora, na kuchunguza chaguzi mpya, na kufanya njia kuwa ndefu kuliko ilivyo bora.
-
-- **Urefu unaongezeka ghafla**. Tunachokiona pia kwenye grafu hii ni kwamba wakati fulani, urefu uliongezeka ghafla. Hii inaonyesha asili ya mchakato wa stochastic, na kwamba tunaweza wakati fulani "kuharibu" coefficients za Q-Table kwa kuandika tena na maadili mapya. Hii inapaswa kupunguzwa kwa kupunguza kiwango cha kujifunza (kwa mfano, kuelekea mwisho wa mafunzo, tunarekebisha maadili ya Q-Table kwa thamani ndogo).
-
-Kwa ujumla, ni muhimu kukumbuka kwamba mafanikio na ubora wa mchakato wa kujifunza hutegemea sana vigezo, kama vile kiwango cha kujifunza, kupungua kwa kiwango cha kujifunza, na sababu ya punguzo. Hizi mara nyingi huitwa **vigezo vya hyper**, ili kuwatofautisha na **vigezo**, ambavyo tunaboresha wakati wa mafunzo (kwa mfano, coefficients za Q-Table). Mchakato wa kupata maadili bora ya vigezo vya hyper unaitwa **uboresha wa vigezo vya hyper**, na unastahili mada tofauti.
-
-## [Jaribio la baada ya somo](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/46/)
-
-## Kazi
-[Dunia Halisi Zaidi](assignment.md)
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI zinazotegemea mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwepo kwa usahihi. Hati asilia katika lugha yake ya awali inapaswa kuchukuliwa kama chanzo chenye mamlaka. Kwa habari muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/8-Reinforcement/1-QLearning/assignment.md b/translations/sw/8-Reinforcement/1-QLearning/assignment.md
deleted file mode 100644
index 5aabd9de6..000000000
--- a/translations/sw/8-Reinforcement/1-QLearning/assignment.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Ulimwengu Halisi Zaidi
-
-Katika hali yetu, Peter aliweza kusafiri karibu bila kuchoka au kuwa na njaa. Katika ulimwengu halisi zaidi, tunahitaji kukaa chini na kupumzika mara kwa mara, na pia kujilisha. Hebu tufanye ulimwengu wetu uwe halisi zaidi, kwa kutekeleza sheria zifuatazo:
-
-1. Kwa kusafiri kutoka sehemu moja hadi nyingine, Peter hupoteza **nguvu** na kupata **uchovu**.
-2. Peter anaweza kupata nguvu zaidi kwa kula maapulo.
-3. Peter anaweza kuondoa uchovu kwa kupumzika chini ya mti au kwenye nyasi (yaani kutembea kwenye eneo la ubao lenye mti au nyasi - uwanja wa kijani)
-4. Peter anahitaji kupata na kumuua mbwa mwitu
-5. Ili kumuua mbwa mwitu, Peter anahitaji kuwa na viwango fulani vya nguvu na uchovu, vinginevyo atapoteza vita.
-## Maelekezo
-
-Tumia [notebook.ipynb](../../../../8-Reinforcement/1-QLearning/notebook.ipynb) ya awali kama sehemu ya kuanzia kwa suluhisho lako.
-
-Badilisha kazi ya zawadi hapo juu kulingana na sheria za mchezo, endesha algorithimu ya kujifunza kwa kuimarisha ili kujifunza mkakati bora wa kushinda mchezo, na linganisha matokeo ya matembezi ya nasibu na algorithimu yako kwa suala la idadi ya michezo iliyoshinda na kupoteza.
-
-> **Note**: Katika ulimwengu wako mpya, hali ni ngumu zaidi, na kando na nafasi ya binadamu pia inajumuisha viwango vya uchovu na nguvu. Unaweza kuchagua kuwakilisha hali kama tuple (Board, energy, fatigue), au kufafanua darasa kwa hali (unaweza pia kutaka kulitoa kutoka `Board`), au hata kurekebisha darasa la awali la `Board` ndani ya [rlboard.py](../../../../8-Reinforcement/1-QLearning/rlboard.py).
-
-Katika suluhisho lako, tafadhali weka msimbo unaohusika na mkakati wa matembezi ya nasibu, na linganisha matokeo ya algorithimu yako na matembezi ya nasibu mwishoni.
-
-> **Note**: Unaweza kuhitaji kurekebisha hyperparameters ili ifanye kazi, hasa idadi ya epochs. Kwa sababu mafanikio ya mchezo (kupigana na mbwa mwitu) ni tukio nadra, unaweza kutarajia muda mrefu zaidi wa mafunzo.
-## Rubric
-
-| Kigezo | Bora Zaidi | Inayokubalika | Inahitaji Kuboresha |
-| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
-| | Daftari linawasilishwa na ufafanuzi wa sheria mpya za ulimwengu, algorithimu ya Q-Learning na maelezo fulani ya maandishi. Q-Learning ina uwezo wa kuboresha matokeo kwa kiasi kikubwa ikilinganishwa na matembezi ya nasibu. | Daftari linawasilishwa, Q-Learning inatekelezwa na inaboresha matokeo ikilinganishwa na matembezi ya nasibu, lakini sio kwa kiasi kikubwa; au daftari limeandikwa vibaya na msimbo haujapangwa vizuri | Jaribio fulani la kufafanua upya sheria za ulimwengu limefanywa, lakini algorithimu ya Q-Learning haifanyi kazi, au kazi ya zawadi haijafafanuliwa kikamilifu |
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI za mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwepo kwa usahihi. Hati ya asili katika lugha yake ya asili inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri potofu zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/8-Reinforcement/1-QLearning/solution/Julia/README.md b/translations/sw/8-Reinforcement/1-QLearning/solution/Julia/README.md
deleted file mode 100644
index 6eff6923f..000000000
--- a/translations/sw/8-Reinforcement/1-QLearning/solution/Julia/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za kutafsiri za AI zinazotegemea mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya kiasili inapaswa kuchukuliwa kuwa chanzo cha mamlaka. Kwa habari muhimu, tafsiri ya kitaalamu ya kibinadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/8-Reinforcement/1-QLearning/solution/R/README.md b/translations/sw/8-Reinforcement/1-QLearning/solution/R/README.md
deleted file mode 100644
index db7b3b9b4..000000000
--- a/translations/sw/8-Reinforcement/1-QLearning/solution/R/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-**Kanusho**:
-Hati hii imetafsiriwa kwa kutumia huduma za tafsiri za AI zinazotumia mashine. Ingawa tunajitahidi kwa usahihi, tafadhali fahamu kuwa tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya kiasili inapaswa kuzingatiwa kama chanzo rasmi. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.
\ No newline at end of file
diff --git a/translations/sw/8-Reinforcement/2-Gym/README.md b/translations/sw/8-Reinforcement/2-Gym/README.md
deleted file mode 100644
index c5c9f4b33..000000000
--- a/translations/sw/8-Reinforcement/2-Gym/README.md
+++ /dev/null
@@ -1,324 +0,0 @@
-## Vigezo vya awali
-
-Katika somo hili, tutatumia maktaba inayoitwa **OpenAI Gym** kusimulia mazingira tofauti. Unaweza kuendesha msimbo wa somo hili kwenye kompyuta yako (mfano kutoka Visual Studio Code), ambapo simulizi itafunguka kwenye dirisha jipya. Unapoendesha msimbo mtandaoni, unaweza kuhitaji kufanya mabadiliko kadhaa kwenye msimbo, kama ilivyoelezwa [hapa](https://towardsdatascience.com/rendering-openai-gym-envs-on-binder-and-google-colab-536f99391cc7).
-
-## OpenAI Gym
-
-Katika somo lililopita, sheria za mchezo na hali zilitolewa na darasa la `Board` ambalo tulilifafanua wenyewe. Hapa tutatumia mazingira maalum ya **simulizi**, ambayo yatasimulia fizikia ya fimbo inayosawazisha. Mojawapo ya mazingira maarufu ya simulizi kwa mafunzo ya algorithimu za kujifunza kuimarisha inaitwa [Gym](https://gym.openai.com/), ambayo inadumishwa na [OpenAI](https://openai.com/). Kwa kutumia gym hii tunaweza kuunda mazingira tofauti kutoka simulizi ya cartpole hadi michezo ya Atari.
-
-> **Kumbuka**: Unaweza kuona mazingira mengine yanayopatikana kutoka OpenAI Gym [hapa](https://gym.openai.com/envs/#classic_control).
-
-Kwanza, wacha tufunge gym na tuagize maktaba zinazohitajika (msimbo wa block 1):
-
-```python
-import sys
-!{sys.executable} -m pip install gym
-
-import gym
-import matplotlib.pyplot as plt
-import numpy as np
-import random
-```
-
-## Zoezi - anzisha mazingira ya cartpole
-
-Ili kufanya kazi na tatizo la kusawazisha cartpole, tunahitaji kuanzisha mazingira yanayolingana. Kila mazingira yanaunganishwa na:
-
-- **Nafasi ya uchunguzi** inayofafanua muundo wa taarifa tunazopokea kutoka kwa mazingira. Kwa tatizo la cartpole, tunapokea nafasi ya fimbo, kasi na thamani nyinginezo.
-
-- **Nafasi ya hatua** inayofafanua hatua zinazowezekana. Katika kesi yetu nafasi ya hatua ni ya kidijitali, na inajumuisha hatua mbili - **kushoto** na **kulia**. (msimbo wa block 2)
-
-1. Ili kuanzisha, andika msimbo ufuatao:
-
- ```python
- env = gym.make("CartPole-v1")
- print(env.action_space)
- print(env.observation_space)
- print(env.action_space.sample())
- ```
-
-Ili kuona jinsi mazingira yanavyofanya kazi, wacha tuendeshe simulizi fupi kwa hatua 100. Katika kila hatua, tunatoa moja ya hatua zinazochukuliwa - katika simulizi hii tunachagua hatua kwa nasibu kutoka `action_space`.
-
-1. Endesha msimbo hapa chini na uone matokeo.
-
- ✅ Kumbuka kuwa inapendekezwa kuendesha msimbo huu kwenye usakinishaji wa Python wa ndani! (msimbo wa block 3)
-
- ```python
- env.reset()
-
- for i in range(100):
- env.render()
- env.step(env.action_space.sample())
- env.close()
- ```
-
- Unapaswa kuona kitu kinachofanana na picha hii:
-
- 
-
-1. Wakati wa simulizi, tunahitaji kupata uchunguzi ili kuamua jinsi ya kuchukua hatua. Kwa kweli, kazi ya hatua inarejesha uchunguzi wa sasa, kazi ya tuzo, na bendera ya kumaliza inayoweka wazi kama ina maana kuendelea na simulizi au la: (msimbo wa block 4)
-
- ```python
- env.reset()
-
- done = False
- while not done:
- env.render()
- obs, rew, done, info = env.step(env.action_space.sample())
- print(f"{obs} -> {rew}")
- env.close()
- ```
-
- Mwishowe utaona kitu kama hiki kwenye matokeo ya daftari:
-
- ```text
- [ 0.03403272 -0.24301182 0.02669811 0.2895829 ] -> 1.0
- [ 0.02917248 -0.04828055 0.03248977 0.00543839] -> 1.0
- [ 0.02820687 0.14636075 0.03259854 -0.27681916] -> 1.0
- [ 0.03113408 0.34100283 0.02706215 -0.55904489] -> 1.0
- [ 0.03795414 0.53573468 0.01588125 -0.84308041] -> 1.0
- ...
- [ 0.17299878 0.15868546 -0.20754175 -0.55975453] -> 1.0
- [ 0.17617249 0.35602306 -0.21873684 -0.90998894] -> 1.0
- ```
-
- Vector ya uchunguzi inayorejeshwa katika kila hatua ya simulizi inajumuisha thamani zifuatazo:
- - Nafasi ya gari
- - Kasi ya gari
- - Pembe ya fimbo
- - Kiwango cha mzunguko wa fimbo
-
-1. Pata thamani ndogo na kubwa ya namba hizo: (msimbo wa block 5)
-
- ```python
- print(env.observation_space.low)
- print(env.observation_space.high)
- ```
-
- Unaweza pia kugundua kuwa thamani ya tuzo katika kila hatua ya simulizi ni 1 kila wakati. Hii ni kwa sababu lengo letu ni kuishi kwa muda mrefu iwezekanavyo, yaani kuweka fimbo katika nafasi ya wima kwa muda mrefu zaidi.
-
- ✅ Kwa kweli, simulizi ya CartPole inachukuliwa kuwa imetatuliwa ikiwa tutafanikiwa kupata wastani wa tuzo ya 195 katika majaribio 100 mfululizo.
-
-## Ugawanyaji wa hali
-
-Katika Q-Learning, tunahitaji kujenga Jedwali la Q linalofafanua nini cha kufanya katika kila hali. Ili kufanya hivyo, tunahitaji hali kuwa **ya kidijitali**, kwa usahihi zaidi, inapaswa kuwa na idadi ndogo ya thamani za kidijitali. Kwa hivyo, tunahitaji kwa namna fulani **kugawanya** uchunguzi wetu, kuziunganisha kwenye seti ndogo ya hali.
-
-Kuna njia kadhaa tunaweza kufanya hivi:
-
-- **Gawa katika sehemu**. Ikiwa tunajua kipindi cha thamani fulani, tunaweza kugawa kipindi hiki katika idadi ya **sehemu**, na kisha kubadilisha thamani kwa namba ya sehemu ambayo inahusiana nayo. Hii inaweza kufanywa kwa kutumia njia ya numpy [`digitize`](https://numpy.org/doc/stable/reference/generated/numpy.digitize.html). Katika kesi hii, tutajua kwa usahihi ukubwa wa hali, kwa sababu itategemea idadi ya sehemu tunazochagua kwa ajili ya digitalization.
-
-✅ Tunaweza kutumia usawazishaji wa mstari kuleta thamani kwa kipindi fulani (sema, kutoka -20 hadi 20), na kisha kubadilisha namba kuwa namba za tarakimu kwa kuzungusha. Hii inatupa udhibiti mdogo wa ukubwa wa hali, hasa ikiwa hatujui mipaka halisi ya thamani za ingizo. Kwa mfano, katika kesi yetu 2 kati ya 4 hazina mipaka ya juu/chini ya thamani zao, ambazo zinaweza kusababisha idadi isiyo na kikomo ya hali.
-
-Katika mfano wetu, tutatumia mbinu ya pili. Kama utakavyogundua baadaye, licha ya mipaka isiyoeleweka ya juu/chini, thamani hizo mara chache huchukua thamani nje ya vipindi fulani, hivyo hali hizo zenye thamani za juu zitakuwa nadra sana.
-
-1. Hapa kuna kazi itakayochukua uchunguzi kutoka kwa mfano wetu na kutoa jozi ya thamani za tarakimu 4: (msimbo wa block 6)
-
- ```python
- def discretize(x):
- return tuple((x/np.array([0.25, 0.25, 0.01, 0.1])).astype(np.int))
- ```
-
-1. Wacha pia tuchunguze njia nyingine ya ugawanyaji kwa kutumia sehemu: (msimbo wa block 7)
-
- ```python
- def create_bins(i,num):
- return np.arange(num+1)*(i[1]-i[0])/num+i[0]
-
- print("Sample bins for interval (-5,5) with 10 bins\n",create_bins((-5,5),10))
-
- ints = [(-5,5),(-2,2),(-0.5,0.5),(-2,2)] # intervals of values for each parameter
- nbins = [20,20,10,10] # number of bins for each parameter
- bins = [create_bins(ints[i],nbins[i]) for i in range(4)]
-
- def discretize_bins(x):
- return tuple(np.digitize(x[i],bins[i]) for i in range(4))
- ```
-
-1. Wacha sasa tuendeshe simulizi fupi na kuchunguza thamani hizo za mazingira ya kidijitali. Jisikie huru kujaribu zote `discretize` and `discretize_bins` na kuona kama kuna tofauti.
-
- ✅ discretize_bins inarejesha namba ya sehemu, ambayo ni ya msingi 0. Kwa hivyo kwa thamani za ingizo karibu na 0 inarejesha namba kutoka katikati ya kipindi (10). Katika discretize, hatukujali kuhusu wigo wa thamani za matokeo, tukiruhusu kuwa hasi, hivyo thamani za hali hazijahamishwa, na 0 inahusiana na 0. (msimbo wa block 8)
-
- ```python
- env.reset()
-
- done = False
- while not done:
- #env.render()
- obs, rew, done, info = env.step(env.action_space.sample())
- #print(discretize_bins(obs))
- print(discretize(obs))
- env.close()
- ```
-
- ✅ Ondoa mstari unaoanza na env.render ikiwa unataka kuona jinsi mazingira yanavyotekelezwa. Vinginevyo unaweza kuutekeleza kwa siri, ambayo ni haraka zaidi. Tutatumia utekelezaji huu wa "kisiri" wakati wa mchakato wetu wa Q-Learning.
-
-## Muundo wa Jedwali la Q
-
-Katika somo letu lililopita, hali ilikuwa jozi rahisi ya namba kutoka 0 hadi 8, na hivyo ilikuwa rahisi kuwakilisha Jedwali la Q kwa tensor ya numpy yenye umbo la 8x8x2. Ikiwa tunatumia ugawanyaji wa sehemu, ukubwa wa vector yetu ya hali pia unajulikana, hivyo tunaweza kutumia mbinu hiyo hiyo na kuwakilisha hali kwa safu yenye umbo la 20x20x10x10x2 (hapa 2 ni kipimo cha nafasi ya hatua, na vipimo vya kwanza vinahusiana na idadi ya sehemu tulizochagua kutumia kwa kila moja ya vigezo katika nafasi ya uchunguzi).
-
-Hata hivyo, wakati mwingine vipimo halisi vya nafasi ya uchunguzi havijulikani. Katika kesi ya kazi ya `discretize`, hatuwezi kuwa na uhakika kwamba hali yetu inakaa ndani ya mipaka fulani, kwa sababu baadhi ya thamani za awali hazina mipaka. Kwa hivyo, tutatumia mbinu tofauti kidogo na kuwakilisha Jedwali la Q kwa kamusi.
-
-1. Tumia jozi *(state,action)* kama ufunguo wa kamusi, na thamani itahusiana na thamani ya ingizo la Jedwali la Q. (msimbo wa block 9)
-
- ```python
- Q = {}
- actions = (0,1)
-
- def qvalues(state):
- return [Q.get((state,a),0) for a in actions]
- ```
-
- Hapa pia tunafafanua kazi `qvalues()`, inayorejesha orodha ya thamani za Jedwali la Q kwa hali fulani inayohusiana na hatua zote zinazowezekana. Ikiwa ingizo halipo kwenye Jedwali la Q, tutarejesha 0 kama chaguo-msingi.
-
-## Wacha tuanze Q-Learning
-
-Sasa tuko tayari kumfundisha Peter kusawazisha!
-
-1. Kwanza, wacha tuchague baadhi ya vigezo vya msingi: (msimbo wa block 10)
-
- ```python
- # hyperparameters
- alpha = 0.3
- gamma = 0.9
- epsilon = 0.90
- ```
-
- Hapa, `alpha` is the **learning rate** that defines to which extent we should adjust the current values of Q-Table at each step. In the previous lesson we started with 1, and then decreased `alpha` to lower values during training. In this example we will keep it constant just for simplicity, and you can experiment with adjusting `alpha` values later.
-
- `gamma` is the **discount factor** that shows to which extent we should prioritize future reward over current reward.
-
- `epsilon` is the **exploration/exploitation factor** that determines whether we should prefer exploration to exploitation or vice versa. In our algorithm, we will in `epsilon` percent of the cases select the next action according to Q-Table values, and in the remaining number of cases we will execute a random action. This will allow us to explore areas of the search space that we have never seen before.
-
- ✅ In terms of balancing - choosing random action (exploration) would act as a random punch in the wrong direction, and the pole would have to learn how to recover the balance from those "mistakes"
-
-### Improve the algorithm
-
-We can also make two improvements to our algorithm from the previous lesson:
-
-- **Calculate average cumulative reward**, over a number of simulations. We will print the progress each 5000 iterations, and we will average out our cumulative reward over that period of time. It means that if we get more than 195 point - we can consider the problem solved, with even higher quality than required.
-
-- **Calculate maximum average cumulative result**, `Qmax`, and we will store the Q-Table corresponding to that result. When you run the training you will notice that sometimes the average cumulative result starts to drop, and we want to keep the values of Q-Table that correspond to the best model observed during training.
-
-1. Collect all cumulative rewards at each simulation at `rewards` vector kwa ajili ya kuchora baadaye. (msimbo wa block 11)
-
- ```python
- def probs(v,eps=1e-4):
- v = v-v.min()+eps
- v = v/v.sum()
- return v
-
- Qmax = 0
- cum_rewards = []
- rewards = []
- for epoch in range(100000):
- obs = env.reset()
- done = False
- cum_reward=0
- # == do the simulation ==
- while not done:
- s = discretize(obs)
- if random.random()
-
-Bu, bazı korelasyonlar olması gerektiğini ve `Month` and `Price`, or between `DayOfYear` and `Price`. Here is the scatter plot that shows the latter relationship:
-
-
-
-Let's see if there is a correlation using the `corr` fonksiyonunu kullanarak lineer regresyon modeli eğitmeye çalışabileceğimizi gösteriyor:
-
-```python
-print(new_pumpkins['Month'].corr(new_pumpkins['Price']))
-print(new_pumpkins['DayOfYear'].corr(new_pumpkins['Price']))
-```
-
-Görünüşe göre korelasyon oldukça küçük, `-0.15` `Month` and -0.17 by the `DayOfMonth`, but there could be another important relationship. It looks like there are different clusters of prices corresponding to different pumpkin varieties. To confirm this hypothesis, let's plot each pumpkin category using a different color. By passing an `ax` parameter to the `scatter` çizim fonksiyonunu kullanarak tüm noktaları aynı grafikte çizebiliriz:
-
-```python
-ax=None
-colors = ['red','blue','green','yellow']
-for i,var in enumerate(new_pumpkins['Variety'].unique()):
- df = new_pumpkins[new_pumpkins['Variety']==var]
- ax = df.plot.scatter('DayOfYear','Price',ax=ax,c=colors[i],label=var)
-```
-
-
-
-Araştırmamız, çeşidin genel fiyat üzerinde satış tarihinden daha fazla etkisi olduğunu öne sürüyor. Bunu bir çubuk grafikle görebiliriz:
-
-```python
-new_pumpkins.groupby('Variety')['Price'].mean().plot(kind='bar')
-```
-
-
-
-Şu an için sadece bir kabak çeşidine, 'turta tipi'ne odaklanalım ve tarihin fiyat üzerindeki etkisini görelim:
-
-```python
-pie_pumpkins = new_pumpkins[new_pumpkins['Variety']=='PIE TYPE']
-pie_pumpkins.plot.scatter('DayOfYear','Price')
-```
-
-
-Şimdi `Price` and `DayOfYear` using `corr` function, we will get something like `-0.27` arasındaki korelasyonu hesaplasak, bu da tahmin edici bir model eğitmenin mantıklı olduğunu gösterir.
-
-> Doğrusal regresyon modeli eğitmeden önce, verimizin temiz olduğundan emin olmak önemlidir. Doğrusal regresyon eksik değerlerle iyi çalışmaz, bu yüzden tüm boş hücrelerden kurtulmak mantıklıdır:
-
-```python
-pie_pumpkins.dropna(inplace=True)
-pie_pumpkins.info()
-```
-
-Başka bir yaklaşım, bu boş değerleri ilgili sütunun ortalama değerleriyle doldurmak olabilir.
-
-## Basit Doğrusal Regresyon
-
-[](https://youtu.be/e4c_UP2fSjg "Yeni başlayanlar için ML - Scikit-learn kullanarak Doğrusal ve Polinomial Regresyon")
-
-> 🎥 Doğrusal ve polinomial regresyon hakkında kısa bir video özet için yukarıdaki resme tıklayın.
-
-Doğrusal Regresyon modelimizi eğitmek için **Scikit-learn** kütüphanesini kullanacağız.
-
-```python
-from sklearn.linear_model import LinearRegression
-from sklearn.metrics import mean_squared_error
-from sklearn.model_selection import train_test_split
-```
-
-Başlangıçta, giriş değerlerini (özellikler) ve beklenen çıktıyı (etiket) ayrı numpy dizilerine ayırıyoruz:
-
-```python
-X = pie_pumpkins['DayOfYear'].to_numpy().reshape(-1,1)
-y = pie_pumpkins['Price']
-```
-
-> Giriş verisi üzerinde `reshape` işlemi yapmamız gerektiğini unutmayın, çünkü Doğrusal Regresyon paketi bunu doğru anlamalıdır. Doğrusal Regresyon, her satırın bir giriş özellikleri vektörüne karşılık geldiği 2D bir dizi bekler. Bizim durumumuzda, sadece bir giriş olduğundan, N×1 şeklinde bir diziye ihtiyacımız var, burada N veri setinin boyutudur.
-
-Daha sonra, veriyi eğitim ve test veri setlerine ayırmamız gerekiyor, böylece modeli eğittikten sonra doğrulayabiliriz:
-
-```python
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-```
-
-Son olarak, gerçek Doğrusal Regresyon modelini eğitmek sadece iki satır kod alır. `LinearRegression` object, and fit it to our data using the `fit` yöntemini tanımlarız:
-
-```python
-lin_reg = LinearRegression()
-lin_reg.fit(X_train,y_train)
-```
-
-`LinearRegression` object after `fit`-ting contains all the coefficients of the regression, which can be accessed using `.coef_` property. In our case, there is just one coefficient, which should be around `-0.017`. It means that prices seem to drop a bit with time, but not too much, around 2 cents per day. We can also access the intersection point of the regression with Y-axis using `lin_reg.intercept_` - it will be around `21` bizim durumumuzda, yılın başındaki fiyatı gösterir.
-
-Modelimizin ne kadar doğru olduğunu görmek için, test veri setinde fiyatları tahmin edebilir ve ardından tahminlerimizin beklenen değerlere ne kadar yakın olduğunu ölçebiliriz. Bu, beklenen ve tahmin edilen değerler arasındaki tüm kare farklarının ortalaması olan ortalama kare hata (MSE) metrikleri kullanılarak yapılabilir.
-
-```python
-pred = lin_reg.predict(X_test)
-
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
-```
-
-Hatalarımız yaklaşık 2 puan gibi görünüyor, bu da ~%17. Çok iyi değil. Model kalitesinin başka bir göstergesi **belirleme katsayısı**dır ve şu şekilde elde edilebilir:
-
-```python
-score = lin_reg.score(X_train,y_train)
-print('Model determination: ', score)
-```
-Değer 0 ise, modelin girdi verilerini dikkate almadığı ve *en kötü doğrusal tahminci* olarak davrandığı anlamına gelir, bu da basitçe sonucun ortalama değeridir. Değer 1 ise, tüm beklenen çıktıları mükemmel bir şekilde tahmin edebildiğimiz anlamına gelir. Bizim durumumuzda, katsayı yaklaşık 0.06, bu oldukça düşük.
-
-Ayrıca test verilerini regresyon çizgisi ile birlikte çizerek, regresyonun bizim durumumuzda nasıl çalıştığını daha iyi görebiliriz:
-
-```python
-plt.scatter(X_test,y_test)
-plt.plot(X_test,pred)
-```
-
-
-
-## Polinomial Regresyon
-
-Doğrusal Regresyonun başka bir türü Polinomial Regresyondur. Bazen değişkenler arasında doğrusal bir ilişki vardır - kabak hacmi büyüdükçe fiyat artar - bazen bu ilişkiler bir düzlem veya düz bir çizgi olarak çizilemez.
-
-✅ İşte [bazı örnekler](https://online.stat.psu.edu/stat501/lesson/9/9.8) Polinomial Regresyonun kullanılabileceği veriler
-
-Tarih ve Fiyat arasındaki ilişkiye bir kez daha bakın. Bu saçılma grafiği mutlaka düz bir çizgi ile analiz edilmeli mi? Fiyatlar dalgalanamaz mı? Bu durumda, polinomial regresyonu deneyebilirsiniz.
-
-✅ Polinomlar, bir veya daha fazla değişken ve katsayıdan oluşan matematiksel ifadelerdir
-
-Polinomial regresyon, doğrusal olmayan veriyi daha iyi uyacak şekilde eğri bir çizgi oluşturur. Bizim durumumuzda, girdi verisine kare `DayOfYear` değişkenini eklersek, verimizi yıl içinde belirli bir noktada minimuma sahip olacak parabolik bir eğri ile uyarlayabiliriz.
-
-Scikit-learn, veri işleme adımlarını bir araya getirmek için kullanışlı bir [pipeline API](https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.make_pipeline.html?highlight=pipeline#sklearn.pipeline.make_pipeline) içerir. Bir **pipeline**, bir **estimators** zinciridir. Bizim durumumuzda, modelimize önce polinomial özellikler ekleyen ve ardından regresyonu eğiten bir pipeline oluşturacağız:
-
-```python
-from sklearn.preprocessing import PolynomialFeatures
-from sklearn.pipeline import make_pipeline
-
-pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
-
-pipeline.fit(X_train,y_train)
-```
-
-`PolynomialFeatures(2)` means that we will include all second-degree polynomials from the input data. In our case it will just mean `DayOfYear`2, but given two input variables X and Y, this will add X2, XY and Y2. We may also use higher degree polynomials if we want.
-
-Pipelines can be used in the same manner as the original `LinearRegression` object, i.e. we can `fit` the pipeline, and then use `predict` to get the prediction results. Here is the graph showing test data, and the approximation curve:
-
-
-
-Using Polynomial Regression, we can get slightly lower MSE and higher determination, but not significantly. We need to take into account other features!
-
-> You can see that the minimal pumpkin prices are observed somewhere around Halloween. How can you explain this?
-
-🎃 Congratulations, you just created a model that can help predict the price of pie pumpkins. You can probably repeat the same procedure for all pumpkin types, but that would be tedious. Let's learn now how to take pumpkin variety into account in our model!
-
-## Categorical Features
-
-In the ideal world, we want to be able to predict prices for different pumpkin varieties using the same model. However, the `Variety` column is somewhat different from columns like `Month`, because it contains non-numeric values. Such columns are called **categorical**.
-
-[](https://youtu.be/DYGliioIAE0 "ML for beginners - Categorical Feature Predictions with Linear Regression")
-
-> 🎥 Click the image above for a short video overview of using categorical features.
-
-Here you can see how average price depends on variety:
-
-
-
-To take variety into account, we first need to convert it to numeric form, or **encode** it. There are several way we can do it:
-
-* Simple **numeric encoding** will build a table of different varieties, and then replace the variety name by an index in that table. This is not the best idea for linear regression, because linear regression takes the actual numeric value of the index, and adds it to the result, multiplying by some coefficient. In our case, the relationship between the index number and the price is clearly non-linear, even if we make sure that indices are ordered in some specific way.
-* **One-hot encoding** will replace the `Variety` column by 4 different columns, one for each variety. Each column will contain `1` if the corresponding row is of a given variety, and `0` aksi halde. Bu, doğrusal regresyonda dört katsayı olacağı anlamına gelir, her biri belirli bir kabak çeşidi için "başlangıç fiyatından" (veya "ek fiyat") sorumlu olacaktır.
-
-Aşağıdaki kod, bir çeşidi nasıl tek sıcak kodlayabileceğimizi gösterir:
-
-```python
-pd.get_dummies(new_pumpkins['Variety'])
-```
-
- ID | FAIRYTALE | MINIATURE | MIXED HEIRLOOM VARIETIES | PIE TYPE
-----|-----------|-----------|--------------------------|----------
-70 | 0 | 0 | 0 | 1
-71 | 0 | 0 | 0 | 1
-... | ... | ... | ... | ...
-1738 | 0 | 1 | 0 | 0
-1739 | 0 | 1 | 0 | 0
-1740 | 0 | 1 | 0 | 0
-1741 | 0 | 1 | 0 | 0
-1742 | 0 | 1 | 0 | 0
-
-Tek sıcak kodlanmış çeşidi giriş olarak kullanarak doğrusal regresyon eğitmek için, sadece `X` and `y` verisini doğru şekilde başlatmamız yeterlidir:
-
-```python
-X = pd.get_dummies(new_pumpkins['Variety'])
-y = new_pumpkins['Price']
-```
-
-Kodun geri kalanı, Doğrusal Regresyon eğitmek için yukarıda kullandığımızla aynıdır. Dener iseniz, ortalama kare hatanın yaklaşık aynı olduğunu, ancak belirleme katsayısının (~%77) çok daha yüksek olduğunu göreceksiniz. Daha doğru tahminler elde etmek için, daha fazla kategorik özelliği, ayrıca `Month` or `DayOfYear`. To get one large array of features, we can use `join` gibi sayısal özellikleri de dikkate alabiliriz:
-
-```python
-X = pd.get_dummies(new_pumpkins['Variety']) \
- .join(new_pumpkins['Month']) \
- .join(pd.get_dummies(new_pumpkins['City'])) \
- .join(pd.get_dummies(new_pumpkins['Package']))
-y = new_pumpkins['Price']
-```
-
-Burada ayrıca `City` and `Package` türünü de dikkate alıyoruz, bu bize MSE 2.84 (%10) ve belirleme 0.94 verir!
-
-## Hepsini bir araya getirmek
-
-En iyi modeli oluşturmak için, yukarıdaki örnekten birleştirilmiş (tek sıcak kodlanmış kategorik + sayısal) veriyi Polinomial Regresyon ile birlikte kullanabiliriz. İşte kolaylık sağlamak için tam kod:
-
-```python
-# set up training data
-X = pd.get_dummies(new_pumpkins['Variety']) \
- .join(new_pumpkins['Month']) \
- .join(pd.get_dummies(new_pumpkins['City'])) \
- .join(pd.get_dummies(new_pumpkins['Package']))
-y = new_pumpkins['Price']
-
-# make train-test split
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-
-# setup and train the pipeline
-pipeline = make_pipeline(PolynomialFeatures(2), LinearRegression())
-pipeline.fit(X_train,y_train)
-
-# predict results for test data
-pred = pipeline.predict(X_test)
-
-# calculate MSE and determination
-mse = np.sqrt(mean_squared_error(y_test,pred))
-print(f'Mean error: {mse:3.3} ({mse/np.mean(pred)*100:3.3}%)')
-
-score = pipeline.score(X_train,y_train)
-print('Model determination: ', score)
-```
-
-Bu, yaklaşık %97'lik en iyi belirleme katsayısını ve MSE=2.23 (~%8 tahmin hatası) vermelidir.
-
-| Model | MSE | Belirleme |
-|-------|-----|-----------|
-| `DayOfYear` Linear | 2.77 (17.2%) | 0.07 |
-| `DayOfYear` Polynomial | 2.73 (17.0%) | 0.08 |
-| `Variety` Doğrusal | 5.24 (%19.7) | 0.77 |
-| Tüm özellikler Doğrusal | 2.84 (%10.5) | 0.94 |
-| Tüm özellikler Polinomial | 2.23 (%8.25) | 0.97 |
-
-🏆 Tebrikler! Bir derste dört Regresyon modeli oluşturdunuz ve model kalitesini %97'ye çıkardınız. Regresyon üzerine son bölümde, kategorileri belirlemek için Lojistik Regresyon hakkında bilgi edineceksiniz.
-
----
-## 🚀Meydan Okuma
-
-Bu not defterinde birkaç farklı değişkeni test edin ve korelasyonun model doğruluğuyla nasıl ilişkili olduğunu görün.
-
-## [Ders sonrası sınav](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/14/)
-
-## Gözden Geçirme ve Kendi Kendine Çalışma
-
-Bu derste Doğrusal Regresyon hakkında bilgi edindik. Diğer önemli Regresyon türleri de vardır. Adım adım, Ridge, Lasso ve Elasticnet teknikleri hakkında bilgi edinin. Daha fazla bilgi edinmek için iyi bir kurs [Stanford Statistical Learning course](https://online.stanford.edu/courses/sohs-ystatslearning-statistical-learning).
-
-## Ödev
-
-[Bir Model Oluşturun](assignment.md)
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından doğabilecek yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/2-Regression/3-Linear/assignment.md b/translations/tr/2-Regression/3-Linear/assignment.md
deleted file mode 100644
index 3e7c7c8c7..000000000
--- a/translations/tr/2-Regression/3-Linear/assignment.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Bir Regresyon Modeli Oluştur
-
-## Talimatlar
-
-Bu derste, Hem Doğrusal Hem de Polinom Regresyon kullanarak nasıl model oluşturulacağını öğrendiniz. Bu bilgiyi kullanarak, bir veri seti bulun veya Scikit-learn'in yerleşik setlerinden birini kullanarak yeni bir model oluşturun. Defterinizde hangi tekniği neden seçtiğinizi açıklayın ve modelinizin doğruluğunu gösterin. Eğer doğru değilse, nedenini açıklayın.
-
-## Değerlendirme Kriterleri
-
-| Kriterler | Mükemmel | Yeterli | Geliştirme Gerekiyor |
-| --------- | -------------------------------------------------------------- | -------------------------- | ------------------------------- |
-| | iyi belgelenmiş bir çözümle eksiksiz bir defter sunar | çözüm eksiktir | çözüm hatalı veya sorunludur |
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belgenin kendi dilindeki hali yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından doğabilecek herhangi bir yanlış anlama veya yanlış yorumlamadan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/2-Regression/3-Linear/solution/Julia/README.md b/translations/tr/2-Regression/3-Linear/solution/Julia/README.md
deleted file mode 100644
index 0168f878a..000000000
--- a/translations/tr/2-Regression/3-Linear/solution/Julia/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dilindeki hali, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından doğabilecek yanlış anlamalar veya yanlış yorumlamalardan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/2-Regression/4-Logistic/README.md b/translations/tr/2-Regression/4-Logistic/README.md
deleted file mode 100644
index 1b2636471..000000000
--- a/translations/tr/2-Regression/4-Logistic/README.md
+++ /dev/null
@@ -1,344 +0,0 @@
-# Kategorileri Tahmin Etmek İçin Lojistik Regresyon
-
-
-
-## [Ders Öncesi Test](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/15/)
-
-> ### [Bu ders R dilinde mevcut!](../../../../2-Regression/4-Logistic/solution/R/lesson_4.html)
-
-## Giriş
-
-Regresyon üzerine olan bu son derste, temel _klasik_ ML tekniklerinden biri olan Lojistik Regresyonu inceleyeceğiz. Bu tekniği, ikili kategorileri tahmin etmek için desenleri keşfetmek amacıyla kullanabilirsiniz. Bu şeker çikolata mı yoksa değil mi? Bu hastalık bulaşıcı mı değil mi? Bu müşteri bu ürünü seçecek mi yoksa seçmeyecek mi?
-
-Bu derste öğrenecekleriniz:
-
-- Veri görselleştirme için yeni bir kütüphane
-- Lojistik regresyon teknikleri
-
-✅ Bu tür bir regresyonla çalışma konusundaki anlayışınızı derinleştirmek için bu [Öğrenme modülüne](https://docs.microsoft.com/learn/modules/train-evaluate-classification-models?WT.mc_id=academic-77952-leestott) göz atın
-
-## Ön Koşul
-
-Balkabağı verileriyle çalıştıktan sonra, üzerinde çalışabileceğimiz bir ikili kategori olduğunu fark edecek kadar bu veriye aşina olduk: `Color`.
-
-Hadi bazı değişkenlere dayanarak _belirli bir balkabağının renginin ne olacağını_ (turuncu 🎃 veya beyaz 👻) tahmin etmek için bir lojistik regresyon modeli oluşturalım.
-
-> Neden regresyonla ilgili bir derste ikili sınıflandırmadan bahsediyoruz? Sadece dilsel kolaylık için, çünkü lojistik regresyon [aslında bir sınıflandırma yöntemidir](https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression), ancak doğrusal tabanlıdır. Verileri sınıflandırmanın diğer yollarını bir sonraki ders grubunda öğrenin.
-
-## Soruyu Tanımlayın
-
-Bizim amacımız için bunu ikili olarak ifade edeceğiz: 'Beyaz' veya 'Beyaz Değil'. Veritabanımızda ayrıca 'çizgili' kategorisi de var ama çok az örneği olduğu için bunu kullanmayacağız. Zaten veritabanından boş değerleri kaldırdığımızda bu kategori de kayboluyor.
-
-> 🎃 Eğlenceli bilgi, bazen beyaz balkabaklarına 'hayalet' balkabakları deriz. Oyulması çok kolay değildir, bu yüzden turuncu olanlar kadar popüler değillerdir ama havalı görünürler! Bu yüzden sorumuzu şu şekilde de yeniden formüle edebiliriz: 'Hayalet' veya 'Hayalet Değil'. 👻
-
-## Lojistik regresyon hakkında
-
-Lojistik regresyon, daha önce öğrendiğiniz doğrusal regresyondan birkaç önemli şekilde farklıdır.
-
-[](https://youtu.be/KpeCT6nEpBY "Başlangıç seviyesinde ML - Makine Öğrenimi Sınıflandırması için Lojistik Regresyonu Anlamak")
-
-> 🎥 Lojistik regresyon hakkında kısa bir genel bakış için yukarıdaki resme tıklayın.
-
-### İkili sınıflandırma
-
-Lojistik regresyon, doğrusal regresyonla aynı özellikleri sunmaz. İlki, bir ikili kategori hakkında bir tahmin sunar ("beyaz veya beyaz değil"), ikincisi ise sürekli değerleri tahmin edebilir, örneğin bir balkabağının kökeni ve hasat zamanı verildiğinde, _fiyatının ne kadar artacağını_.
-
-
-> İnfografik [Dasani Madipalli](https://twitter.com/dasani_decoded) tarafından
-
-### Diğer sınıflandırmalar
-
-Lojistik regresyonun başka türleri de vardır, bunlar arasında çoklu ve sıralı:
-
-- **Çoklu**, birden fazla kategoriye sahip olmak anlamına gelir - "Turuncu, Beyaz ve Çizgili".
-- **Sıralı**, sıralı kategorileri içerir, sonuçlarımızı mantıksal olarak sıralamak istediğimizde kullanışlıdır, örneğin sınırlı sayıda boyuta göre sıralanan balkabaklarımız (mini, küçük, orta, büyük, çok büyük, devasa).
-
-
-
-### Değişkenlerin KORELASYONLU OLMASINA GEREK YOK
-
-Doğrusal regresyonun daha fazla korelasyonlu değişkenlerle daha iyi çalıştığını hatırlıyor musunuz? Lojistik regresyon bunun tersidir - değişkenlerin uyumlu olmasına gerek yoktur. Bu, zayıf korelasyonlara sahip bu veri için işe yarar.
-
-### Çok temiz verilere ihtiyacınız var
-
-Lojistik regresyon, daha fazla veri kullanırsanız daha doğru sonuçlar verir; küçük veri setimiz bu görev için optimal değildir, bu yüzden bunu aklınızda bulundurun.
-
-[](https://youtu.be/B2X4H9vcXTs "Başlangıç seviyesinde ML - Lojistik Regresyon için Veri Analizi ve Hazırlığı")
-
-> 🎥 Doğrusal regresyon için veri hazırlığı hakkında kısa bir genel bakış için yukarıdaki resme tıklayın
-
-✅ Lojistik regresyona iyi uyum sağlayacak veri türlerini düşünün
-
-## Alıştırma - veriyi düzenleme
-
-Öncelikle, verileri biraz temizleyin, boş değerleri kaldırın ve sadece bazı sütunları seçin:
-
-1. Aşağıdaki kodu ekleyin:
-
- ```python
-
- columns_to_select = ['City Name','Package','Variety', 'Origin','Item Size', 'Color']
- pumpkins = full_pumpkins.loc[:, columns_to_select]
-
- pumpkins.dropna(inplace=True)
- ```
-
- Yeni veri çerçevenize bir göz atabilirsiniz:
-
- ```python
- pumpkins.info
- ```
-
-### Görselleştirme - kategorik grafik
-
-Şimdiye kadar [başlangıç not defterini](../../../../2-Regression/4-Logistic/notebook.ipynb) balkabağı verileriyle tekrar yüklediniz ve `Color` içeren birkaç değişkeni koruyarak temizlediniz. Veri çerçevesini farklı bir kütüphane kullanarak not defterinde görselleştirelim: [Seaborn](https://seaborn.pydata.org/index.html), daha önce kullandığımız Matplotlib üzerine kurulmuştur.
-
-Seaborn, verilerinizi görselleştirmenin bazı güzel yollarını sunar. Örneğin, `Variety` ve `Color` verilerinin dağılımlarını kategorik bir grafikte karşılaştırabilirsiniz.
-
-1. `catplot` function, using our pumpkin data `pumpkins` kullanarak ve her balkabağı kategorisi (turuncu veya beyaz) için bir renk eşlemesi belirterek böyle bir grafik oluşturun:
-
- ```python
- import seaborn as sns
-
- palette = {
- 'ORANGE': 'orange',
- 'WHITE': 'wheat',
- }
-
- sns.catplot(
- data=pumpkins, y="Variety", hue="Color", kind="count",
- palette=palette,
- )
- ```
-
- 
-
- Verileri gözlemleyerek, Renk verisinin Çeşitlilik ile nasıl ilişkili olduğunu görebilirsiniz.
-
- ✅ Bu kategorik grafiğe bakarak, hangi ilginç keşifleri hayal edebilirsiniz?
-
-### Veri ön işleme: özellik ve etiket kodlama
-Balkabağı veri setimiz tüm sütunları için string değerler içerir. Kategorik verilerle çalışmak insanlar için sezgiseldir ancak makineler için değil. Makine öğrenimi algoritmaları sayılarla iyi çalışır. Bu yüzden kodlama, veri ön işleme aşamasında çok önemli bir adımdır, çünkü kategorik verileri sayısal verilere dönüştürmemizi sağlar, herhangi bir bilgi kaybetmeden. İyi bir kodlama, iyi bir model oluşturmayı sağlar.
-
-Özellik kodlama için iki ana tür kodlayıcı vardır:
-
-1. Sıralı kodlayıcı: sıralı değişkenler için uygundur, bunlar kategorik değişkenlerdir ve verileri mantıksal bir sıralama izler, veri setimizdeki `Item Size` sütunu gibi. Her kategori bir sayı ile temsil edilir, bu da sütundaki kategorinin sırası olur.
-
- ```python
- from sklearn.preprocessing import OrdinalEncoder
-
- item_size_categories = [['sml', 'med', 'med-lge', 'lge', 'xlge', 'jbo', 'exjbo']]
- ordinal_features = ['Item Size']
- ordinal_encoder = OrdinalEncoder(categories=item_size_categories)
- ```
-
-2. Kategorik kodlayıcı: nominal değişkenler için uygundur, bunlar kategorik değişkenlerdir ve verileri mantıksal bir sıralama izlemez, veri setimizdeki `Item Size` dışındaki tüm özellikler gibi. Bu bir one-hot kodlamadır, yani her kategori bir ikili sütunla temsil edilir: kodlanmış değişken, balkabağı o Çeşitliliğe aitse 1, değilse 0 olur.
-
- ```python
- from sklearn.preprocessing import OneHotEncoder
-
- categorical_features = ['City Name', 'Package', 'Variety', 'Origin']
- categorical_encoder = OneHotEncoder(sparse_output=False)
- ```
-Sonra, `ColumnTransformer` birden fazla kodlayıcıyı tek bir adımda birleştirmek ve uygun sütunlara uygulamak için kullanılır.
-
-```python
- from sklearn.compose import ColumnTransformer
-
- ct = ColumnTransformer(transformers=[
- ('ord', ordinal_encoder, ordinal_features),
- ('cat', categorical_encoder, categorical_features)
- ])
-
- ct.set_output(transform='pandas')
- encoded_features = ct.fit_transform(pumpkins)
-```
-Öte yandan, etiketi kodlamak için, scikit-learn `LabelEncoder` sınıfını kullanırız, bu sınıf etiketleri normalize etmeye yardımcı olan bir yardımcı sınıftır, böylece yalnızca 0 ve n_classes-1 (burada, 0 ve 1) arasında değerler içerir.
-
-```python
- from sklearn.preprocessing import LabelEncoder
-
- label_encoder = LabelEncoder()
- encoded_label = label_encoder.fit_transform(pumpkins['Color'])
-```
-Özellikleri ve etiketi kodladıktan sonra, bunları yeni bir veri çerçevesi `encoded_pumpkins` içinde birleştirebiliriz.
-
-```python
- encoded_pumpkins = encoded_features.assign(Color=encoded_label)
-```
-✅ `Item Size` column?
-
-### Analyse relationships between variables
-
-Now that we have pre-processed our data, we can analyse the relationships between the features and the label to grasp an idea of how well the model will be able to predict the label given the features.
-The best way to perform this kind of analysis is plotting the data. We'll be using again the Seaborn `catplot` function, to visualize the relationships between `Item Size`, `Variety` ve `Color` bir kategorik grafikte kodlamak için sıralı kodlayıcı kullanmanın avantajları nelerdir? Verileri daha iyi görselleştirmek için kodlanmış `Item Size` column and the unencoded `Variety` sütununu kullanacağız.
-
-```python
- palette = {
- 'ORANGE': 'orange',
- 'WHITE': 'wheat',
- }
- pumpkins['Item Size'] = encoded_pumpkins['ord__Item Size']
-
- g = sns.catplot(
- data=pumpkins,
- x="Item Size", y="Color", row='Variety',
- kind="box", orient="h",
- sharex=False, margin_titles=True,
- height=1.8, aspect=4, palette=palette,
- )
- g.set(xlabel="Item Size", ylabel="").set(xlim=(0,6))
- g.set_titles(row_template="{row_name}")
-```
-
-
-### Bir 'swarm' grafiği kullanın
-
-Renk bir ikili kategori olduğundan (Beyaz veya Değil), görselleştirme için 'özelleşmiş bir yaklaşıma' ihtiyaç duyar. Bu kategorinin diğer değişkenlerle ilişkisini görselleştirmenin başka yolları da vardır.
-
-Seaborn grafikleri ile değişkenleri yan yana görselleştirebilirsiniz.
-
-1. Değerlerin dağılımını göstermek için bir 'swarm' grafiği deneyin:
-
- ```python
- palette = {
- 0: 'orange',
- 1: 'wheat'
- }
- sns.swarmplot(x="Color", y="ord__Item Size", data=encoded_pumpkins, palette=palette)
- ```
-
- 
-
-**Dikkat**: Yukarıdaki kod bir uyarı oluşturabilir, çünkü seaborn bu kadar çok veri noktasını bir swarm grafiğinde temsil edemez. Olası bir çözüm, işaretçi boyutunu küçültmektir, 'size' parametresini kullanarak. Ancak, bunun grafiğin okunabilirliğini etkilediğini unutmayın.
-
-> **🧮 Matematiği Göster**
->
-> Lojistik regresyon, [sigmoid fonksiyonları](https://wikipedia.org/wiki/Sigmoid_function) kullanarak 'maksimum olasılık' kavramına dayanır. Bir 'Sigmoid Fonksiyonu' bir grafikte 'S' şekline benzer. Bir değeri alır ve 0 ile 1 arasında bir yere haritalar. Eğrisi ayrıca 'lojistik eğri' olarak da adlandırılır. Formülü şu şekildedir:
->
-> 
->
-> burada sigmoid'in orta noktası x'in 0 noktasında bulunur, L eğrinin maksimum değeridir ve k eğrinin dikliğidir. Fonksiyonun sonucu 0.5'ten büyükse, ilgili etiket ikili seçimin '1' sınıfına atanır. Değilse, '0' olarak sınıflandırılır.
-
-## Modelinizi oluşturun
-
-Bu ikili sınıflandırmaları bulmak için bir model oluşturmak Scikit-learn'de şaşırtıcı derecede basittir.
-
-[](https://youtu.be/MmZS2otPrQ8 "Başlangıç seviyesinde ML - Verilerin sınıflandırması için Lojistik Regresyon")
-
-> 🎥 Doğrusal regresyon modeli oluşturma hakkında kısa bir genel bakış için yukarıdaki resme tıklayın
-
-1. Sınıflandırma modelinizde kullanmak istediğiniz değişkenleri seçin ve `train_test_split()` çağırarak eğitim ve test setlerini ayırın:
-
- ```python
- from sklearn.model_selection import train_test_split
-
- X = encoded_pumpkins[encoded_pumpkins.columns.difference(['Color'])]
- y = encoded_pumpkins['Color']
-
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
-
- ```
-
-2. Şimdi modelinizi, eğitim verilerinizle `fit()` çağırarak eğitebilir ve sonucunu yazdırabilirsiniz:
-
- ```python
- from sklearn.metrics import f1_score, classification_report
- from sklearn.linear_model import LogisticRegression
-
- model = LogisticRegression()
- model.fit(X_train, y_train)
- predictions = model.predict(X_test)
-
- print(classification_report(y_test, predictions))
- print('Predicted labels: ', predictions)
- print('F1-score: ', f1_score(y_test, predictions))
- ```
-
- Modelinizin skor tablosuna bir göz atın. Yaklaşık 1000 satır veriniz olduğunu düşünürsek fena değil:
-
- ```output
- precision recall f1-score support
-
- 0 0.94 0.98 0.96 166
- 1 0.85 0.67 0.75 33
-
- accuracy 0.92 199
- macro avg 0.89 0.82 0.85 199
- weighted avg 0.92 0.92 0.92 199
-
- Predicted labels: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
- 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0
- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0
- 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
- 0 0 0 1 0 0 0 0 0 0 0 0 1 1]
- F1-score: 0.7457627118644068
- ```
-
-## Bir karışıklık matrisi ile daha iyi anlama
-
-Yukarıda yazdırılan öğeleri kullanarak bir skor tablosu raporu [terimler](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.classification_report.html?highlight=classification_report#sklearn.metrics.classification_report) alabilirsiniz, ancak modelinizi daha kolay anlayabilirsiniz [karışıklık matrisi](https://scikit-learn.org/stable/modules/model_evaluation.html#confusion-matrix) kullanarak modelin performansını anlamamıza yardımcı olabilir.
-
-> 🎓 Bir '[karışıklık matrisi](https://wikipedia.org/wiki/Confusion_matrix)' (veya 'hata matrisi') modelinizin gerçek vs. yanlış pozitiflerini ve negatiflerini ifade eden bir tablodur, böylece tahminlerin doğruluğunu ölçer.
-
-1. Bir karışıklık metriği kullanmak için `confusion_matrix()` çağırın:
-
- ```python
- from sklearn.metrics import confusion_matrix
- confusion_matrix(y_test, predictions)
- ```
-
- Modelinizin karışıklık matrisine bir göz atın:
-
- ```output
- array([[162, 4],
- [ 11, 22]])
- ```
-
-Scikit-learn'de karışıklık matrisinin Satırları (eksen 0) gerçek etiketlerdir ve sütunlar (eksen 1) tahmin edilen etiketlerdir.
-
-| | 0 | 1 |
-| :---: | :---: | :---: |
-| 0 | TN | FP |
-| 1 | FN | TP |
-
-Burada ne oluyor? Diyelim ki modelimiz balkabaklarını iki ikili kategori arasında sınıflandırmakla görevlendirildi, kategori 'beyaz' ve kategori 'beyaz değil'.
-
-- Modeliniz bir balkabağını beyaz değil olarak tahmin ederse ve gerçekte kategori 'beyaz değil' ise buna doğru negatif denir, üst sol numara ile gösterilir.
-- Modeliniz bir balkabağını beyaz olarak tahmin ederse ve gerçekte kategori 'beyaz değil' ise buna yanlış negatif denir, alt sol numara ile gösterilir.
-- Modeliniz bir balkabağını beyaz değil olarak tahmin ederse ve gerçekte kategori 'beyaz' ise buna yanlış pozitif denir, üst sağ numara ile gösterilir.
-- Modeliniz bir balkabağını beyaz olarak tahmin ederse ve gerçekte kategori 'beyaz' ise buna doğru pozitif denir, alt sağ numara ile gösterilir.
-
-Tahmin edebileceğiniz gibi, daha fazla doğru pozitif ve doğru negatif ve daha az yanlış pozitif ve yanlış negatif olması tercih edilir, bu da modelin daha iyi performans gösterdiğini ima eder.
-
-Karışıklık matrisi hassasiyet ve hatırlama ile nasıl ilişkilidir? Yukarıda yazdırılan sınıflandırma raporu hassasiyet (0.85) ve hatırlama (0.67) gösterdi.
-
-Hassasiyet = tp / (tp + fp) = 22 / (22 + 4) = 0.8461538461538461
-
-Hatırlama = tp / (tp + fn) = 22 / (22 + 11) = 0.6666666666666666
-
-✅ S: Karışıklık matrisine göre model nasıl performans gösterdi? C: Fena değil; çok sayıda doğru negatif var ama aynı zamanda birkaç yanlış negatif de var.
-
-Karışıklık matrisinin TP/TN ve FP/FN eşlemesi ile daha önce gördüğümüz terimleri yeniden gözden geçirelim:
-
-🎓 Hassasiyet: TP/(TP + FP) Geri getirilen örnekler arasında ilgili örneklerin kesri (örneğin, hangi etiketler iyi etiketlenmişti)
-
-🎓 Hatırlama: TP/(TP + FN) İlgili örneklerin kesri, geri getirilen, iyi etiketlenmiş olsun ya da olmasın
-
-🎓 f1-skore: (2 * hassasiyet * hatırlama)/(hassasiyet + hatırlama) Hassasiyet ve hatırlamanın ağırlıklı ortalaması, en iyisi 1 ve en kötüsü 0
-
-🎓 Destek: Geri getirilen her etiketin oluşum sayısı
-
-🎓 Doğruluk: (TP + TN)/(TP + TN + FP + FN) Bir örnek için doğru tahmin edilen etiketlerin yüzdesi.
-
-🎓 Makro Ortalama: Her etiket için ağırlıksız ortalama metriklerin hesaplanması, etiket dengesizliğini dikkate almadan.
-
-🎓 Ağırlıklı Ortalama: Her etiket için ortalama metriklerin hesaplanması, desteklerine (her etiket için gerçek örneklerin sayısı) göre ağırlıklandırarak etiket dengesizliğini dikkate alarak.
-
-✅ Modelinizin yanlış negatif sayısını azaltmasını istiyorsanız hangi metriği izlemeniz gerektiğini düşünebilir misiniz?
-
-## Bu modelin ROC eğrisini görselleştirin
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belge, kendi dilinde yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan herhangi bir yanlış anlama veya yanlış yorumlamadan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/2-Regression/4-Logistic/assignment.md b/translations/tr/2-Regression/4-Logistic/assignment.md
deleted file mode 100644
index 71ec55a77..000000000
--- a/translations/tr/2-Regression/4-Logistic/assignment.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Bazı Regresyonları Tekrar Denemek
-
-## Talimatlar
-
-Ders sırasında balkabağı verilerinin bir alt kümesini kullandınız. Şimdi, orijinal verilere geri dönün ve tamamını, temizlenmiş ve standartlaştırılmış haliyle, kullanarak bir Lojistik Regresyon modeli oluşturmayı deneyin.
-
-## Değerlendirme Kriterleri
-
-| Kriterler | Mükemmel | Yeterli | Geliştirme Gerekiyor |
-| --------- | ---------------------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
-| | İyi açıklanmış ve iyi performans gösteren bir modelle bir defter sunulmuştur | Minimum performans gösteren bir modelle bir defter sunulmuştur | Düşük performans gösteren bir modelle veya hiç model sunulmamıştır |
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belgenin kendi dilindeki hali, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından doğabilecek herhangi bir yanlış anlama veya yanlış yorumlamadan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/2-Regression/4-Logistic/solution/Julia/README.md b/translations/tr/2-Regression/4-Logistic/solution/Julia/README.md
deleted file mode 100644
index 4deba144c..000000000
--- a/translations/tr/2-Regression/4-Logistic/solution/Julia/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Orijinal belgenin kendi dilindeki hali yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi tavsiye edilir. Bu çevirinin kullanımından kaynaklanan herhangi bir yanlış anlama veya yanlış yorumlamadan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/2-Regression/README.md b/translations/tr/2-Regression/README.md
deleted file mode 100644
index f88d8450f..000000000
--- a/translations/tr/2-Regression/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# Makine öğrenmesi için regresyon modelleri
-## Bölgesel konu: Kuzey Amerika'da balkabağı fiyatları için regresyon modelleri 🎃
-
-Kuzey Amerika'da balkabakları, Cadılar Bayramı için korkunç yüzler oymak amacıyla sıkça kullanılır. Bu büyüleyici sebzeler hakkında daha fazla bilgi edinelim!
-
-
-> Fotoğraf Beth Teutschmann tarafından Unsplash'ta
-
-## Öğrenecekleriniz
-
-[](https://youtu.be/5QnJtDad4iQ "Regresyon Tanıtım videosu - İzlemek için Tıklayın!")
-> 🎥 Bu ders için kısa bir tanıtım videosu izlemek için yukarıdaki resme tıklayın
-
-Bu bölümdeki dersler, makine öğrenmesi bağlamında regresyon türlerini ele alır. Regresyon modelleri, değişkenler arasındaki _ilişkiyi_ belirlemeye yardımcı olabilir. Bu tür bir model, uzunluk, sıcaklık veya yaş gibi değerleri tahmin edebilir, böylece veri noktalarını analiz ederken değişkenler arasındaki ilişkileri ortaya çıkarabilir.
-
-Bu ders serisinde, doğrusal ve lojistik regresyon arasındaki farkları ve ne zaman birini diğerine tercih etmeniz gerektiğini keşfedeceksiniz.
-
-[](https://youtu.be/XA3OaoW86R8 "Başlangıç seviyesindekiler için ML - Makine Öğrenmesi için Regresyon Modellerine Giriş")
-
-> 🎥 Regresyon modellerini tanıtan kısa bir video izlemek için yukarıdaki resme tıklayın.
-
-Bu ders grubunda, makine öğrenmesi görevlerine başlamak için gerekli ayarları yapacaksınız, bunlar arasında veri bilimciler için ortak bir ortam olan notebookları yönetmek için Visual Studio Code'u yapılandırmak da bulunur. Makine öğrenmesi için bir kütüphane olan Scikit-learn'ü keşfedeceksiniz ve bu bölümde Regresyon modellerine odaklanarak ilk modellerinizi oluşturacaksınız.
-
-> Regresyon modelleriyle çalışmayı öğrenmenize yardımcı olabilecek kullanışlı düşük kod araçlar vardır. Bu görev için [Azure ML'i deneyin](https://docs.microsoft.com/learn/modules/create-regression-model-azure-machine-learning-designer/?WT.mc_id=academic-77952-leestott)
-
-### Dersler
-
-1. [Ticaretin araçları](1-Tools/README.md)
-2. [Veri yönetimi](2-Data/README.md)
-3. [Doğrusal ve polinom regresyon](3-Linear/README.md)
-4. [Lojistik regresyon](4-Logistic/README.md)
-
----
-### Katkıda Bulunanlar
-
-"Regresyon ile ML" [Jen Looper](https://twitter.com/jenlooper) tarafından ♥️ ile yazılmıştır
-
-♥️ Quiz katkıcıları arasında: [Muhammad Sakib Khan Inan](https://twitter.com/Sakibinan) ve [Ornella Altunyan](https://twitter.com/ornelladotcom) bulunur
-
-Balkabağı veri seti [bu Kaggle projesi](https://www.kaggle.com/usda/a-year-of-pumpkin-prices) tarafından önerilmiştir ve veriler Amerika Birleşik Devletleri Tarım Bakanlığı tarafından dağıtılan [Specialty Crops Terminal Markets Standard Reports](https://www.marketnews.usda.gov/mnp/fv-report-config-step1?type=termPrice)'tan alınmıştır. Dağılımı normalize etmek için çeşide dayalı olarak renkle ilgili bazı noktalar ekledik. Bu veriler kamu malıdır.
-
-**Feragatname**:
-Bu belge, makine tabanlı yapay zeka çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba sarf etsek de, otomatik çevirilerin hata veya yanlışlıklar içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından doğabilecek herhangi bir yanlış anlama veya yanlış yorumlamadan sorumlu değiliz.
\ No newline at end of file
diff --git a/translations/tr/3-Web-App/1-Web-App/README.md b/translations/tr/3-Web-App/1-Web-App/README.md
deleted file mode 100644
index c129e60a2..000000000
--- a/translations/tr/3-Web-App/1-Web-App/README.md
+++ /dev/null
@@ -1,348 +0,0 @@
-# Bir ML Modelini Kullanmak için Web Uygulaması Oluşturun
-
-Bu derste, _son yüzyıldaki UFO gözlemleri_ gibi dünyadışı bir veri seti üzerinde bir ML modeli eğiteceksiniz. Bu veriler NUFORC'un veritabanından alınmıştır.
-
-Öğreneceğiniz konular:
-
-- Eğitilmiş bir modeli nasıl 'pickle' yapacağınız
-- Bu modeli bir Flask uygulamasında nasıl kullanacağınız
-
-Verileri temizlemek ve modelimizi eğitmek için defterleri kullanmaya devam edeceğiz, ancak süreci bir adım öteye taşıyarak, modelinizi bir web uygulamasında kullanmayı keşfedebilirsiniz.
-
-Bunu yapmak için Flask kullanarak bir web uygulaması oluşturmanız gerekecek.
-
-## [Ders Öncesi Testi](https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/17/)
-
-## Bir Uygulama Oluşturmak
-
-Makine öğrenimi modellerini tüketen web uygulamaları oluşturmanın birkaç yolu vardır. Web mimariniz, modelinizin nasıl eğitildiğini etkileyebilir. Bir işletmede çalıştığınızı ve veri bilimi grubunun bir model eğittiğini ve bu modeli bir uygulamada kullanmanızı istediğini hayal edin.
-
-### Dikkat Edilmesi Gerekenler
-
-Sormanız gereken birçok soru var:
-
-- **Bu bir web uygulaması mı yoksa mobil uygulama mı?** Bir mobil uygulama oluşturuyorsanız veya modeli bir IoT bağlamında kullanmanız gerekiyorsa, [TensorFlow Lite](https://www.tensorflow.org/lite/) kullanarak modeli bir Android veya iOS uygulamasında kullanabilirsiniz.
-- **Model nerede bulunacak?** Bulutta mı yoksa yerel olarak mı?
-- **Çevrimdışı destek.** Uygulamanın çevrimdışı çalışması gerekiyor mu?
-- **Modeli eğitmek için hangi teknoloji kullanıldı?** Seçilen teknoloji, kullanmanız gereken araçları etkileyebilir.
- - **TensorFlow Kullanmak.** Örneğin, TensorFlow kullanarak bir model eğitiyorsanız, bu ekosistem, [TensorFlow.js](https://www.tensorflow.org/js/) kullanarak bir web uygulamasında kullanmak üzere bir TensorFlow modelini dönüştürme yeteneği sağlar.
- - **PyTorch Kullanmak.** [PyTorch](https://pytorch.org/) gibi bir kütüphane kullanarak bir model oluşturuyorsanız, modeli JavaScript web uygulamalarında kullanmak üzere [Onnx Runtime](https://www.onnxruntime.ai/) kullanarak [ONNX](https://onnx.ai/) (Open Neural Network Exchange) formatında dışa aktarma seçeneğiniz vardır. Bu seçenek, gelecekteki bir derste Scikit-learn ile eğitilmiş bir model için incelenecektir.
- - **Lobe.ai veya Azure Custom Vision Kullanmak.** [Lobe.ai](https://lobe.ai/) veya [Azure Custom Vision](https://azure.microsoft.com/services/cognitive-services/custom-vision-service/?WT.mc_id=academic-77952-leestott) gibi bir ML SaaS (Hizmet Olarak Yazılım) sistemi kullanarak bir model eğitiyorsanız, bu tür yazılımlar, modeli birçok platform için dışa aktarma yolları sağlar, bu da çevrimiçi uygulamanız tarafından bulutta sorgulanacak özel bir API oluşturmayı içerir.
-
-Ayrıca, modelin kendisini bir web tarayıcısında eğitebilecek bir Flask web uygulaması oluşturma fırsatınız da var. Bu, bir JavaScript bağlamında TensorFlow.js kullanılarak da yapılabilir.
-
-Bizim amacımız için, Python tabanlı defterlerle çalıştığımızdan, eğitilmiş bir modeli bu tür bir defterden Python ile oluşturulmuş bir web uygulaması tarafından okunabilir bir formata nasıl dışa aktaracağınızı inceleyelim.
-
-## Araç
-
-Bu görev için iki araca ihtiyacınız var: Flask ve Pickle, her ikisi de Python üzerinde çalışır.
-
-✅ [Flask](https://palletsprojects.com/p/flask/) nedir? Yaratıcıları tarafından bir 'mikro-çerçeve' olarak tanımlanan Flask, Python kullanarak web çerçevelerinin temel özelliklerini ve web sayfaları oluşturmak için bir şablon motoru sağlar. Flask ile inşa etmeyi pratik yapmak için [bu Öğrenme modülüne](https://docs.microsoft.com/learn/modules/python-flask-build-ai-web-app?WT.mc_id=academic-77952-leestott) göz atın.
-
-✅ [Pickle](https://docs.python.org/3/library/pickle.html) nedir? Pickle 🥒, bir Python nesne yapısını serileştiren ve serileştiren bir Python modülüdür. Bir modeli 'pickle' yaptığınızda, yapısını webde kullanmak üzere serileştirir veya düzleştirirsiniz. Dikkatli olun: pickle doğası gereği güvenli değildir, bu yüzden bir dosyayı 'un-pickle' yapmanız istendiğinde dikkatli olun. Bir pickled dosyası `.pkl` uzantısına sahiptir.
-
-## Alıştırma - verilerinizi temizleyin
-
-Bu derste, [NUFORC](https://nuforc.org) (Ulusal UFO Raporlama Merkezi) tarafından toplanan 80.000 UFO gözleminden veri kullanacaksınız. Bu veriler, UFO gözlemlerine dair ilginç açıklamalar içerir, örneğin:
-
-- **Uzun örnek açıklama.** "Bir adam geceleyin çimenli bir alana parlayan bir ışık huzmesinden çıkar ve Texas Instruments otoparkına doğru koşar".
-- **Kısa örnek açıklama.** "ışıklar bizi kovaladı".
-
-[ufos.csv](../../../../3-Web-App/1-Web-App/data/ufos.csv) elektronik tablosu, gözlemin `city`, `state` ve `country` nerede gerçekleştiği, nesnenin `shape` ve `latitude` ve `longitude` ile ilgili sütunları içerir.
-
-Bu derste yer alan boş [notebook](../../../../3-Web-App/1-Web-App/notebook.ipynb) dosyasında:
-
-1. Önceki derslerde yaptığınız gibi `pandas`, `matplotlib` ve `numpy` içe aktarın ve ufos elektronik tablosunu içe aktarın. Örnek bir veri setine göz atabilirsiniz:
-
- ```python
- import pandas as pd
- import numpy as np
-
- ufos = pd.read_csv('./data/ufos.csv')
- ufos.head()
- ```
-
-1. Ufolar verilerini yeni başlıklarla küçük bir dataframe'e dönüştürün. `Country` alanındaki benzersiz değerleri kontrol edin.
-
- ```python
- ufos = pd.DataFrame({'Seconds': ufos['duration (seconds)'], 'Country': ufos['country'],'Latitude': ufos['latitude'],'Longitude': ufos['longitude']})
-
- ufos.Country.unique()
- ```
-
-1. Şimdi, ele almamız gereken veri miktarını azaltmak için herhangi bir boş değeri atabilir ve sadece 1-60 saniye arasındaki gözlemleri içe aktarabilirsiniz:
-
- ```python
- ufos.dropna(inplace=True)
-
- ufos = ufos[(ufos['Seconds'] >= 1) & (ufos['Seconds'] <= 60)]
-
- ufos.info()
- ```
-
-1. Metin değerlerini ülkelere dönüştürmek için Scikit-learn'ün `LabelEncoder` kütüphanesini içe aktarın:
-
- ✅ LabelEncoder verileri alfabetik olarak kodlar
-
- ```python
- from sklearn.preprocessing import LabelEncoder
-
- ufos['Country'] = LabelEncoder().fit_transform(ufos['Country'])
-
- ufos.head()
- ```
-
- Verileriniz şu şekilde görünmelidir:
-
- ```output
- Seconds Country Latitude Longitude
- 2 20.0 3 53.200000 -2.916667
- 3 20.0 4 28.978333 -96.645833
- 14 30.0 4 35.823889 -80.253611
- 23 60.0 4 45.582778 -122.352222
- 24 3.0 3 51.783333 -0.783333
- ```
-
-## Alıştırma - modelinizi oluşturun
-
-Şimdi verileri eğitim ve test gruplarına ayırarak bir model eğitmeye hazır olabilirsiniz.
-
-1. Eğitmek istediğiniz üç özelliği X vektörü olarak seçin ve y vektörü `Country`. You want to be able to input `Seconds`, `Latitude` and `Longitude` olacak ve bir ülke kimliği döndürecek.
-
- ```python
- from sklearn.model_selection import train_test_split
-
- Selected_features = ['Seconds','Latitude','Longitude']
-
- X = ufos[Selected_features]
- y = ufos['Country']
-
- X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
- ```
-
-1. Modelinizi lojistik regresyon kullanarak eğitin:
-
- ```python
- from sklearn.metrics import accuracy_score, classification_report
- from sklearn.linear_model import LogisticRegression
- model = LogisticRegression()
- model.fit(X_train, y_train)
- predictions = model.predict(X_test)
-
- print(classification_report(y_test, predictions))
- print('Predicted labels: ', predictions)
- print('Accuracy: ', accuracy_score(y_test, predictions))
- ```
-
-Doğruluk fena değil **(yaklaşık %95)**, şaşırtıcı değil, çünkü `Country` and `Latitude/Longitude` correlate.
-
-The model you created isn't very revolutionary as you should be able to infer a `Country` from its `Latitude` and `Longitude`, ancak ham verilerden temizlediğiniz, dışa aktardığınız ve ardından bu modeli bir web uygulamasında kullandığınız bir modeli eğitmeye çalışmak iyi bir egzersizdir.
-
-## Alıştırma - modelinizi 'pickle' yapın
-
-Şimdi, modelinizi _pickle_ yapma zamanı! Bunu birkaç satır kodla yapabilirsiniz. Bir kez _pickled_ olduktan sonra, pickled modelinizi yükleyin ve saniye, enlem ve boylam değerlerini içeren bir örnek veri dizisine karşı test edin,
-
-```python
-import pickle
-model_filename = 'ufo-model.pkl'
-pickle.dump(model, open(model_filename,'wb'))
-
-model = pickle.load(open('ufo-model.pkl','rb'))
-print(model.predict([[50,44,-12]]))
-```
-
-Model **'3'** değerini döndürüyor, bu da Birleşik Krallık için ülke kodu. Harika! 👽
-
-## Alıştırma - bir Flask uygulaması oluşturun
-
-Şimdi modelinizi çağıracak ve benzer sonuçlar döndürecek, ancak daha görsel olarak hoş bir şekilde, bir Flask uygulaması oluşturabilirsiniz.
-
-1. _notebook.ipynb_ dosyasının yanında **web-app** adlı bir klasör oluşturun ve _ufo-model.pkl_ dosyanızın bulunduğu yer.
-
-1. Bu klasörde üç klasör daha oluşturun: **static**, içinde bir **css** klasörü bulunan ve **templates**. Şimdi aşağıdaki dosya ve dizinlere sahip olmalısınız:
-
- ```output
- web-app/
- static/
- css/
- templates/
- notebook.ipynb
- ufo-model.pkl
- ```
-
- ✅ Bitmiş uygulamanın bir görünümünü görmek için çözüm klasörüne başvurun
-
-1. _web-app_ klasöründe oluşturulacak ilk dosya **requirements.txt** dosyasıdır. Bir JavaScript uygulamasındaki _package.json_ gibi, bu dosya uygulama tarafından gerekli bağımlılıkları listeler. **requirements.txt** dosyasına şu satırları ekleyin:
-
- ```text
- scikit-learn
- pandas
- numpy
- flask
- ```
-
-1. Şimdi, _web-app_ klasörüne giderek bu dosyayı çalıştırın:
-
- ```bash
- cd web-app
- ```
-
-1. Terminalinizde `pip install` yazarak _requirements.txt_ dosyasında listelenen kütüphaneleri yükleyin:
-
- ```bash
- pip install -r requirements.txt
- ```
-
-1. Şimdi, uygulamayı bitirmek için üç dosya daha oluşturmaya hazırsınız:
-
- 1. Kök dizinde **app.py** oluşturun.
- 2. _templates_ dizininde **index.html** oluşturun.
- 3. _static/css_ dizininde **styles.css** oluşturun.
-
-1. _styles.css_ dosyasını birkaç stil ile oluşturun:
-
- ```css
- body {
- width: 100%;
- height: 100%;
- font-family: 'Helvetica';
- background: black;
- color: #fff;
- text-align: center;
- letter-spacing: 1.4px;
- font-size: 30px;
- }
-
- input {
- min-width: 150px;
- }
-
- .grid {
- width: 300px;
- border: 1px solid #2d2d2d;
- display: grid;
- justify-content: center;
- margin: 20px auto;
- }
-
- .box {
- color: #fff;
- background: #2d2d2d;
- padding: 12px;
- display: inline-block;
- }
- ```
-
-1. Ardından, _index.html_ dosyasını oluşturun:
-
- ```html
-
-
-
-
- According to the number of seconds, latitude and longitude, which country is likely to have reported seeing a UFO?
- - - -{{ prediction_text }}
- -