top of page

Prevedere i profitti delle startup

In questo articolo, entreremo nel mondo emozionante delle startup, dove prevedere il profitto è fondamentale per il successo. Utilizzeremo un set di dati di 50 startup per analizzare le loro variabili e utilizzeremo il concetto di regressione lineare multipla per prevedere il profitto delle aziende startup. Immagina di poter prevedere con precisione il successo di una startup prima ancora che abbia iniziato a generare profitti.


In questo articolo, scoprirai come fare proprio questo! Attraverso l'analisi dei dati e l'utilizzo di tecniche avanzate di previsione, scoprirai come prevedere il successo delle startup e come utilizzare queste informazioni a tuo vantaggio. Non perdere questa occasione unica di entrare nel mondo delle startup e imparare a prevedere il loro successo!


Come funzionano le startup?

Le startup sono come un'avventura in un mondo sconosciuto, dove l'innovazione e il rischio sono all'ordine del giorno. Come funzionano esattamente? Bene, possiamo dire che la pipeline delle startup opera seguendo principi simili a quelli delle grandi multinazionali, ma con una differenza fondamentale: mentre le grandi aziende lavorano per migliorare prodotti già esistenti, le startup hanno come obiettivo quello di creare qualcosa di nuovo e di vantaggioso. Questo è ciò che rende le startup così emozionanti e imprevedibili, non sai mai cosa potresti scoprire o creare. Ti immagini di essere tra i primi a scoprire il prossimo successo della startup? Con questo articolo, scoprirai come funzionano le startup e come utilizzare queste informazioni a tuo vantaggio!


Come vengono finanziate le startup?

Le startup sono come una corsa contro il tempo, dove ogni giorno è una sfida per ottenere il finanziamento necessario per far decollare l'idea. Ma come vengono effettivamente finanziate queste aziende? Come ho accennato in precedenza, le startup non sono aziende stabili dal punto di vista economico, quindi non è facile trovare investitori disposti a scommettere su di loro. Ma non disperare! Ci sono molti modi per finanziare una startup, dai finanziamenti iniziali ai round di finanziamento successivi.


In poche parole, le startup cercano di trovare investitori che credono nella loro idea e che vogliono aiutarli a trasformarla in realtà, in cambio di una quota del futuro profitto.

In questo articolo, esploreremo i vari modi in cui le startup vengono finanziate e ti mostreremo come analizzare e trarre profitto dagli investimenti in startup.


Abbiamo bisogno di un modo in cui possiamo analizzare le nostre spese per le startup e quindi conoscerne un profitto!


Prevedere i profitti delle startup
Prevedere i profitti delle startup

In che modo questo modello può aiutare?

Il modello di apprendimento automatico può aiutare a prevedere i profitti delle startup analizzando il set di dati di 50 aziende e fornendo previsioni accurate in base alle spese sostenute. Questo strumento ci permette di avere una panoramica completa del mercato e di prendere decisioni informate per aumentare i profitti.


Informazioni sul set di dati delle 50 startup

Questo particolare set di dati contiene i dati di 50 startup a New York, California e Florida. Le funzionalità in questo set di dati sono la spesa in ricerca e sviluppo, la spesa amministrativa, la spesa di marketing e le funzionalità di localizzazione, mentre la variabile target è: profitto. – Fonte .

  1. Spesa in ricerca e sviluppo: l'importo che stanno spendendo in ricerca e sviluppo.

  2. Spesa amministrativa: l'importo che stanno spendendo per l'amministrazione.

  3. Spesa di marketing: l'importo che stanno spendendo per le strategie di marketing.

  4. Stato: a quale stato appartiene quella particolare startup.

  5. Profitto: Quanto profitto sta facendo quella particolare startup.


Differenza tra regressione lineare e regressione lineare multipla

La principale differenza tra la regressione lineare e la regressione lineare multipla è che nella regressione lineare c'è solo una variabile indipendente mentre quando controlliamo, Regressione lineare multipla c'è più di una variabile indipendente.

