Merge pull request 'zavrazhnova_svetlana_lab3 is ready' (#16) from zavrazhnova_svetlana_lab_3 into main
Reviewed-on: http://student.git.athene.tech/Alexey/IIS_2023_1/pulls/16
This commit is contained in:
commit
5992dba12c
135
.idea/workspace.xml
Normal file
135
.idea/workspace.xml
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="0ceb130e-88da-4a20-aad6-17f5ab4226ac" name="Changes" comment="" />
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="FileTemplateManagerImpl">
|
||||||
|
<option name="RECENT_TEMPLATES">
|
||||||
|
<list>
|
||||||
|
<option value="Python Script" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="Git.Settings">
|
||||||
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
|
</component>
|
||||||
|
<component name="MarkdownSettingsMigration">
|
||||||
|
<option name="stateVersion" value="1" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectId" id="2VlZqWiOX68aCf0o2y0AtYJWURS" />
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
|
"keyToString": {
|
||||||
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"last_opened_file_path": "D:/ulstukek/Course4/IIS/labs"
|
||||||
|
}
|
||||||
|
}]]></component>
|
||||||
|
<component name="RecentsManager">
|
||||||
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="D:\ulstukek\Course4\IIS\IISLabs\IIS_2023_1\zavrazhnova_svetlana_lab_3" />
|
||||||
|
<recent name="D:\ulstukek\Course4\IIS\IISLabs\IIS_2023_1\zavrazhnova_svetlana_lab_1" />
|
||||||
|
</key>
|
||||||
|
</component>
|
||||||
|
<component name="RunManager" selected="Python.zavrazhnova_svetlana_lab3_2">
|
||||||
|
<configuration name="zavrazhnova_svetlana_lab3_2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
|
<module name="IIS_2023_1" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/zavrazhnova_svetlana_lab_3" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/zavrazhnova_svetlana_lab_3/zavrazhnova_svetlana_lab3_2.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<option name="MODULE_MODE" value="false" />
|
||||||
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
|
<option name="INPUT_FILE" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="zavrazhnova_svetlana_lab_2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
|
<module name="IIS_2023_1" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/zavrazhnova_svetlana_lab_2" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/zavrazhnova_svetlana_lab_2/zavrazhnova_svetlana_lab_2.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<option name="MODULE_MODE" value="false" />
|
||||||
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
|
<option name="INPUT_FILE" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<configuration name="zavrazhnova_svetlana_lab_3_1" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
|
<module name="IIS_2023_1" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/zavrazhnova_svetlana_lab_3" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/zavrazhnova_svetlana_lab_3/zavrazhnova_svetlana_lab_3_1.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<option name="MODULE_MODE" value="false" />
|
||||||
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
|
<option name="INPUT_FILE" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
|
<recent_temporary>
|
||||||
|
<list>
|
||||||
|
<item itemvalue="Python.zavrazhnova_svetlana_lab3_2" />
|
||||||
|
<item itemvalue="Python.zavrazhnova_svetlana_lab_3_1" />
|
||||||
|
<item itemvalue="Python.zavrazhnova_svetlana_lab_2" />
|
||||||
|
</list>
|
||||||
|
</recent_temporary>
|
||||||
|
</component>
|
||||||
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="0ceb130e-88da-4a20-aad6-17f5ab4226ac" name="Changes" comment="" />
|
||||||
|
<created>1695412818437</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1695412818437</updated>
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
|
<option name="TAB_STATES">
|
||||||
|
<map>
|
||||||
|
<entry key="MAIN">
|
||||||
|
<value>
|
||||||
|
<State />
|
||||||
|
</value>
|
||||||
|
</entry>
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
58
zavrazhnova_svetlana_lab_3/README.md
Normal file
58
zavrazhnova_svetlana_lab_3/README.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Задание
|
||||||
|
- Часть 1. По данным о пассажирах Титаника решите задачу классификации (с помощью дерева решений), в которой по различным характеристикам пассажиров требуется найти у выживших пассажиров два наиболее важных признака из трех рассматриваемых (по варианту).
|
||||||
|
Вариант: Pclass, Sex, Embarked
|
||||||
|
- Часть 2. Решите с помощью библиотечной реализации дерева решений задачу: Запрограммировать дерево решений как минимум на 99% ваших данных для задачи: Зависимость Мошенничества (fraud_label) от возраста (Age) и пола (gender) . Проверьте работу модели на оставшемся проценте, сделайте вывод.
|
||||||
|
|
||||||
|
|
||||||
|
### Как запустить лабораторную работу:
|
||||||
|
1 часть ЛР запускается в файле `zavrazhnova_svetlana_lab_3_1.py` через Run, в консоли должны появится вычисления.
|
||||||
|
|
||||||
|
2 часть ЛР запускается в файле `zavrazhnova_svetlana_lab_3_2.py` через Run, в консоли должны появится вычисления.
|
||||||
|
|
||||||
|
### Технологии
|
||||||
|
В библиотеке scikit-learn решающие деревья реализованы
|
||||||
|
в классах sklearn.tree.DecisionTreeСlassifier (для классификации)
|
||||||
|
и sklearn.tree.DecisionTreeRegressor (для регрессии).
|
||||||
|
|
||||||
|
### Что делает лабораторная:
|
||||||
|
Часть 1:
|
||||||
|
- Загружается выборка из файла titanic.csv с помощью пакета
|
||||||
|
Pandas
|
||||||
|
- Отбирается в выборку 3 признака: класс пассажира
|
||||||
|
(Pclass), его пол (Sex) и Embarked.
|
||||||
|
- Определяется целевая переменная (2urvived)
|
||||||
|
- Обучается решающее дерево с параметром random_state=241
|
||||||
|
и остальными параметрами по умолчанию (речь идет
|
||||||
|
о параметрах конструктора DecisionTreeСlassifier)
|
||||||
|
- Выводятся важности признаков
|
||||||
|
|
||||||
|
Часть 2:
|
||||||
|
- Загружается выборка из файла fraud_dataset.csv с помощью пакета
|
||||||
|
Pandas
|
||||||
|
- Отбирается в выборку 2 признака: возраст жертвы мошенничества
|
||||||
|
(age) и его пол (gender).
|
||||||
|
- Определяется целевая переменная (fraud_label)
|
||||||
|
- Резделяются данные на обучающую и тестовую
|
||||||
|
- Обучается решающее дерево классификацией DecisionTreeСlassifier и регрессией DecisionTreeRegressor
|
||||||
|
- Выводятся важности признаков, предсказание значений на тестовой выборке и оценка производительности модели
|
||||||
|
|
||||||
|
### Пример выходных значений:
|
||||||
|
Часть 1: Выводится список из первых 5 записей в таблице с нужными столбцами и важности признаков по каждому классу
|
||||||
|
|
||||||
|
![res_lab3_1](res_lab3_1.png)
|
||||||
|
|
||||||
|
Часть 2:
|
||||||
|
|
||||||
|
![list_lab3_2](list_lab3_2.png)
|
||||||
|
![res_lab3_2](res_lab3_2.png)
|
||||||
|
|
||||||
|
### Вывод по 2 части ЛР:
|
||||||
|
Исходя из этих результатов, можно сделать вывод, что для задачи предсказания мошенничества (fraud_label) на основе возраста (age) и пола (gender) лучше подходит модель дерева классификации. Она показала 100% точность на тестовой выборке, а также позволяет определить важности признаков.
|
||||||
|
|
||||||
|
С другой стороны, дерево регрессии показало неопределенный R^2 score и имеет значительно большую среднеквадратичную ошибку, что говорит о том, что эта модель не подходит для данной задачи.
|
||||||
|
|
||||||
|
Результат regression score = nan происходит из-за того, что при test_size=0.01 выделенная тестовая выборка содержит меньше двух образцов. Это приводит к неопределенности значения коэффициента детерминации R^2, который вычисляется в случае регрессии. Таким образом, значение score regression становится "nan".
|
||||||
|
|
||||||
|
Однако, в случае классификации, где используется DecisionTreeClassifier, в test_size=0.01 попадает достаточное количество образцов для оценки производительности модели. Поэтому значение score classifier равно 1.0.
|
||||||
|
|
||||||
|
`Таким образом`, для задачи классификации мошенничества на основе возраста и пола более предпочтительна модель дерева классификации.
|
87
zavrazhnova_svetlana_lab_3/fraud_dataset.csv
Normal file
87
zavrazhnova_svetlana_lab_3/fraud_dataset.csv
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
transaction_id,transaction_amount,location,merchant,age,gender,fraud_label
|
||||||
|
1,1000.00,New York,ABC Corp,35,M,0
|
||||||
|
2,500.00,Chicago,XYZ Inc,45,F,0
|
||||||
|
3,2000.00,Los Angeles,ABC Corp,28,M,1
|
||||||
|
4,1500.00,San Francisco,XYZ Inc,30,F,0
|
||||||
|
5,800.00,Chicago,ABC Corp,50,F,0
|
||||||
|
6,3000.00,New York,XYZ Inc,42,M,1
|
||||||
|
7,1200.00,San Francisco,ABC Corp,55,F,0
|
||||||
|
8,900.00,Los Angeles,XYZ Inc,37,M,0
|
||||||
|
9,2500.00,Chicago,ABC Corp,33,F,1
|
||||||
|
10,1800.00,New York,XYZ Inc,48,M,0
|
||||||
|
11,750.00,San Francisco,ABC Corp,29,F,0
|
||||||
|
12,2200.00,Chicago,XYZ Inc,51,M,0
|
||||||
|
13,900.00,New York,ABC Corp,40,F,0
|
||||||
|
14,1600.00,Los Angeles,XYZ Inc,26,M,0
|
||||||
|
15,3000.00,San Francisco,ABC Corp,45,F,1
|
||||||
|
16,1200.00,Chicago,XYZ Inc,34,M,0
|
||||||
|
17,800.00,New York,ABC Corp,47,F,0
|
||||||
|
18,1900.00,Los Angeles,XYZ Inc,32,M,0
|
||||||
|
19,1100.00,San Francisco,ABC Corp,52,F,0
|
||||||
|
20,4000.00,Chicago,XYZ Inc,38,M,1
|
||||||
|
21,900.00,New York,ABC Corp,31,F,0
|
||||||
|
22,1700.00,Los Angeles,XYZ Inc,49,M,0
|
||||||
|
23,1000.00,San Francisco,ABC Corp,36,F,0
|
||||||
|
24,2300.00,Chicago,XYZ Inc,27,M,1
|
||||||
|
25,950.00,New York,ABC Corp,41,F,0
|
||||||
|
26,1400.00,Los Angeles,XYZ Inc,54,M,0
|
||||||
|
27,2800.00,San Francisco,ABC Corp,39,F,1
|
||||||
|
28,1100.00,Chicago,XYZ Inc,44,M,0
|
||||||
|
29,750.00,New York,ABC Corp,30,F,0
|
||||||
|
30,2000.00,Los Angeles,XYZ Inc,46,M,0
|
||||||
|
31,1250.00,San Francisco,ABC Corp,35,F,0
|
||||||
|
32,2100.00,Chicago,XYZ Inc,43,M,0
|
||||||
|
33,950.00,New York,ABC Corp,56,F,0
|
||||||
|
34,1800.00,Los Angeles,XYZ Inc,29,M,0
|
||||||
|
35,3200.00,San Francisco,ABC Corp,48,F,1
|
||||||
|
36,1300.00,Chicago,XYZ Inc,37,M,0
|
||||||
|
37,900.00,New York,ABC Corp,51,F,0
|
||||||
|
38,2000.00,Los Angeles,XYZ Inc,33,M,0
|
||||||
|
39,1050.00,San Francisco,ABC Corp,42,F,0
|
||||||
|
40,2400.00,Chicago,XYZ Inc,26,M,0
|
||||||
|
41,800.00,New York,ABC Corp,45,F,0
|
||||||
|
42,1500.00,Los Angeles,XYZ Inc,31,M,0
|
||||||
|
43,2800.00,San Francisco,ABC Corp,50,F,1
|
||||||
|
44,1350.00,Chicago,XYZ Inc,28,M,0
|
||||||
|
45,920.00,New York,ABC Corp,47,F,0
|
||||||
|
46,2000.00,Los Angeles,XYZ Inc,36,M,0
|
||||||
|
47,1125.00,San Francisco,ABC Corp,52,F,0
|
||||||
|
48,1900.00,Chicago,XYZ Inc,38,M,1
|
||||||
|
49,850.00,New York,ABC Corp,32,F,0
|
||||||
|
50,1750.00,Los Angeles,XYZ Inc,49,M,0
|
||||||
|
51,950.00,San Francisco,ABC Corp,27,F,0
|
||||||
|
52,2300.00,Chicago,XYZ Inc,41,M,0
|
||||||
|
53,850.00,New York,ABC Corp,54,F,0
|
||||||
|
54,1600.00,Los Angeles,XYZ Inc,39,M,0
|
||||||
|
55,3000.00,San Francisco,ABC Corp,46,F,1
|
||||||
|
56,1250.00,Chicago,XYZ Inc,35,M,0
|
||||||
|
57,800.00,New York,ABC Corp,56,F,0
|
||||||
|
58,2200.00,Los Angeles,XYZ Inc,29,M,0
|
||||||
|
59,1050.00,San Francisco,ABC Corp,48,F,0
|
||||||
|
60,4000.00,Chicago,XYZ Inc,37,M,1
|
||||||
|
61,950.00,New York,ABC Corp,30,F,0
|
||||||
|
62,1700.00,Los Angeles,XYZ Inc,49,M,0
|
||||||
|
63,1000.00,San Francisco,ABC Corp,36,F,0
|
||||||
|
64,2800.00,Chicago,XYZ Inc,27,M,1
|
||||||
|
65,900.00,New York,ABC Corp,41,F,0
|
||||||
|
66,1400.00,Los Angeles,XYZ Inc,54,M,0
|
||||||
|
67,3200.00,San Francisco,ABC Corp,39,F,1
|
||||||
|
68,1100.00,Chicago,XYZ Inc,44,M,0
|
||||||
|
69,750.00,New York,ABC Corp,30,F,0
|
||||||
|
70,2000.00,Los Angeles,XYZ Inc,46,M,0
|
||||||
|
71,1250.00,San Francisco,ABC Corp,35,F,0
|
||||||
|
72,2100.00,Chicago,XYZ Inc,43,M,0
|
||||||
|
73,950.00,New York,ABC Corp,56,F,0
|
||||||
|
74,1800.00,Los Angeles,XYZ Inc,29,M,0
|
||||||
|
75,3200.00,San Francisco,ABC Corp,48,F,1
|
||||||
|
76,1300.00,Chicago,XYZ Inc,37,M,0
|
||||||
|
77,900.00,New York,ABC Corp,51,F,0
|
||||||
|
78,2000.00,Los Angeles,XYZ Inc,33,M,0
|
||||||
|
79,1050.00,San Francisco,ABC Corp,42,F,0
|
||||||
|
80,2400.00,Chicago,XYZ Inc,26,M,0
|
||||||
|
81,800.00,New York,ABC Corp,45,F,0
|
||||||
|
82,1500.00,Los Angeles,XYZ Inc,31,M,0
|
||||||
|
83,2800.00,San Francisco,ABC Corp,50,F,1
|
||||||
|
84,1350.00,Chicago,XYZ Inc,28,M,0
|
||||||
|
85,920.00,New York,ABC Corp,47,F,0
|
||||||
|
86,2000.00,Los Angeles,XYZ Inc,36,M,0
|
|
BIN
zavrazhnova_svetlana_lab_3/list_lab3_2.png
Normal file
BIN
zavrazhnova_svetlana_lab_3/list_lab3_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.0 KiB |
BIN
zavrazhnova_svetlana_lab_3/res_lab3_1.png
Normal file
BIN
zavrazhnova_svetlana_lab_3/res_lab3_1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
BIN
zavrazhnova_svetlana_lab_3/res_lab3_2.png
Normal file
BIN
zavrazhnova_svetlana_lab_3/res_lab3_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
1310
zavrazhnova_svetlana_lab_3/titanic.csv
Normal file
1310
zavrazhnova_svetlana_lab_3/titanic.csv
Normal file
File diff suppressed because it is too large
Load Diff
49
zavrazhnova_svetlana_lab_3/zavrazhnova_svetlana_lab3_2.py
Normal file
49
zavrazhnova_svetlana_lab_3/zavrazhnova_svetlana_lab3_2.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
import pandas as pd
|
||||||
|
from sklearn.model_selection import train_test_split
|
||||||
|
from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier
|
||||||
|
from sklearn.metrics import mean_squared_error
|
||||||
|
from sklearn.metrics import accuracy_score
|
||||||
|
|
||||||
|
# Загрузка данных из csv-файла
|
||||||
|
data = pd.read_csv('fraud_dataset.csv', index_col='transaction_id')
|
||||||
|
|
||||||
|
# Приведение пола к числовому виду
|
||||||
|
data['gender'] = data['gender'].map({'M': 0, 'F': 1})
|
||||||
|
|
||||||
|
# Разделение данных на признаки (X) и целевую переменную (y)
|
||||||
|
X = data[['age', 'gender']]
|
||||||
|
#респечатка первых 5 строк данных
|
||||||
|
print (X.head())
|
||||||
|
y = data['fraud_label']
|
||||||
|
|
||||||
|
# Разделение данных на обучающую и тестовую выборки
|
||||||
|
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.01, random_state=42)
|
||||||
|
|
||||||
|
#Решение с помощью дерева регрессии
|
||||||
|
regression_tree = DecisionTreeRegressor()
|
||||||
|
regression_tree.fit(X_train, y_train)
|
||||||
|
test_score_reg = regression_tree.score(X_test, y_test)
|
||||||
|
# Получение важности признаков
|
||||||
|
feature_importances_reg = regression_tree.feature_importances_
|
||||||
|
# Предсказание значений на тестовой выборке regression
|
||||||
|
y_pred_reg = regression_tree.predict(X_test)
|
||||||
|
# Оценка производительности модели regression
|
||||||
|
mse = mean_squared_error(y_test, y_pred_reg)
|
||||||
|
|
||||||
|
#Решение с помощью дерева классификации
|
||||||
|
classifier_tree = DecisionTreeClassifier()
|
||||||
|
classifier_tree.fit(X_train, y_train)
|
||||||
|
test_score_class = classifier_tree.score(X_test, y_test)
|
||||||
|
feature_importances_class = classifier_tree.feature_importances_
|
||||||
|
y_pred_class = classifier_tree.predict(X_test)
|
||||||
|
accuracy = accuracy_score(y_test, y_pred_class)
|
||||||
|
|
||||||
|
print("Решением с помощью дерева регрессии:")
|
||||||
|
print("score regression", test_score_reg)
|
||||||
|
print("feature_importances_reg", feature_importances_reg)
|
||||||
|
print("Mean Squared Error regression: {:.2f}".format(mse))
|
||||||
|
print("")
|
||||||
|
print("Решением с помощью дерева классификации:")
|
||||||
|
print("score classifier", test_score_class)
|
||||||
|
print("feature_importances_class", feature_importances_class)
|
||||||
|
print("Accuracy classifier: {:.2f}%".format(accuracy * 100))
|
21
zavrazhnova_svetlana_lab_3/zavrazhnova_svetlana_lab_3_1.py
Normal file
21
zavrazhnova_svetlana_lab_3/zavrazhnova_svetlana_lab_3_1.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import pandas
|
||||||
|
from sklearn.tree import DecisionTreeClassifier
|
||||||
|
import numpy as np
|
||||||
|
data = pandas.read_csv('titanic.csv', index_col='Passengerid')
|
||||||
|
|
||||||
|
#выгрузка непустых данных
|
||||||
|
data=data.loc[(np.isnan(data['Pclass'])==False) & (np.isnan(data['Sex'])==False)
|
||||||
|
&(np.isnan(data['Embarked'])==False) &
|
||||||
|
(np.isnan(data['2urvived'])==False)]
|
||||||
|
#отбор нужных столбцов
|
||||||
|
corr = data[['Pclass', 'Sex', 'Embarked']]
|
||||||
|
#респечатка первых 5 строк данных
|
||||||
|
print (corr.head())
|
||||||
|
#определение целевой переменной
|
||||||
|
y = data['2urvived']
|
||||||
|
#создание и обучение дерева решений
|
||||||
|
clf = DecisionTreeClassifier(random_state=241)
|
||||||
|
clf.fit(corr, y)
|
||||||
|
#получение и распечатка важностей признаков
|
||||||
|
importances=clf.feature_importances_
|
||||||
|
print (importances)
|
Loading…
Reference in New Issue
Block a user