perezcatriel commited on
Commit
74b1fdc
·
1 Parent(s): 5788134

spot youtube

Browse files
Files changed (4) hide show
  1. ML/dataset_modelo_1.csv +0 -0
  2. ML/salary.py +5 -2
  3. ML/skill_top.py +26 -9
  4. app.py +41 -1
ML/dataset_modelo_1.csv ADDED
The diff for this file is too large to render. See raw diff
 
ML/salary.py CHANGED
@@ -7,10 +7,14 @@ from sklearn.ensemble import RandomForestRegressor
7
  df = pd.read_csv('./ds_salaries.csv')
8
  df = df[['company_location', 'salary_in_usd']]
9
 
 
10
  # Codificar las ubicaciones de las empresas
11
  le = LabelEncoder()
12
  df['company_location'] = le.fit_transform(df['company_location'])
13
 
 
 
 
14
  # Separar los datos de entrada y salida
15
  X = df.iloc[:, :-1].values
16
  y = df.iloc[:, -1].values
@@ -25,8 +29,7 @@ predicted_salaries = model.predict(locations.reshape(-1, 1))
25
  results_df = pd.DataFrame({'company_location': locations, 'predicted_salary': predicted_salaries})
26
 
27
  # Decodificar las ubicaciones de las empresas
28
- decoded_locations = le.inverse_transform(locations)
29
- results_df['company_location'] = decoded_locations
30
 
31
  # Ordenar los resultados por salario predicho
32
  results_df = results_df.sort_values('predicted_salary', ascending=False).reset_index(drop=True)
 
7
  df = pd.read_csv('./ds_salaries.csv')
8
  df = df[['company_location', 'salary_in_usd']]
9
 
10
+
11
  # Codificar las ubicaciones de las empresas
12
  le = LabelEncoder()
13
  df['company_location'] = le.fit_transform(df['company_location'])
14
 
15
+ # Decodificar las ubicaciones de las empresas
16
+ decoded_locations = le.inverse_transform(df['company_location'].unique())
17
+
18
  # Separar los datos de entrada y salida
19
  X = df.iloc[:, :-1].values
20
  y = df.iloc[:, -1].values
 
29
  results_df = pd.DataFrame({'company_location': locations, 'predicted_salary': predicted_salaries})
30
 
31
  # Decodificar las ubicaciones de las empresas
32
+ results_df['company_location'] = le.inverse_transform(results_df['company_location'])
 
33
 
34
  # Ordenar los resultados por salario predicho
35
  results_df = results_df.sort_values('predicted_salary', ascending=False).reset_index(drop=True)
ML/skill_top.py CHANGED
@@ -4,7 +4,7 @@ from sklearn.feature_extraction.text import CountVectorizer
4
  from sklearn.naive_bayes import MultinomialNB
5
 
6
  # Cargar los datos
7
- df = pd.read_csv('../assets/dataset_modelo_1.csv')
8
 
9
  # Crear una lista con todas las skills disponibles
10
  all_skills = set()
@@ -47,13 +47,30 @@ def get_top_skills(title, limit):
47
  skill_freq_dict = dict(zip(skill_names, skill_frequencies))
48
 
49
  # Ordenar las habilidades por frecuencia descendente y devolver las más importantes (según el límite dado)
50
- top_skills = sorted(skill_freq_dict, key=skill_freq_dict.get,
51
- reverse=True)[:limit]
52
- return top_skills
 
 
 
 
 
53
 
54
  if title:
55
- limit = st.number_input("Cantidad de habilidades a mostrar", value=5, min_value=1, max_value=len(all_skills))
56
- top_skills = get_top_skills(title, limit)
57
- st.write(f"Las {limit} habilidades más importantes para el trabajo de '{title}' son:")
58
- for skill in top_skills:
59
- st.write(f"- {skill}")
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  from sklearn.naive_bayes import MultinomialNB
5
 
6
  # Cargar los datos
7
+ df = pd.read_csv('./dataset_modelo_1.csv')
8
 
9
  # Crear una lista con todas las skills disponibles
10
  all_skills = set()
 
47
  skill_freq_dict = dict(zip(skill_names, skill_frequencies))
48
 
49
  # Ordenar las habilidades por frecuencia descendente y devolver las más importantes (según el límite dado)
50
+ top_skills_high = sorted(skill_freq_dict, key=skill_freq_dict.get,
51
+ reverse=True)[:limit]
52
+
53
+ # Ordenar las habilidades por frecuencia ascendente y devolver las menos importantes (según el límite dado)
54
+ top_skills_low = sorted(skill_freq_dict, key=skill_freq_dict.get)[:limit]
55
+
56
+ return top_skills_high, top_skills_low
57
+
58
 