Facciamo un esempio di entrambi gli scenari
  1. 1. Regressione lineare: quando vogliamo prevedere l'altezza di una persona in particolare solo dal peso di quella persona.

  2. 2. Regressione lineare multipla: se modifichiamo l'affermazione del problema di cui sopra solo un po', se abbiamo le caratteristiche come altezza, età e sesso della persona e dobbiamo prevedere il peso della persona, allora dobbiamo usare il concetto di regressione lineare multipla.


Prevedere i profitti delle startup
Prevedere i profitti delle startup

Prevedere i profitti delle startup utilizzando Python

Ti ricordiamo che adesso seguiranno una serie di codici e spiegazioni che potrai successivamente scaricare alla fine dell'articolo. Iniziamo. Scarica il dataset e crea un nuovo file o notebook python. Importiamo le librerie e carichiamo il datatset :


startup
.csv
Download CSV • 2KB

Alla fine dell'articolo puoi scaricare tutto il progetto completo.


import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

dataset = pd.read_csv('startup.csv')
print(dataset.head())




Analisi numerica/statistica del dataset

dataset.describe()

Produzione:



Dimensioni del set di dati

print('Ci sono ',dataset.shape[0],'righe e ',dataset.shape[1],'colonne nel dataset.')

Produzione:

Ci sono 50 righe e 5 colonne nel set di dati.


Qui stiamo cercando di verificare se ci sono valori ripetuti nel set di dati o meno.

print('Ci sono',dataset.duplicated().sum(),' valori duplicati.') 

Produzione:

Non sono presenti valori ripetuti nel set di dati.


Controlla i valori NULL

dataset.isnull().sum()

Produzione:

Spesa in ricerca e sviluppo 0 
Amministrazione 0 Spesa in 
marketing 0 
Stato 0 
Profitto 0 
dtype: int64


Schema del set di dati

dataset.info()

Produzione:

RangeIndex: 50 voci, da 0 a 49 colonne di 
dati (5 colonne in totale): 
 # Column Conteggio non nullo Dtype   
--- ------ -------------- ---- -   
 0 Spesa R&S 50 float non nullo64 
 ​​1 Amministrazione 50 float non nullo64 
 ​​2 Spesa di marketing 50 float non nullo64 
 ​​3 Stato 50 oggetto non nullo 
 4 Profitto 50 float64 non nullo 
dtypes: float64(4), object(1) 
memoria utilizzo: 2.1+ KB

Dalla funzione corr possiamo trovare la correlazione tra le colonne.

c = dataset.corr()
c

Produzione:

Possiamo vedere che tutte e tre le colonne hanno una relazione diretta con il profit , che è la nostra variabile target.



EDA sul set di dati dei profitti delle startup


Matrice di correlazione

sns.heatmap(c,annot=True,cmap='Blues')
plt.show()

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

Qui possiamo vedere la correlazione diretta con il profitto da come viene mostrata nella heatmap del grafico di correlazione.



Rilevamento dei valori anomali nella variabile target

 outliers = ['Profit']
plt.rcParams['figure.figsize'] = [8,8]
sns.boxplot(data=dataset[outliers], orient="v", palette="Set2" , width=0.7) # orient = "v" : vertical boxplot , 
                                                                            # orient = "h" : hotrizontal boxplot
plt.title("Outliers Variable Distribution")
plt.ylabel("Profit Range")
plt.xlabel("Continuous Variable")

plt.show()

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

Guardando il boxplot possiamo vedere i valori anomali in profit(target variable) , ma la quantità di dati non è molto (solo 50 voci) quindi non creerà un impatto molto negativo.



Rilevamento dei valori anomali a livello di stato

sns.boxplot(x = 'State', y = 'Profit', data = dataset)
plt.show()

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

1. Tutti i valori anomali presentati si trovano a New York.

2. Le startup situate in California possiamo vedere i massimi profitti e le massime perdite.



Istogramma sul profitto

sns.distplot(dataset['Profit'],bins=5,kde=True)
plt.show()

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

Il profitto medio (che è 100k) è il più frequente, cioè dovrebbe rientrare nella categoria del diagramma di distribuzione.



Trama di coppia o pairplot

