ium_444018/lab2/script.ipynb
2022-03-31 21:28:00 +02:00

47 KiB

Skrypt do ściagnięcia zbiory danych

!pip install --user kaggle 
!pip install --user pandas
!pip install --user numpy
!pip install --user seaborn
!pip install -U scikit-learn
!echo "Downloading dataset from Kaggle..."
!kaggle datasets download -d harshitshankhdhar/imdb-dataset-of-top-1000-movies-and-tv-shows
!echo "Done."
!echo "Unzipping archive"
!files=$(unzip imdb-dataset-of-top-1000-movies-and-tv-shows.zip | tail -n +2 | cut -d ' ' -f 4)
!echo "Done."
import pandas as pd
import numpy as np
data=pd.read_csv('imdb_top_1000.csv')
# data
#Wielkosc zbioru
!wc -l imdb_top_1000.csv
1001 imdb_top_1000.csv

Usuwanie kolumn

  • Poster_Link: kolumna zawierająca linki do plakatów promujących film
  • Overview: kolumna zawierająca recenzje poszczególnych filmów
data.drop(columns=["Poster_Link"], inplace=True)
data.drop(columns=["Overview"], inplace=True)

# data
# Lowercase na polach tekstowych
data["Series_Title"] = data["Series_Title"].str.lower()
data["Genre"] = data["Genre"].str.lower()
data["Director"] = data["Director"].str.lower()
data["Star1"] = data["Star1"].str.lower()
data["Star2"] = data["Star2"].str.lower()
data["Star3"] = data["Star3"].str.lower()
data["Star4"] = data["Star4"].str.lower()

# Usunięcie Nan i string to int 
data = data.replace(np.nan, '', regex=True)
data["Gross"] = data["Gross"].str.replace(',', '')
data["Gross"] = pd.to_numeric(data["Gross"], errors='coerce')

data = data.dropna()
data.describe(include='all')
Series_Title Released_Year Certificate Runtime Genre IMDB_Rating Meta_score Director Star1 Star2 Star3 Star4 No_of_Votes Gross
count 831 831 831 831 831 831.000000 831 831 831 831 831 831 8.310000e+02 8.310000e+02
unique 831 95 14 133 182 NaN 64 472 556 704 737 782 NaN NaN
top a streetcar named desire 2014 U 101 min drama NaN steven spielberg tom hanks emma watson rupert grint michael caine NaN NaN
freq 1 31 200 21 75 NaN 81 13 12 7 5 4 NaN NaN
mean NaN NaN NaN NaN NaN 7.946931 NaN NaN NaN NaN NaN NaN 3.152499e+05 6.803475e+07
std NaN NaN NaN NaN NaN 0.283204 NaN NaN NaN NaN NaN NaN 3.436443e+05 1.097500e+08
min NaN NaN NaN NaN NaN 7.600000 NaN NaN NaN NaN NaN NaN 2.508800e+04 1.305000e+03
25% NaN NaN NaN NaN NaN 7.700000 NaN NaN NaN NaN NaN NaN 7.143000e+04 3.253559e+06
50% NaN NaN NaN NaN NaN 7.900000 NaN NaN NaN NaN NaN NaN 1.867340e+05 2.353089e+07
75% NaN NaN NaN NaN NaN 8.100000 NaN NaN NaN NaN NaN NaN 4.457210e+05 8.075089e+07
max NaN NaN NaN NaN NaN 9.300000 NaN NaN NaN NaN NaN NaN 2.343110e+06 9.366622e+08
data.median()
IMDB_Rating           7.9
No_of_Votes      186734.0
Gross          23530892.0
dtype: float64
data.shape
(831, 14)
from sklearn.model_selection import train_test_split
import sklearn