59
  if title:
60
+ limit = st.number_input("Cantidad de habilidades a mostrar", value=5,
61
+ min_value=1, max_value=len(all_skills))
62
+ top_skills_high, top_skills_low = get_top_skills(title, limit)
63
+
64
+ col1, col2 = st.columns(2)
65
+
66
+ with col1:
67
+ st.write(
68
+ f"Las {limit} habilidades más importantes para el trabajo de '{title}' son:")
69
+ for skill in top_skills_high:
70
+ st.write(f"- {skill}")
71
+
72
+ with col2:
73
+ st.write(
74
+ f"Las {limit} habilidades menos importantes para el trabajo de '{title}' son:")
75
+ for skill in top_skills_low:
76
+ st.write(f"- {skill}")
app.py CHANGED
@@ -6,6 +6,7 @@ import pandas as pd
6
  import streamlit as st
7
  from PIL import Image
8
  from sklearn.linear_model import LinearRegression
 
9
  from streamlit_option_menu import option_menu
10
 
11
  # from streamlit.components.v1 import IFrame
@@ -94,6 +95,42 @@ if selected2 == "Home":
94
  ''', unsafe_allow_html=True)
95
  st.image(scrum)
96
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  # st.image(logo, width=700)
98
  st.markdown('''
99
  <br>
@@ -136,7 +173,7 @@ if selected2 == "Home":
136
  <hr>
137
  """, unsafe_allow_html=True)
138
 
139
- col1, col2, col3 = st.columns(3)
140
  col1.markdown("""
141
  <a href="https://github.com/LRascon/data_world_jobs">Github</a>
142
  """, unsafe_allow_html=True)
@@ -148,6 +185,9 @@ if selected2 == "Home":
148
  /DashboardVistazoelMercadoActual?:language=es-ES&publish=yes
149
  &:display_count=n&:origin=viz_share_link">Tableau</a>
150
  """, unsafe_allow_html=True)
 
 
 
151
 
152
  # Pagina Projects
153
  if selected2 == "Análisis":
 
6
  import streamlit as st
7
  from PIL import Image
8
  from sklearn.linear_model import LinearRegression
9
+ from streamlit.components.v1 import components
10
  from streamlit_option_menu import option_menu
11
 
12
  # from streamlit.components.v1 import IFrame
 
95
  ''', unsafe_allow_html=True)
96
  st.image(scrum)
97
 
98
+ #####
99
+ st.markdown("""
100
+ <br>
101
+ <h3>LatamBrain - Spot</h3>
102
+ <hr>
103
+ """, unsafe_allow_html=True)
104
+
105
+
106
+ VIDEO_ID = "VIDEO_ID"
107
+
108
+ # Genera el código HTML del iframe
109
+ html = f"""
110
+ <div >
111
+ <iframe
112
+ style="height:200px;width
113
+ :700px"
114
+ width="530"
115
+ height="360"
116
+ src="https://www.youtube.com/embed/G8PdiAwhbNM"
117
+ title="LatamBrain - Spot"
118
+ frameborder="0"
119
+ allow="accelerometer; autoplay; clipboard-write;
120
+ encrypted-media; gyroscope;
121
+ picture-in-picture; web-share"
122
+ allowfullscreen
123
+ >
124
+ </iframe>
125
+ </div>
126
+
127
+ """
128
+
129
+ # Inserta el iframe en la aplicación de Streamlit
130
+ st.components.v1.html(html)
131
+
132
+ #####
133
+
134
  # st.image(logo, width=700)
135
  st.markdown('''
136
  <br>
 
173
  <hr>
174
  """, unsafe_allow_html=True)
175
 
176
+ col1, col2, col3, col4 = st.columns(4)
177
  col1.markdown("""
178
  <a href="https://github.com/LRascon/data_world_jobs">Github</a>
179
  """, unsafe_allow_html=True)
 
185
  /DashboardVistazoelMercadoActual?:language=es-ES&publish=yes
186
  &:display_count=n&:origin=viz_share_link">Tableau</a>
187
  """, unsafe_allow_html=True)
188
+ col4.markdown("""
189
+ <a href="https://www.youtube.com/watch?v=G8PdiAwhbNM">YouTube</a>
190
+ """, unsafe_allow_html=True)
191
 
192
  # Pagina Projects
193
  if selected2 == "Análisis":