sns.pairplot(set di dati) 
plt.show()

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

  • 1. Come possiamo vedere nel pair pot, Ricerca e sviluppo sono direttamente proporzionali all'investimento che possiamo fare.

  • 2. La spesa di marketing sembra essere direttamente proporzionale (sebbene ci siano alcuni valori anomali) con il profitto.

  • 3. Non esiste alcuna relazione tra la seconda colonna e il profitto, ovvero la nostra colonna di destinazione.



Sviluppo del modello per prevedere i profitti delle startup


# suddivisione del set di dati in variabili dipendenti e indipendenti 
X = dataset.iloc[:, :-1].values
y = dataset.iloc[:, 4].values


Codificatore di etichette

Label Encoder: codifica le etichette con valori compresi tra 0 e n_classes-1.

labelencoder = LabelEncoder()
X[:, 3] = labelencoder.fit_transform(X[:, 3])
X1 = pd.DataFrame(X)
X1.head()

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

Ora dobbiamo suddividere i dati in dati di addestramento e test

from sklearn.model_selection import train_test_split

x_train,x_test,y_train,y_test = train_test_split(X,y,train_size=0.7,random_state=0)
x_train

Produzione:

array([[130298.13, 145530.06, 323876.68, 1], 
       [119943.24, 156547.42, 256512.92, 1], 
       [1000.23, 124153.04, 1903.93, 2], 
       [542.05, 51743.15, 0.0, 2], 
       [65605.48, 153032.06, 107138.38, 2], 
       [114523.61, 122616.84, 261776.23, 2], 
       [61994.48, 115641.28, 91131.24, 1], 
       [63408.86, 129219.61, 46085.25, 0], 
       [78013.11, 121597.55, 264346.06, 0], 
       [23640.93, 96189.63, 148001.11, 0], 
       [76253.86, 113867.3, 298664.47, 0], 
       [15505.73, 127382.3, 35534.17, 2], 
       [120542.52, 148718.95, 311613.29, 2], 
       [91992.39, 135495.07, 252664.93, 0], 
       [64664.71, 139553.16, 137962.62, 0],
       [131876.9, 99814.71, 362861.36, 2], 
       [94657.16, 145077.58, 282574.31, 2], 
       [28754.33, 118546.05, 172795.67, 0], 
       [0,0, 11693.8, 4517.06 
       , 0]. 
       [93863.75, 127320.38, 249839.44, 1], 
       [44069.95, 51283.14, 197029.42, 0], 
       [77044.01, 99281.34, 140574.81, 2], 
       [134615.46, 147198.87, 127716.82, 0], 
       [67532.53, 105751.03, 304768.73, 1], 
       [28663.76, 127056.21, 201126.82, 1], 
       [78389.47, 153773.43, 299737.29, 2], 
       [86419.7, 153514.11, 0.0, 2], 
       [123334.88, 108679.17, 304981.62, 0], 
       [38558.51, 82982.09, 174999.3, 0],
       [1315.46, 115816.21, 297114.46, 1], 
       [144372.41, 118671.85, 383199.62, 2], 
       [165349.2, 136897.8, 471784.1, 2], 
       [0.0, 135426.92, 0.0, 0], 
       [22177.74, 154806.14, 28334.72, 0]] , dtype=oggetto)

Ora definiamo il modello

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(x_train,y_train)
print('Modello allenato con successo')

Produzione:

Il modello è stato addestrato correttamente

Testare il modello utilizzando la funzione di previsione

y_pred = model.predict(x_test)
y_pred

Produzione:

array([104055.1842384 , 132557.60289702, 133633.01284474, 72336.28081054, 
       179658.27210893, 114689.63133397, 66514.82249033, 98461.69321326, 
       114294.70487032, 169090.51127461, 96281.907934 , 88108.30057881, 
       110687.1172322 , 90536.34203081, 127785.3793861 ])


Punteggi dei test

testing_data_model_score = model.score(x_test, y_test)
print("Model Score/Performance sui Testing data",testing_data_model_score)

training_data_model_score = model.score(x_train, y_train)
print("Model Score/Performance sui Training data",training_data_model_score)

