46 KiB
46 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
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"])
#Wielkosc zbioru
!wc -l imdb_top_1000.csv
1001 imdb_top_1000.csv
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 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000.000000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1.000000e+03 | 8.310000e+02 |
unique | 999 | 100 | 17 | 140 | 202 | NaN | 64 | 548 | 660 | 841 | 891 | 939 | NaN | NaN |
top | drishyam | 2014 | U | 130 min | drama | NaN | alfred hitchcock | tom hanks | emma watson | rupert grint | michael caine | NaN | NaN | |
freq | 2 | 32 | 234 | 23 | 85 | NaN | 157 | 14 | 12 | 7 | 5 | 4 | NaN | NaN |
mean | NaN | NaN | NaN | NaN | NaN | 7.949300 | NaN | NaN | NaN | NaN | NaN | NaN | 2.736929e+05 | 6.803475e+07 |
std | NaN | NaN | NaN | NaN | NaN | 0.275491 | NaN | NaN | NaN | NaN | NaN | NaN | 3.273727e+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 | 5.552625e+04 | 3.253559e+06 |
50% | NaN | NaN | NaN | NaN | NaN | 7.900000 | NaN | NaN | NaN | NaN | NaN | NaN | 1.385485e+05 | 2.353089e+07 |
75% | NaN | NaN | NaN | NaN | NaN | 8.100000 | NaN | NaN | NaN | NaN | NaN | NaN | 3.741612e+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 138548.5 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=400, random_state=1)
data_test, data_dev = train_test_split(data_test, test_size=200, random_state=1)
print(data_train.shape)
print(data_test.shape)
print(data_dev.shape)
(600, 14) (200, 14) (200, 14)
data_test.size/data_train.size
0.3333333333333333
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 | 600 | 600 | 600 | 600 | 600 | 600.000000 | 600 | 600 | 600 | 600 | 600 | 600 | 6.000000e+02 | 5.050000e+02 |
unique | 599 | 95 | 17 | 122 | 163 | NaN | 61 | 399 | 448 | 535 | 545 | 580 | NaN | NaN |
top | drishyam | 2004 | U | 130 min | drama | NaN | david fincher | robert de niro | emma watson | rupert grint | michael caine | NaN | NaN | |
freq | 2 | 22 | 133 | 17 | 45 | NaN | 88 | 8 | 8 | 6 | 4 | 3 | NaN | NaN |
mean | NaN | NaN | NaN | NaN | NaN | 7.947167 | NaN | NaN | NaN | NaN | NaN | NaN | 2.765041e+05 | 6.726714e+07 |
std | NaN | NaN | NaN | NaN | NaN | 0.269282 | NaN | NaN | NaN | NaN | NaN | NaN | 3.219888e+05 | 1.076309e+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 | 5.705600e+04 | 3.108485e+06 |
50% | NaN | NaN | NaN | NaN | NaN | 7.900000 | NaN | NaN | NaN | NaN | NaN | NaN | 1.414865e+05 | 2.447542e+07 |
75% | NaN | NaN | NaN | NaN | NaN | 8.100000 | NaN | NaN | NaN | NaN | NaN | NaN | 3.907975e+05 | 8.340000e+07 |
max | NaN | NaN | NaN | NaN | NaN | 9.200000 | NaN | NaN | NaN | NaN | NaN | NaN | 1.854740e+06 | 9.366622e+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("crime_test.csv", encoding="utf-8", index=False)
data_dev.to_csv("crime_dev.csv", encoding="utf-8", index=False)
crime_train.to_csv("crime_train.csv", encoding="utf-8", index=False)