39 KiB
39 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."
Downloading dataset from Kaggle... /bin/bash: kaggle: command not found 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."
Unzipping archive 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')
data.shape
(831, 16)
data.median()
IMDB_Rating 7.9 No_of_Votes 186734.0 Gross 23530892.0 dtype: float64
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, 16) (115, 16) (115, 16)
data_test.size/data_train.size
0.1913477537437604
data_train.describe(include="all")
Poster_Link | Series_Title | Released_Year | Certificate | Runtime | Genre | IMDB_Rating | Overview | Meta_score | Director | Star1 | Star2 | Star3 | Star4 | No_of_Votes | Gross | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | 601 | 601 | 601 | 601 | 601 | 601 | 601.000000 | 601 | 601 | 601 | 601 | 601 | 601 | 601 | 6.010000e+02 | 6.010000e+02 |
unique | 601 | 601 | 90 | 13 | 121 | 162 | NaN | 601 | 59 | 378 | 438 | 530 | 556 | 577 | NaN | NaN |
top | https://m.media-amazon.com/images/M/MV5BNGYyZG... | what ever happened to baby jane? | 2014 | U | 101 min | drama | NaN | A few friends have a weekly fools' dinner, whe... | martin scorsese | clint eastwood | emma watson | joe pesci | michael caine | NaN | NaN | |
freq | 1 | 1 | 22 | 143 | 17 | 53 | NaN | 1 | 53 | 10 | 10 | 5 | 4 | 4 | NaN | NaN |
mean | NaN | NaN | NaN | NaN | NaN | NaN | 7.947920 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3.174649e+05 | 6.775699e+07 |
std | NaN | NaN | NaN | NaN | NaN | NaN | 0.280238 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 3.407094e+05 | 1.095511e+08 |
min | NaN | NaN | NaN | NaN | NaN | NaN | 7.600000 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 2.508800e+04 | 1.305000e+03 |
25% | NaN | NaN | NaN | NaN | NaN | NaN | 7.700000 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 6.846300e+04 | 3.151130e+06 |
50% | NaN | NaN | NaN | NaN | NaN | NaN | 7.900000 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 1.897160e+05 | 2.365000e+07 |
75% | NaN | NaN | NaN | NaN | NaN | NaN | 8.100000 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 4.622520e+05 | 7.891296e+07 |
max | NaN | NaN | NaN | NaN | NaN | NaN | 9.200000 | NaN | 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 | 200 | 200 | 200 | 200 | 200 | 200.000000 | 200 | 200 | 200 | 200 | 200 | 200 | 2.000000e+02 | 1.600000e+02 |
unique | 200 | 75 | 10 | 88 | 98 | NaN | 49 | 162 | 172 | 192 | 197 | 198 | NaN | NaN |
top | in america | 2003 | A | 118 min | drama | NaN | woody allen | humphrey bogart | robert downey jr. | lea thompson | mark ruffalo | NaN | NaN | |
freq | 1 | 6 | 48 | 7 | 23 | NaN | 30 | 5 | 4 | 2 | 2 | 2 | NaN | NaN |
mean | NaN | NaN | NaN | NaN | NaN | 7.949500 | NaN | NaN | NaN | NaN | NaN | NaN | 2.826230e+05 | 7.249570e+07 |
std | NaN | NaN | NaN | NaN | NaN | 0.290381 | NaN | NaN | NaN | NaN | NaN | NaN | 3.501372e+05 | 1.224538e+08 |
min | NaN | NaN | NaN | NaN | NaN | 7.600000 | NaN | NaN | NaN | NaN | NaN | NaN | 2.519800e+04 | 6.013000e+03 |
25% | NaN | NaN | NaN | NaN | NaN | 7.700000 | NaN | NaN | NaN | NaN | NaN | NaN | 5.038950e+04 | 3.786699e+06 |
50% | NaN | NaN | NaN | NaN | NaN | 7.900000 | NaN | NaN | NaN | NaN | NaN | NaN | 1.354640e+05 | 2.325044e+07 |
75% | NaN | NaN | NaN | NaN | NaN | 8.100000 | NaN | NaN | NaN | NaN | NaN | NaN | 3.851505e+05 | 7.603522e+07 |
max | NaN | NaN | NaN | NaN | NaN | 9.000000 | NaN | NaN | NaN | NaN | NaN | NaN | 2.303232e+06 | 8.583730e+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 | 200 | 200 | 200 | 200 | 200 | 200.000000 | 200 | 200 | 200 | 200 | 200 | 200 | 2.000000e+02 | 1.660000e+02 |
unique | 200 | 70 | 10 | 89 | 91 | NaN | 47 | 162 | 176 | 191 | 195 | 199 | NaN | NaN |
top | clerks | 2014 | U | 106 min | drama | NaN | steven spielberg | toshirô mifune | ed harris | frances mcdormand | lucy liu | NaN | NaN | |
freq | 1 | 11 | 57 | 6 | 17 | NaN | 39 | 6 | 4 | 3 | 3 | 2 | NaN | NaN |
mean | NaN | NaN | NaN | NaN | NaN | 7.955500 | NaN | NaN | NaN | NaN | NaN | NaN | 2.563293e+05 | 6.607024e+07 |
std | NaN | NaN | NaN | NaN | NaN | 0.279931 | NaN | NaN | NaN | NaN | NaN | NaN | 3.208478e+05 | 1.035885e+08 |
min | NaN | NaN | NaN | NaN | NaN | 7.600000 | NaN | NaN | NaN | NaN | NaN | NaN | 2.593800e+04 | 6.460000e+03 |
25% | NaN | NaN | NaN | NaN | NaN | 7.700000 | NaN | NaN | NaN | NaN | NaN | NaN | 5.946375e+04 | 3.392077e+06 |
50% | NaN | NaN | NaN | NaN | NaN | 7.900000 | NaN | NaN | NaN | NaN | NaN | NaN | 1.256995e+05 | 2.249226e+07 |
75% | NaN | NaN | NaN | NaN | NaN | 8.100000 | NaN | NaN | NaN | NaN | NaN | NaN | 3.365100e+05 | 7.597351e+07 |
max | NaN | NaN | NaN | NaN | NaN | 9.300000 | NaN | NaN | NaN | NaN | NaN | NaN | 2.343110e+06 | 6.085817e+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)