Produzione:

Model Score/Performance sui Testing data 0.9355139722149947 
Model Score/Performance sui Training data 0.9515496105627431

Confronto tra valori previsti e valori effettivi

df = pd.DataFrame(data={'Predicted value':y_pred.flatten(),'Actual Value':y_test.flatten()})
df

Produzione:

Prevedere i profitti delle startup
Prevedere i profitti delle startup

Come possiamo vedere che il valore previsto è vicino ai valori effettivi cioè quello presente nel set di test, quindi possiamo usare questo modello per la previsione . Ma prima, dobbiamo calcolare quanto viene generato l'errore.





Valutazione del modello


1. Punteggio R2. È uno degli approcci statistici con cui possiamo trovare la varianza o la diffusione dei dati target e feature.

from sklearn.metrics import r2_score

r2Score = r2_score(y_pred, y_test)
print("R2 score of model is :" ,r2Score*100)

Produzione:

Il punteggio R2 del modello è: 93.39448007716636

 

2. MSE: Usando questo approccio possiamo scoprire quanto la linea di best fit della regressione è vicina a tutto il residuo.

from sklearn.metrics import mean_squared_error

mse = mean_squared_error(y_pred, y_test)
print("Mean Squarred Error is :" ,mse*100)

Produzione:

L'errore quadratico medio è: 6224496238,94644

 

3. RMSE: Questo è simile all'approccio dell'errore quadratico medio (MSE), l'unica differenza è che qui troviamo la radice dell'errore quadratico medio, cioè la radice dell'errore quadratico medio è uguale all'errore quadratico medio. Il motivo per trovare la radice è trovare il residuo più vicino ai valori trovati dall'errore quadratico medio.

rmse = np.sqrt(mean_squared_error(y_pred, y_test))
print("Root Mean Squarred Error is : ",rmse*100)

Produzione:

L'errore quadratico medio della radice è: 788954.7666974603

 

4. MAE:Errore assoluto medio . Utilizzando questo approccio possiamo trovare la differenza tra i valori effettivi ei valori previsti, ma tale differenza è assoluta, ovvero la differenza è positiva.


from sklearn.metrics import mean_absolute_error

mae = mean_absolute_error(y_pred,y_test)
print("Mean Absolute Error is :" ,mae)

Produzione:

L'errore assoluto medio è: 6503.5



Conclusione sulla previsione dei profitti delle startup

Quindi, l'errore assoluto medio è 6503.5 . Pertanto il nostro valore previsto può essere 6503 unità in più o in meno rispetto al valore effettivo.

Ok, non male !


Grazie per aver letto il mio articolo

Spero che vi piaccia questo apprendimento passo dopo passo della previsione dei profitti della startup utilizzando l'apprendimento automatico. Buon apprendimento!




PCR (5).gif
PCR (4).gif
PCR.gif
PCR.gif
PCR.gif
PCR.gif
PCR (5).gif
3.gif
Vediamo se riesci a cliccarmi ! Nascondo una Sorpresa... (2).png

Ciao 

🤗 Articoli consigliati dalla nostra
Intelligenza Artificiale in base ai tuoi interessi

Correlazione Alta

Correlazione Media

Correlazione Bassa

Iscriviti

VUOI DIVENTARE UN MEMBRO DI INTELLIGENZA ARTIFICIALE ITALIA GRATUITAMENTE E TRARNE I SEGUENTI BENEFICI?

Corsi Gratis

più di 150 lezioni online

Dataset Gratis

più di 150o dataset

Ebook Gratis

più di 10 libri da leggere

Editor Gratis

un editor python online

Progetti Gratis

più di 25 progetti python

App Gratis

4 servizi web con I.A.

Unisciti Ora a oltre
1.000.000
di lettori e appassionanti d'I.A.

Tutto ciò che riguarda l'intelligenza Artificiale, in unico posto, in italiano e gratis.

MEGLIO DI COSI' NON SI PUO' FARE

Dopo l'iscrizione riceverai diversi Regali

VUOI SCRIVERE ARTICOLI INSIEME A NOI.

Grazie

bottom of page