data_train, data_test = train_test_split(data, test_size=230, random_state=1)
data_test, data_dev = train_test_split(data_test, test_size=115, random_state=1)
print(data_train.shape)
print(data_test.shape)
print(data_dev.shape)
(601, 14)
(115, 14)
(115, 14)
data_test.size/data_train.size
0.1913477537437604
data_train.describe(include="all")
Series_Title Released_Year Certificate Runtime Genre IMDB_Rating Meta_score Director Star1 Star2 Star3 Star4 No_of_Votes Gross
count 601 601 601 601 601 601.000000 601 601 601 601 601 601 6.010000e+02 6.010000e+02
unique 601 90 13 121 162 NaN 59 378 438 530 556 577 NaN NaN
top what ever happened to baby jane? 2014 U 101 min drama NaN martin scorsese clint eastwood emma watson joe pesci michael caine NaN NaN
freq 1 22 143 17 53 NaN 53 10 10 5 4 4 NaN NaN
mean NaN NaN NaN NaN NaN 7.947920 NaN NaN NaN NaN NaN NaN 3.174649e+05 6.775699e+07
std NaN NaN NaN NaN NaN 0.280238 NaN NaN NaN NaN NaN NaN 3.407094e+05 1.095511e+08
min NaN NaN NaN NaN NaN 7.600000 NaN NaN NaN NaN NaN NaN 2.508800e+04 1.305000e+03
25% NaN NaN NaN NaN NaN 7.700000 NaN NaN NaN NaN NaN NaN 6.846300e+04 3.151130e+06
50% NaN NaN NaN NaN NaN 7.900000 NaN NaN NaN NaN NaN NaN 1.897160e+05 2.365000e+07
75% NaN NaN NaN NaN NaN 8.100000 NaN NaN NaN NaN NaN NaN 4.622520e+05 7.891296e+07
max NaN NaN NaN NaN NaN 9.200000 NaN NaN NaN NaN NaN NaN 2.303232e+06 8.583730e+08
data_test.describe(include="all")
Series_Title Released_Year Certificate Runtime Genre IMDB_Rating Meta_score Director Star1 Star2 Star3 Star4 No_of_Votes Gross
count 115 115 115 115 115 115.000000 115 115 115 115 115 115 1.150000e+02 1.150000e+02
unique 115 57 10 64 59 NaN 44 105 100 113 109 114 NaN NaN
top queen 2013 U 102 min drama NaN frank darabont al pacino emma watson carrie fisher lucy liu NaN NaN
freq 1 7 30 7 14 NaN 16 2 4 2 2 2 NaN NaN
mean NaN NaN NaN NaN NaN 7.947826 NaN NaN NaN NaN NaN NaN 3.140691e+05 6.622925e+07
std NaN NaN NaN NaN NaN 0.313259 NaN NaN NaN NaN NaN NaN 3.647432e+05 9.085320e+07
min NaN NaN NaN NaN NaN 7.600000 NaN NaN NaN NaN NaN NaN 2.669700e+04 1.095000e+04
25% NaN NaN NaN NaN NaN 7.700000 NaN NaN NaN NaN NaN NaN 7.206000e+04 4.232562e+06
50% NaN NaN NaN NaN NaN 7.900000 NaN NaN NaN NaN NaN NaN 1.654650e+05 2.602096e+07
75% NaN NaN NaN NaN NaN 8.100000 NaN NaN NaN NaN NaN NaN 4.268040e+05 7.556908e+07
max NaN NaN NaN NaN NaN 9.300000 NaN NaN NaN NaN NaN NaN 2.343110e+06 3.808433e+08
data_dev.describe(include="all")
Series_Title Released_Year Certificate Runtime Genre IMDB_Rating Meta_score Director Star1 Star2 Star3 Star4 No_of_Votes Gross
count 115 115 115 115 115 115.000000 115 115 115 115 115 115 1.150000e+02 1.150000e+02
unique 115 56 8 72 71 NaN 42 101 104 115 115 112 NaN NaN
top mr. smith goes to washington 2004 UA 120 min drama NaN billy wilder johnny depp charlize theron joel edgerton kevin bacon NaN NaN
freq 1 6 28 5 8 NaN 12 3 3 1 1 2 NaN NaN
mean NaN NaN NaN NaN NaN 7.940870 NaN NaN NaN NaN NaN NaN 3.048547e+05 7.129188e+07
std NaN NaN NaN NaN NaN 0.269143 NaN NaN NaN NaN NaN NaN 3.400764e+05 1.275242e+08
min NaN NaN NaN NaN NaN 7.600000 NaN NaN NaN NaN NaN NaN 2.522900e+04 3.600000e+03
25% NaN NaN NaN NaN NaN 7.700000 NaN NaN NaN NaN NaN NaN 8.123350e+04 3.425538e+06
50% NaN NaN NaN NaN NaN 7.900000 NaN NaN NaN NaN NaN NaN 1.820090e+05 2.018666e+07
75% NaN NaN NaN NaN NaN 8.100000 NaN NaN NaN NaN NaN NaN 4.148195e+05 8.406197e+07
max NaN NaN NaN NaN NaN 8.800000 NaN NaN NaN NaN NaN NaN 2.067042e+06 9.366622e+08
data_test.to_csv("data_test.csv", encoding="utf-8", index=False)
data_dev.to_csv("data_dev.csv", encoding="utf-8", index=False)
data_train.to_csv("data_train.csv", encoding="utf-8", index=False)