Сейчас Python является одним из наиболее распространенных языков программирования. Одним из его преимуществ является большое количество пакетов, решающих самые разные задачи. В нашем курсе мы рекомендуем использовать библиотеки Pandas, NumPy и SciPy, которые существенно упрощают чтение, хранение и обработку данных. В дальнейших работах вы также познакомитесь с пакетом Scikit-Learn, в котором реализованы многие алгоритмы машинного обучения.
- Какое количество мужчин и женщин ехало на корабле? В качестве ответа приведите два числа через пробел.
- Какой части пассажиров удалось выжить? Посчитайте долю выживших пассажиров. Ответ приведите в процентах (число в интервале от 0 до 100, знак процента не нужен), округлив до двух знаков.
- Какую долю пассажиры первого класса составляли среди всех пассажиров? Ответ приведите в процентах (число в интервале от 0 до 100, знак процента не нужен), округлив до двух знаков.
- Какого возраста были пассажиры? Посчитайте среднее и медиану возраста пассажиров. В качестве ответа приведите два числа через пробел.
- Коррелируют ли число братьев/сестер/супругов с числом родителей/детей? Посчитайте корреляцию Пирсона между признаками SibSp и Parch.
import pandas
In [26]:
data = pandas.read_csv('C:\\Users\\Andrey\\Desktop\\titanic.csv')
print (data)
In [51]:
guy=0
women=0
for index, row in data.iterrows():
row[4]=str(row[4])
if row[4]== "male":
guy=guy+1
else:
women=women+1
print(guy,',',women) #мужчины #женщины
In [28]:
servived=0
non_servived=0
doly=0
for index, row in data.iterrows():
row[1]=str(row[1])
if row[1]== "1":
servived=servived+1
else:
non_servived=non_servived+1
sum=servived+non_servived
percent=round((servived*100)/sum)
print(percent) #выжившие
In [72]:
class1=0
class2=0
class3=0
class4=0
sum=0
doly=0
for index, row in data.iterrows():
row[2]=str(row[2])
if row[2]== "1":
class1=class1+1
if row[2]== "2":
class2=class2+1
if row[2]== "3":
class3=class3+1
if row[2]== "4":
class4=class4+1
sum=class1+class2+class3+class4
doly= round(class1*(100/sum),2)
print(doly) #доля первого класса
In [189]:
survived=0
notsurvived=0
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
import pandas
data = pandas.read_csv('C:\\Users\\Andrey\\Desktop\\titanic.csv')
for index, row in data.iterrows():
plt.plot(row[5], row[6], 'ro')
row[1]=str(row[1])
if row[1]== "1":
survived=survived+1
else:
notsurvived=notsurvived+1
plt.grid(True)
plt.xlabel(u'Возраст')
plt.ylabel(u'Шлюпка')
plt.title(u'Рассадка пассажиров по шлюпкам')
plt.show()
sum=survived+notsurvived
percent1=((survived*100)/sum)
percent2=100-percent1
print("Выжило = ",percent1,"%", "Кол-во", survived)
print("Не выжило = ",percent2,"%", "Кол-во",notsurvived)
In [22]:
b=data['Age'].mean() #среднее
m=data['Age'].median() #медиана
print(round(b,2), m)
In [188]:
import pandas
import math
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
data = pandas.read_csv('C:\\Users\\Andrey\\Desktop\\titanic.csv')
data.corr()
Out[188]:
Нам необходимо построить классификатор Decision Trees
.
In [2]:
import numpy as np
import pandas as pd
In [6]:
from numpy import *
from sklearn.tree import DecisionTreeClassifier
data = pd.read_csv('C:\\tias\\titanic_1\\titanic.csv', index_col='PassengerId')
main_data_frame = pd.DataFrame(data=data, columns=['Pclass', 'Fare', 'Age', 'Sex', 'Survived'])
main_data_frame = main_data_frame[["Pclass", "Fare", "Age", "Sex", "Survived"]].dropna() #очищаем от Nano(в)
output = main_data_frame[["Pclass", "Fare", "Age", "Sex"]].replace("female",0).replace("male",1)
clf = DecisionTreeClassifier(random_state=241)
Y = main_data_frame['Survived']
X = output
print(X.columns)
clf.fit(X, Y)
print(clf.feature_importances_)