ECE241 Project 2 supplement
代做project | AI代做|project代写 | Python | 机器学习代写 | machine learning代写| 算法代写 – 这是一个AI面向对象设计的practice, 考察AI的理解, 是有一定代表意义的AI等代写方向, 该题目是值得借鉴的project代写的题目
Here are some additional hint and clarification for Project2.
- For this project, the main goal is to build an artist graph from the input file. So, it is not mandatory to have a SongLibrary or Song class. Since some students may need them, please submit all of them even you dont use them.
- In the Song class I provide, the following lines are designed for the project 1. You need to modify 5 to 6 in order to make it work for this project. Or you dont need to use that function. if len(tokens) != 5 : print(“incorrect song record”)
- For function find_new_friends(self), if should be find_new_friends(self, artist_name).
- Any function that is not required, such as generate_data, you can delete them or comment out. That is mainly from my own test.
- In the input data file, at the end of each line there is a \n. You need to remove it before parse the coArtists. Otherwise you will probably have Leon L AI and Leon Lai\n as two different artists. An easy way to do that is trim the string before you call the split. Like the following
string[:len(string)- 1 ].split(';')
- Here are some general information for the data, you are expected to get the same number using your code, otherwise you need to debug it. a. Total songs: 9709 (total lines in the input data) b. Total artist: 4394 (number of the vertices you need to make) c. Total edges: d. Total weights from the edges: If you encounter some differences about those numbers, you may think to limit the lines you read, like 200, to debug the code.
- Here are some examples for what you should get from each function a. artistGraph.search_artist(“Mariah Carey”) You should get the songs he wrote and his coArtist list as follows: (6, [‘Ana Popovic’, ‘Asleep At The Wheel’, ‘Backstreet Boys’, ‘Bob Wills’, ‘Gruppo Jazz Marca’,… …]
b. find_new_friends("Mariah Carey")
You should get a list of two hop neighbors like:
['A Tundra', 'Aaron Watson', 'Aftermath', 'Al Duvall', 'Alex', 'Alfredo Gutirrez', 'Alkonost', ... ... ,
'Winifred Phillips', 'YZ']
c. recommend_new_collaborator("Mariah Carey")
You should count the songs from the weights in 2 hops. For example, if Mariah
Carey is connected to AA with weight 3 and AA connected to BB with
weight 5. So the importance from Mariah Carey to BB is 3+5=8. If no one
have higher importance. You should return BB, 8 as results.
d. shortest_path("Mariah Carey")
You should return a Dictionary that contains all the other artists as key and value
as the path length to "Mariah Carey". The shortest distance distribution is like:
1
2
3
4
5
6
7
Which satisfy the Six degrees of separation very well.